Merge remote-tracking branch 'origin/master'
# Conflicts:
# db/双林新火炬MES数据库设计.pdma.json
已添加11个文件
已修改48个文件
已删除2个文件
| | |
| | | "#DDE5FF" |
| | | ], |
| | | "DDLToggleCase": "L", |
| | | "menuWidth": "331px" |
| | | "menuWidth": "371px" |
| | | }, |
| | | "entities": [ |
| | | { |
| | |
| | | "extProps": {}, |
| | | "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", |
| | | "id": "2543E9E7-C40B-496B-AF48-D57B01A2B230" |
| | | }, |
| | | { |
| | | "defKey": "heat_treatment_flag", |
| | | "defName": "çå¤çæ è¯", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", |
| | | "id": "7CA68F5B-F30F-4F91-9BBF-1B9A741F44AF" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | |
| | | "id": "634556B3-6007-47EF-9E18-B2C20FC7ECDB" |
| | | }, |
| | | { |
| | | "defKey": "original_code", |
| | | "defName": "æ¥æºç¼ç ", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", |
| | | "id": "2F160696-FB4C-485A-A60F-A91604E95A9D" |
| | | }, |
| | | { |
| | | "defKey": "original_name", |
| | | "defName": "æ¥æºåç§°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "id": "837ABAD7-8529-40F0-99DB-88FC33B9339F" |
| | | }, |
| | | { |
| | | "defKey": "factory_id", |
| | | "defName": "产线ID", |
| | | "comment": "", |
| | |
| | | "id": "7ACEF784-3F6B-470B-8BA7-1E38C2125667" |
| | | }, |
| | | { |
| | | "defKey": "inbound_category", |
| | | "defName": "å
¥åºç±»å", |
| | | "comment": "ç©ææå¨ãç产ä¸çº¿ãçå¤çãå°å
åãè°æ¨", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "id": "E8325FFD-1C27-4AEB-BC00-F0FD0E1D370A" |
| | | }, |
| | | { |
| | | "defKey": "receiver", |
| | | "defName": "æ¥æ¶äºº", |
| | | "defName": "å
¥åºäºº", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | |
| | | }, |
| | | { |
| | | "defKey": "receive_time", |
| | | "defName": "æ¥æ¶æ¶é´", |
| | | "defName": "å
¥åºæ¶é´", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "0A646552-E539-44E6-AB49-69CF4BF16522" |
| | | }, |
| | | { |
| | |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "6C143A29-E3B5-4308-A60F-D07E44C58B66" |
| | | }, |
| | | { |
| | |
| | | "id": "FBAA1CFF-AA71-46F8-B401-4EC0D39B022A" |
| | | }, |
| | | { |
| | | "defKey": "work_order_id", |
| | | "defName": "å·¥åID", |
| | | "defKey": "factory_id", |
| | | "defName": "产线ID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "F9190578-1B7F-4A04-9F9F-EF15CE3E043C" |
| | | }, |
| | | { |
| | | "defKey": "equipment_id", |
| | | "defName": "设å¤ID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "291AF57C-AD4F-4691-BF15-1BDC4629A521" |
| | | }, |
| | | { |
| | | "defKey": "process_code", |
| | | "defName": "å·¥åºç¼ç ", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", |
| | | "id": "3501D104-6767-40E3-8A99-0BDF17960C29" |
| | | }, |
| | | { |
| | | "defKey": "process_name", |
| | | "defName": "å·¥åºåç§°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "id": "73290052-0C81-442D-BE27-B8CF1496F69E" |
| | | "id": "2E08DF6D-E39A-4798-BC2A-B56CC7AE66B1" |
| | | }, |
| | | { |
| | | "defKey": "material_number", |
| | |
| | | "correlations": [], |
| | | "indexes": [], |
| | | "type": "P" |
| | | }, |
| | | { |
| | | "id": "A3B555E5-225C-4432-9CB0-05A1C372AB83", |
| | | "env": { |
| | | "base": { |
| | | "nameSpace": "", |
| | | "codeRoot": "" |
| | | } |
| | | }, |
| | | "defKey": "mes_material_consumption_detail", |
| | | "defName": "ç©ææ¶èæç»", |
| | | "comment": "", |
| | | "properties": { |
| | | "partitioned by": "(date string)", |
| | | "row format delimited": "", |
| | | "fields terminated by ','": "", |
| | | "collection items terminated by '-'": "", |
| | | "map keys terminated by ':'": "", |
| | | "store as textfile;": "" |
| | | }, |
| | | "sysProps": { |
| | | "nameTemplate": "{defKey}[{defName}]" |
| | | }, |
| | | "notes": {}, |
| | | "headers": [ |
| | | { |
| | | "refKey": "hideInGraph", |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "defKey", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "defName", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "primaryKey", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "notNull", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "autoIncrement", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "domain", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "type", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "len", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "scale", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "comment", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "refDict", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "defaultValue", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "isStandard", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "uiHint", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "extProps", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr1", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr2", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr3", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr4", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr5", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr6", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr7", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr8", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr9", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | } |
| | | ], |
| | | "fields": [ |
| | | { |
| | | "defKey": "id", |
| | | "defName": "主é®", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": true, |
| | | "notNull": true, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "E84CB7D9-BB16-4D0C-B592-8C4384FFAC3B" |
| | | }, |
| | | { |
| | | "defKey": "create_by", |
| | | "defName": "å建人", |
| | | "comment": "", |
| | | "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "9D7DA32B-70D5-4F8E-929F-F178796661E6", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "create_time", |
| | | "defName": "å建æ¶é´", |
| | | "comment": "", |
| | | "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "6FCE5A8C-426B-4191-B841-C9C529F927DA", |
| | | "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" |
| | | }, |
| | | { |
| | | "defKey": "order_id", |
| | | "defName": "订åID", |
| | | "comment": "åæåæ¥å·¥ï¼æ éç»å®å°ç产订å", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "A9C8CDA4-F073-46FD-AAB4-D6401B7E5E8D", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "work_order_id", |
| | | "defName": "å·¥åID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "9B945A59-DF7A-4234-8C3C-8AA7BBFE9509", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "factory_id", |
| | | "defName": "产线ID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "70FEFA77-AEE0-45C9-BAFE-D5B6E07AE987", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "reporting_id", |
| | | "defName": "æ¥å·¥ID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "C8586134-EFC2-4930-B87D-EFADF765F584" |
| | | }, |
| | | { |
| | | "defKey": "loading_id", |
| | | "defName": "䏿ID", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "948875D7-C355-4E5F-8129-B3E8C2908594" |
| | | }, |
| | | { |
| | | "defKey": "quantity", |
| | | "defName": "æ¶èæ°é", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", |
| | | "extProps": {}, |
| | | "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", |
| | | "id": "73E2D815-80C9-4A31-BB07-020959BC00DD" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | | "indexes": [], |
| | | "type": "P" |
| | | }, |
| | | { |
| | | "id": "9A75D273-970F-4B65-BC27-B9208EC1A4F2", |
| | | "env": { |
| | | "base": { |
| | | "nameSpace": "", |
| | | "codeRoot": "" |
| | | } |
| | | }, |
| | | "defKey": "base_printer_config", |
| | | "defName": "æå°æºé
ç½®", |
| | | "comment": "", |
| | | "properties": { |
| | | "partitioned by": "(date string)", |
| | | "row format delimited": "", |
| | | "fields terminated by ','": "", |
| | | "collection items terminated by '-'": "", |
| | | "map keys terminated by ':'": "", |
| | | "store as textfile;": "" |
| | | }, |
| | | "sysProps": { |
| | | "nameTemplate": "{defKey}[{defName}]" |
| | | }, |
| | | "notes": {}, |
| | | "headers": [ |
| | | { |
| | | "refKey": "hideInGraph", |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "defKey", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "defName", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "primaryKey", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "notNull", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "autoIncrement", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "domain", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "type", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "len", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "scale", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "comment", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "refDict", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "defaultValue", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "isStandard", |
| | | "freeze": false, |
| | | "hideInGraph": false |
| | | }, |
| | | { |
| | | "refKey": "uiHint", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "extProps", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr1", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr2", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr3", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr4", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr5", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr6", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr7", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr8", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | }, |
| | | { |
| | | "refKey": "attr9", |
| | | "freeze": false, |
| | | "hideInGraph": true |
| | | } |
| | | ], |
| | | "fields": [ |
| | | { |
| | | "defKey": "id", |
| | | "defName": "主é®", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": true, |
| | | "notNull": true, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "16120F75-6AA7-4483-868D-F07F511BB081", |
| | | "id": "8012FE29-1A36-475C-85BE-0101BFF82556" |
| | | }, |
| | | { |
| | | "defKey": "create_by", |
| | | "defName": "å建人", |
| | | "comment": "", |
| | | "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "B48C2340-15FC-4F3D-A483-BDAD359BC3A2", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "create_time", |
| | | "defName": "å建æ¶é´", |
| | | "comment": "", |
| | | "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "F6A6B53B-B7DC-42C1-8394-7A29F47AEB51", |
| | | "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" |
| | | }, |
| | | { |
| | | "defKey": "update_by", |
| | | "defName": "æ´æ°äºº", |
| | | "comment": "", |
| | | "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "CE4DDFE2-4785-434B-AB6A-31C4CE82FF4A", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "update_time", |
| | | "defName": "æ´æ°æ¶é´", |
| | | "comment": "", |
| | | "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "uiHint": "", |
| | | "id": "59A6D7C4-1C85-4AB9-A113-137122C8D310", |
| | | "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" |
| | | }, |
| | | { |
| | | "defKey": "del_flag", |
| | | "defName": "å 餿 è®°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", |
| | | "extProps": {}, |
| | | "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", |
| | | "id": "1F9CD124-0E52-48AE-BE33-B2CDE2BD46CF" |
| | | }, |
| | | { |
| | | "defKey": "printer_name", |
| | | "defName": "åç§°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "id": "EE70D71D-41B4-4B75-A190-0C7F0F692408" |
| | | }, |
| | | { |
| | | "defKey": "printer_ip", |
| | | "defName": "IPå°å", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", |
| | | "id": "9733F3FF-86BC-43B5-81F9-6F12BF7AAF97" |
| | | }, |
| | | { |
| | | "defKey": "port_number", |
| | | "defName": "端å£", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", |
| | | "extProps": {}, |
| | | "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", |
| | | "id": "7BF0DB7E-0BC4-4604-B3B1-C0ABA8A1A090" |
| | | }, |
| | | { |
| | | "defKey": "printer_model", |
| | | "defName": "åå·", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", |
| | | "id": "F3D2ED9C-6CE8-4DB5-A656-B2C1BB2A5249" |
| | | }, |
| | | { |
| | | "defKey": "printer_status", |
| | | "defName": "ç¶æ", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | | "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", |
| | | "id": "893D3D4B-C208-4147-909E-BBFF8FF7FB23" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | | "indexes": [], |
| | | "type": "P" |
| | | } |
| | | ], |
| | | "views": [], |
| | |
| | | "D16FD5E0-8B16-4C0E-AD67-6E5C2FED1A65", |
| | | "5835D3E9-4B10-48DC-B116-584E447AA201", |
| | | "23C6B8F0-0010-4453-B3C2-9305746C37AB", |
| | | "D3263A0C-1D6A-453A-B933-86651B5566FE" |
| | | "D3263A0C-1D6A-453A-B933-86651B5566FE", |
| | | "A3B555E5-225C-4432-9CB0-05A1C372AB83" |
| | | ], |
| | | "refViews": [], |
| | | "refDiagrams": [], |
| | |
| | | "CDDBE073-093D-4D6A-AB29-0B3538417EBA", |
| | | "0CE184D5-6F92-4384-AE88-96C81A581F9E", |
| | | "B34D63A4-F6E7-407B-834F-ED01C13EDA80", |
| | | "F5104CC1-0137-4EFD-8122-3593A9E005C4" |
| | | "F5104CC1-0137-4EFD-8122-3593A9E005C4", |
| | | "9A75D273-970F-4B65-BC27-B9208EC1A4F2" |
| | | ], |
| | | "refViews": [], |
| | | "refDiagrams": [], |
| | |
| | | <log4j2.version>2.17.0</log4j2.version> |
| | | <logback.version>1.2.9</logback.version> |
| | | <!-- webservice --> |
| | | <cxf.version>3.2.4</cxf.version> |
| | | <cxf.version>3.5.2</cxf.version> |
| | | </properties> |
| | | |
| | | <repositories> |
| | |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web-services</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.cxf</groupId> |
| | | <artifactId>cxf-spring-boot-starter-jaxws</artifactId> |
| | | <version>${cxf.version}</version> |
| | | </dependency> |
| | | |
| | | <!-- CXF webservice --> |
| | | <dependency> |
| | | <groupId>org.apache.cxf</groupId> |
| | | <artifactId>cxf-spring-boot-starter-jaxws</artifactId> |
| | | <version>${cxf.version}</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.cxf</groupId> |
| | | <artifactId>cxf-rt-transports-http</artifactId> |
| | | <version>${cxf.version}</version> |
| | | </dependency> |
| | | |
| | |
| | | <exclusion> |
| | | <artifactId>commons-beanutils</artifactId> |
| | | <groupId>commons-beanutils</groupId> |
| | | </exclusion> |
| | | <exclusion> |
| | | <groupId>net.sf.saxon</groupId> |
| | | <artifactId>Saxon-HE</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | |
| | | <version>0.8</version> |
| | | </dependency> |
| | | <!--xmlè§£æå
ï¼å¦æé¡¹ç®ä¸å·²æï¼å¼èµ·å²çªï¼å¯æ³¨é--> |
| | | <dependency> |
| | | <groupId>xerces</groupId> |
| | | <artifactId>xercesImpl</artifactId> |
| | | <version>2.12.0</version> |
| | | </dependency> |
| | | <!-- <dependency>--> |
| | | <!-- <groupId>xerces</groupId>--> |
| | | <!-- <artifactId>xercesImpl</artifactId>--> |
| | | <!-- <version>2.12.0</version>--> |
| | | <!-- </dependency>--> |
| | | |
| | | <!--å¼å
¥sapä¾èµ--> |
| | | <dependency> |
| | |
| | | package org.jeecg; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration; |
| | | import org.flowable.spring.boot.eventregistry.EventRegistryServicesAutoConfiguration; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.springframework.boot.SpringApplication; |
| | |
| | | */ |
| | | @Slf4j |
| | | @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, MongoAutoConfiguration.class, |
| | | ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class, |
| | | CxfAutoConfiguration.class}) |
| | | ManagementWebSecurityAutoConfiguration.class, EventRegistryServicesAutoConfiguration.class}) |
| | | public class JeecgSystemApplication extends SpringBootServletInitializer { |
| | | |
| | | @Override |
| | |
| | | public Result<List<FactoryModel>> queryUserProductionLineList() { |
| | | List<Factory> factoryList = factoryService.queryUserProductionLineList(); |
| | | List<FactoryModel> factoryModels = factoryList.stream() |
| | | .map(factory -> new FactoryModel(factory.getId(), factory.getFactoryName())) |
| | | .map(factory -> new FactoryModel(factory.getId(), factory.getFactoryName(), factory.getProductionType())) |
| | | .collect(Collectors.toList()); |
| | | return Result.ok(factoryModels); |
| | | } |
| | |
| | | package org.jeecg.modules.base.controller; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | |
| | | import java.net.URLDecoder; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | |
| | | } |
| | | |
| | | |
| | | //@AutoLog(value = "线边ä»åºä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="线边ä»åºä¿¡æ¯-éè¿idæ¥è¯¢", notes="线边ä»åºä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value = "线边ä»åºä¿¡æ¯-éè¿äº§çº¿IDæ¥è¯¢", notes = "线边ä»åºä¿¡æ¯-éè¿äº§çº¿IDæ¥è¯¢") |
| | | @GetMapping(value = "/queryByFactoryId") |
| | | public Result<LineSideWarehouse> queryByFactoryId(@RequestParam(name="factoryId") String factoryId) { |
| | | LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByFactoryId(factoryId); |
| | |
| | | return Result.OK(lineSideWarehouse); |
| | | } |
| | | |
| | | @ApiOperation(value = "线边ä»åºä¿¡æ¯-éè¿äº§çº¿åç±»æ¥è¯¢", notes = "线边ä»åºä¿¡æ¯-éè¿äº§çº¿åç±»æ¥è¯¢") |
| | | @GetMapping(value = "/queryByProductionType") |
| | | public Result<List<LineSideWarehouse>> queryByProductionType(@RequestParam(name = "productionType") String productionType) { |
| | | List<LineSideWarehouse> list = lineSideWarehouseService.queryByProductionType(productionType); |
| | | if (list == null) { |
| | | return Result.OK(Collections.emptyList()); |
| | | } |
| | | return Result.OK(list); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.base.entity.Factory; |
| | | import org.jeecg.modules.base.entity.PrinterConfig; |
| | | import org.jeecg.modules.base.model.FactoryModel; |
| | | import org.jeecg.modules.base.model.PrinterModel; |
| | | import org.jeecg.modules.base.service.IPrinterConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @Description: æå°æºé
ç½®ä¿¡æ¯ |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-24 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="æå°æºé
置信æ¯") |
| | | @RestController |
| | | @RequestMapping("/base/printerConfig") |
| | | @Slf4j |
| | | public class PrinterConfigController extends JeecgController<PrinterConfig, IPrinterConfigService> { |
| | | @Autowired |
| | | private IPrinterConfigService printerConfigService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param printerConfig |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="æå°æºä¿¡æ¯-å页å表æ¥è¯¢", notes="æå°æºä¿¡æ¯-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<PrinterConfig>> queryPageList(PrinterConfig printerConfig, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<PrinterConfig> queryWrapper = QueryGenerator.initQueryWrapper(printerConfig, req.getParameterMap()); |
| | | Page<PrinterConfig> page = new Page<PrinterConfig>(pageNo, pageSize); |
| | | IPage<PrinterConfig> pageList = printerConfigService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "è·åæææå°æºIPå表", notes = "è·åæææå°æºIPå表") |
| | | @GetMapping(value = "/queryUserPrinterConfigList") |
| | | public Result<List<PrinterModel>> queryUserPrinterConfigList() { |
| | | List<PrinterConfig> printerConfigList = printerConfigService.queryUserPrinterConfigList(); |
| | | List<PrinterModel> factoryModels = printerConfigList.stream() |
| | | .map(factory -> new PrinterModel(factory.getPrinterIp(), factory.getPrinterIp())) |
| | | .collect(Collectors.toList()); |
| | | return Result.ok(factoryModels); |
| | | } |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param printerConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "æå°æºä¿¡æ¯-æ·»å ") |
| | | @ApiOperation(value="æå°æºä¿¡æ¯-æ·»å ", notes="æå°æºä¿¡æ¯-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody PrinterConfig printerConfig) { |
| | | printerConfig.setPrinterStatus(CommonConstant.STATUS_1); |
| | | printerConfigService.save(printerConfig); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param printerConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "线边ä»åºä¿¡æ¯-ç¼è¾") |
| | | @ApiOperation(value="线边ä»åºä¿¡æ¯-ç¼è¾", notes="线边ä»åºä¿¡æ¯-ç¼è¾") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody PrinterConfig printerConfig) { |
| | | printerConfigService.updateById(printerConfig); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "线边ä»åºä¿¡æ¯-éè¿idå é¤") |
| | | @ApiOperation(value="线边ä»åºä¿¡æ¯-éè¿idå é¤", notes="线边ä»åºä¿¡æ¯-éè¿idå é¤") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | printerConfigService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "æå°æºä¿¡æ¯-æ¹éå é¤") |
| | | @ApiOperation(value="æå°æºä¿¡æ¯-æ¹éå é¤", notes="æå°æºä¿¡æ¯-æ¹éå é¤") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.printerConfigService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "线边ä»åºä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="æå°æºä¿¡æ¯-éè¿idæ¥è¯¢", notes="æå°æºä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<PrinterConfig> queryById(@RequestParam(name="id",required=true) String id) { |
| | | PrinterConfig lineSideWarehouse = printerConfigService.getById(id); |
| | | if(lineSideWarehouse==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(lineSideWarehouse); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param printerConfig |
| | | */ |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, PrinterConfig printerConfig) { |
| | | return super.exportXls(request, printerConfig, PrinterConfig.class, "æå°æºä¿¡æ¯"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, PrinterConfig.class); |
| | | } |
| | | |
| | | @AutoLog(value = "æå°æº-å¯ç¨&ç¦ç¨") |
| | | @ApiOperation(value = "æå°æº-å¯ç¨&ç¦ç¨", notes = "æå°æº-å¯ç¨&ç¦ç¨") |
| | | @PutMapping(value = "/active") |
| | | public Result<?> active(@RequestParam(name = "id", required = true) String id) { |
| | | PrinterConfig printerConfig = printerConfigService.getById(id); |
| | | if (CommonConstant.STATUS_1.equals(printerConfig.getPrinterStatus())) { |
| | | printerConfig.setPrinterStatus(CommonConstant.STATUS_0); |
| | | } else { |
| | | printerConfig.setPrinterStatus(CommonConstant.STATUS_1); |
| | | } |
| | | printerConfigService.updateById(printerConfig); |
| | | return Result.ok("æä½æåï¼"); |
| | | } |
| | | |
| | | } |
| | |
| | | package org.jeecg.modules.base.entity; |
| | | |
| | | import java.io.Serializable; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.Date; |
| | | import java.math.BigDecimal; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import lombok.Data; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Description: 线边ä»åºä¿¡æ¯ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Description: æå°æºé
ç½®ä¿¡æ¯ |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-24 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Data |
| | | @TableName("base_printer_config") |
| | | @Accessors(chain = true) |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @ApiModel(value = "base_printer_config对象", description = "æå°æºé
置信æ¯") |
| | | public class PrinterConfig implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ä¸»é® |
| | | */ |
| | | @TableId(type = IdType.ASSIGN_ID) |
| | | @ApiModelProperty(value = "主é®") |
| | | private String id; |
| | | /** |
| | | * å建人 |
| | | */ |
| | | @ApiModelProperty(value = "å建人") |
| | | private String createBy; |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | private Date createTime; |
| | | /** |
| | | * æ´æ°äºº |
| | | */ |
| | | @ApiModelProperty(value = "æ´æ°äºº") |
| | | private String updateBy; |
| | | /** |
| | | * æ´æ°æ¶é´ |
| | | */ |
| | | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | private Date updateTime; |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | | @Excel(name = "å 餿 è®°", width = 15) |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | @TableLogic |
| | | private Integer delFlag = CommonConstant.DEL_FLAG_0; |
| | | /** |
| | | * æå°æºIP |
| | | */ |
| | | @Excel(name = "æå°æºIP", width = 15) |
| | | @ApiModelProperty(value = "æå°æºIP") |
| | | private String printerIp; |
| | | |
| | | /** |
| | | * æå°æºIP |
| | | */ |
| | | @Excel(name = "æå°æºåç§°", width = 15) |
| | | @ApiModelProperty(value = "æå°æºåç§°") |
| | | private String printerName; |
| | | /** |
| | | * æå°æºç«¯å£ |
| | | */ |
| | | @Excel(name = "æå°æºç«¯å£", width = 15) |
| | | @ApiModelProperty(value = "æå°æºç«¯å£") |
| | | private String portNumber; |
| | | /** |
| | | * æå°æºåå· |
| | | */ |
| | | @Excel(name = "æå°æºåå·", width = 15) |
| | | @ApiModelProperty(value = "æå°æºåå·") |
| | | private String printerModel; |
| | | |
| | | /**æå°æºç¶æ*/ |
| | | @Excel(name = "æå°æºç¶æ", width = 15) |
| | | @ApiModelProperty(value = "æå°æºç¶æ") |
| | | private String printerStatus; |
| | | } |
| | |
| | | */ |
| | | public interface LineSideWarehouseMapper extends BaseMapper<LineSideWarehouse> { |
| | | |
| | | /** |
| | | * éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åº |
| | | * @param types |
| | | * @return |
| | | */ |
| | | List<LineSideWarehouse> queryByProductionType(@Param("types") String[] types); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.jeecg.modules.base.entity.PrinterConfig; |
| | | |
| | | /** |
| | | * @Description: æå°æºä¿¡æ¯é
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-24 |
| | | * @Version: V1.0 |
| | | */ |
| | | public interface PrinterConfigMapper extends BaseMapper<PrinterConfig> { |
| | | |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.base.mapper.LineSideWarehouseMapper"> |
| | | |
| | | <select id="queryByProductionType" resultType="org.jeecg.modules.base.entity.LineSideWarehouse"> |
| | | select t1.* from base_line_side_warehouse t1 |
| | | left join base_factory t2 on t1.factory_id = t2.id |
| | | where t1.del_flag='0' and t1.warehouse_status='1' and |
| | | <foreach collection="types" item="item" open=" t2.production_type IN (" close=")" separator=",">#{item}</foreach> |
| | | order by t1.warehouse_code |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.base.mapper.PrinterConfigMapper"> |
| | | |
| | | </mapper> |
| | |
| | | // getteråsetteræ¹æ³ |
| | | private String value; // 产线ID |
| | | private String text; // 产线åç§° |
| | | |
| | | private String type; // 产线类å |
| | | public FactoryModel() { |
| | | } |
| | | |
| | | public FactoryModel(String value, String text) { |
| | | public FactoryModel(String value, String text, String type) { |
| | | this.value = value; |
| | | this.text = text; |
| | | this.type = type; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.model; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PrinterModel { |
| | | // getteråsetteræ¹æ³ |
| | | private String value; |
| | | private String text; |
| | | |
| | | public PrinterModel() { |
| | | } |
| | | |
| | | public PrinterModel(String value, String text) { |
| | | this.value = value; |
| | | this.text = text; |
| | | |
| | | } |
| | | } |
| | |
| | | import org.jeecg.modules.base.entity.LineSideWarehouse; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: 线边ä»åºä¿¡æ¯ |
| | | * @Author: jeecg-boot |
| | |
| | | * @return |
| | | */ |
| | | LineSideWarehouse queryByFactoryId(String factoryId); |
| | | |
| | | /** |
| | | * æ ¹æ®äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åº |
| | | * @param productionType |
| | | * @return |
| | | */ |
| | | List<LineSideWarehouse> queryByProductionType(String productionType); |
| | | |
| | | /** |
| | | * 线边åºç¼ç |
| | | * @param warehouseCode |
| | | * @return |
| | | */ |
| | | LineSideWarehouse queryByWarehouseCode(String warehouseCode); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.base.entity.Factory; |
| | | import org.jeecg.modules.base.entity.PrinterConfig; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: æå°æºé
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-24 |
| | | * @Version: V1.0 |
| | | */ |
| | | public interface IPrinterConfigService extends IService<PrinterConfig> { |
| | | /** |
| | | * æ¥è¯¢IPå表 |
| | | * @return |
| | | */ |
| | | List<PrinterConfig> queryUserPrinterConfigList(); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.modules.base.entity.LineSideWarehouse; |
| | | import org.jeecg.modules.base.mapper.LineSideWarehouseMapper; |
| | | import org.jeecg.modules.base.service.ILineSideWarehouseService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: 线边ä»åºä¿¡æ¯ |
| | |
| | | } |
| | | return entity; |
| | | } |
| | | |
| | | @Override |
| | | public List<LineSideWarehouse> queryByProductionType(String productionType) { |
| | | if(StringUtils.isBlank(productionType)) { |
| | | return Collections.emptyList(); |
| | | } |
| | | String[] types = productionType.split(","); |
| | | return this.getBaseMapper().queryByProductionType(types); |
| | | } |
| | | |
| | | @Override |
| | | public LineSideWarehouse queryByWarehouseCode(String warehouseCode) { |
| | | LambdaQueryWrapper<LineSideWarehouse> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(LineSideWarehouse::getWarehouseCode, warehouseCode); |
| | | wrapper.eq(LineSideWarehouse::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | wrapper.eq(LineSideWarehouse::getWarehouseStatus, CommonConstant.STATUS_1); |
| | | return this.getBaseMapper().selectOne(wrapper); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.base.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.base.entity.Factory; |
| | | import org.jeecg.modules.base.entity.PrinterConfig; |
| | | import org.jeecg.modules.base.mapper.PrinterConfigMapper; |
| | | import org.jeecg.modules.base.service.IPrinterConfigService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: æå°æºé
ç½®ä¿¡æ¯ |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-06-24 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Service |
| | | public class PrinterConfigServiceImpl extends ServiceImpl<PrinterConfigMapper, PrinterConfig> implements IPrinterConfigService { |
| | | |
| | | @Override |
| | | public List<PrinterConfig> queryUserPrinterConfigList() { |
| | | //ç¨æ·æ°æ®æé |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (sysUser == null) { |
| | | return Collections.emptyList(); |
| | | } |
| | | LambdaQueryWrapper<PrinterConfig> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(PrinterConfig::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.eq(PrinterConfig::getPrinterStatus, "1"); |
| | | return super.list(queryWrapper); |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | /* |
| | | * çæå¯ä¸æ¡ç çæ¹æ³ |
| | | * çæå¯ä¸æ¡ç çæ¹æ³ï¼ç®åè¿æ²¡æç¼ç è§åï¼ç¡®å®åå¨è¿éæ¹ï¼ |
| | | */ |
| | | private String generateUniqueBarcode(String cuttingId, int index) { |
| | | // æ¡ç çæè§å示ä¾ï¼åå
·ID + åºå·(4ä½) + éæºæ° |
| | | return cuttingId + String.format("%04d", index + 1) + (int) (Math.random() * 10000); |
| | | } |
| | | // @GetMapping("/submit") |
| | | // public Result<?> submit(@RequestParam("orderId") String orderId) { |
| | | // // cuttingInboundService.submit(orderId); |
| | | // // return Result.ok("æäº¤æå"); |
| | | |
| | | @GetMapping("/submit") |
| | | @Timed(value = "cutting.inbound.submit", description = "åå
·å
¥åºæäº¤èæ¶") |
| | | public Result<?> submit(@RequestParam("orderId") String orderId) { |
| | | // long startTime = System.currentTimeMillis(); |
| | | // try { |
| | | // // 1. æ´æ°å
¥åºåç¶æ |
| | | // CuttingInbound cuttingInbound = cuttingInboundService.getById(orderId); |
| | | // if (cuttingInbound == null) { |
| | | // return Result.error("æªæ¾å°å¯¹åºçå
¥åºå"); |
| | | // } |
| | | // |
| | | // // æ£æ¥å
¥åºåç¶æï¼åªå
è®¸ç¶æä¸º"1"çå
¥åºåæäº¤ |
| | | // if (!"1".equals(cuttingInbound.getOrderStatus())) { |
| | | // return Result.error("åªæç¶æä¸ºæªæäº¤çå
¥åºåæè½æ§è¡æäº¤æä½"); |
| | | // } |
| | | // |
| | | // // 2. æ´æ°ç¶æä¸ºå·²æäº¤ |
| | | // cuttingInbound.setOrderStatus("2"); |
| | | // boolean updateResult = cuttingInboundService.updateById(cuttingInbound); |
| | | // if (!updateResult) { |
| | | // return Result.error("æ´æ°å
¥åºåç¶æå¤±è´¥"); |
| | | // } |
| | | // cuttingInboundService.updateById(cuttingInbound); |
| | | // |
| | | // // 3. è·åå
¥åºæç» |
| | | // // 2. è·åå
¥åºæç» |
| | | // List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() |
| | | // .eq(CuttingInboundDetail::getOrderId, orderId) |
| | | // .list(); |
| | | // |
| | | // // ç¨äºç»è®¡æ»æ°é |
| | | // int totalSubmitted = 0; |
| | | // |
| | | // // æ¹éä¿åçå表 |
| | | // // 3. æ¶éææéè¦ä¿åçæ°æ® |
| | | // List<CuttingInventory> inventoryList = new ArrayList<>(); |
| | | // List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); |
| | | // |
| | | // // 4. æ ¹æ®æç»æ°éçæåºåè®°å½åæ¡ç |
| | | // for (CuttingInboundDetail detail : detailList) { |
| | | // // æ ¹æ®æç»ä¸çæ°éçæå¯¹åºæ°éçåºåè®°å½receive_number |
| | | // int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber() : 0; |
| | | // for (int i = 0; i < quantity; i++) { |
| | | // totalSubmitted++; |
| | | // // 为æ¯ä¸ªåå
·çæç¬ç«çåºåè®°å½ |
| | | // CuttingInventory cuttingInventory = new CuttingInventory(); |
| | | // String inventoryId = UUID.randomUUID().toString().replace("-", ""); |
| | | // cuttingInventory.setId(inventoryId); |
| | | // cuttingInventory.setCuttingId(detail.getCuttingId()); |
| | | // // 为æ¯ä¸ªåå
·çæå¯ä¸æ¡ç |
| | | // cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); |
| | | // // 设置åºåç¶æä¸ºå¨åº |
| | | // cuttingInventory.setInventoryStatus("æ£å¸¸"); |
| | | // // 设置å½å寿å½ä¸º100 |
| | | // cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); |
| | | // // æ·»å å°æ¹éä¿åå表 |
| | | // inventoryList.add(cuttingInventory); |
| | | // int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; |
| | | // |
| | | // // 建ç«å
¥åºåä¸åºåçå
³èå
³ç³» |
| | | // for (int i = 0; i < quantity; i++) { |
| | | // // çæåºåè®°å½ |
| | | // CuttingInventory cuttingInventory = new CuttingInventory(); |
| | | // cuttingInventory.setCuttingId(detail.getCuttingId()); |
| | | // cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); |
| | | // cuttingInventory.setInventoryStatus("æ£å¸¸"); |
| | | // cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); |
| | | // inventoryList.add(cuttingInventory); |
| | | // } |
| | | // } |
| | | // |
| | | // // 4. æ¹éä¿ååºåè®°å½ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | // if (!inventoryList.isEmpty()) { |
| | | // cuttingInventoryService.saveBatch(inventoryList); |
| | | // |
| | | // // 5. 为æ¯ä¸ªä¿åçåºåè®°å½å建å
³èå
³ç³» |
| | | // for (CuttingInventory inventory : inventoryList) { |
| | | // CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); |
| | | // cuttingInboundInventory.setOrderId(orderId); |
| | | // cuttingInboundInventory.setInventoryId(inventoryId); |
| | | // // æ·»å å°æ¹éä¿åå表 |
| | | // cuttingInboundInventory.setInventoryId(inventory.getId()); |
| | | // inboundInventoryList.add(cuttingInboundInventory); |
| | | // } |
| | | // |
| | | // // 6. æ¹éä¿åå
³èå
³ç³»ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | // cuttingInboundInventoryService.saveBatch(inboundInventoryList); |
| | | // } |
| | | // |
| | | // // æ¹éä¿ååºåè®°å½ |
| | | // if (!inventoryList.isEmpty()) { |
| | | // boolean saveResult = cuttingInventoryService.saveBatch(inventoryList); |
| | | // if (!saveResult) { |
| | | // throw new RuntimeException("ä¿ååºåè®°å½å¤±è´¥"); |
| | | // } |
| | | // } |
| | | // long endTime = System.currentTimeMillis(); |
| | | // log.info("åå
·å
¥åºæäº¤å®æï¼èæ¶: {} s", (endTime - startTime)/1000); |
| | | // return Result.ok("æäº¤æå"); |
| | | // |
| | | // // æ¹éä¿åå
³èå
³ç³» |
| | | // if (!inboundInventoryList.isEmpty()) { |
| | | // boolean relationSaveResult = cuttingInboundInventoryService.saveBatch(inboundInventoryList); |
| | | // if (!relationSaveResult) { |
| | | // throw new RuntimeException("ä¿åå
³èå
³ç³»å¤±è´¥"); |
| | | // } |
| | | // } |
| | | // |
| | | // Map<String, Object> result = new HashMap<>(); |
| | | // result.put("message", "æäº¤æå"); |
| | | // result.put("totalSubmitted", totalSubmitted); |
| | | // return Result.ok(result); |
| | | // } catch (Exception e) { |
| | | // log.error("æäº¤å
¥åºå失败ï¼orderId: " + orderId, e); |
| | | // throw new RuntimeException("æäº¤å¤±è´¥: " + e.getMessage(), e); |
| | | // long endTime = System.currentTimeMillis(); |
| | | // log.error("æäº¤å
¥åºå失败ï¼orderId: " + orderId + "ï¼èæ¶: " + (endTime - startTime) + " ms", e); |
| | | // return Result.error("æäº¤å¤±è´¥: " + e.getMessage()); |
| | | // } |
| | | // } |
| | | |
| | | @GetMapping("/submit") |
| | | @Timed(value = "cutting.inbound.submit", description = "åå
·å
¥åºæäº¤èæ¶") |
| | | public Result<?> submit(@RequestParam("orderId") String orderId) { |
| | | long startTime = System.currentTimeMillis(); |
| | | try { |
| | | // 1. æ´æ°å
¥åºåç¶æ |
| | | CuttingInbound cuttingInbound = cuttingInboundService.getById(orderId); |
| | | if (cuttingInbound == null) { |
| | | return Result.error("æªæ¾å°å¯¹åºçå
¥åºå"); |
| | | } |
| | | cuttingInbound.setOrderStatus("2"); |
| | | cuttingInboundService.updateById(cuttingInbound); |
| | | |
| | | // 2. è·åå
¥åºæç» |
| | | List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() |
| | | .eq(CuttingInboundDetail::getOrderId, orderId) |
| | | .list(); |
| | | |
| | | // 3. æ¶éææéè¦ä¿åçæ°æ® |
| | | List<CuttingInventory> inventoryList = new ArrayList<>(); |
| | | List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); |
| | | |
| | | for (CuttingInboundDetail detail : detailList) { |
| | | int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; |
| | | |
| | | for (int i = 0; i < quantity; i++) { |
| | | // çæåºåè®°å½ |
| | | CuttingInventory cuttingInventory = new CuttingInventory(); |
| | | cuttingInventory.setCuttingId(detail.getCuttingId()); |
| | | cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); |
| | | cuttingInventory.setInventoryStatus("æ£å¸¸"); |
| | | cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); |
| | | inventoryList.add(cuttingInventory); |
| | | } |
| | | } |
| | | |
| | | // 4. æ¹éä¿ååºåè®°å½ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | if (!inventoryList.isEmpty()) { |
| | | cuttingInventoryService.saveBatch(inventoryList); |
| | | |
| | | // 5. 为æ¯ä¸ªä¿åçåºåè®°å½å建å
³èå
³ç³» |
| | | for (CuttingInventory inventory : inventoryList) { |
| | | CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); |
| | | cuttingInboundInventory.setOrderId(orderId); |
| | | cuttingInboundInventory.setInventoryId(inventory.getId()); |
| | | inboundInventoryList.add(cuttingInboundInventory); |
| | | } |
| | | |
| | | // 6. æ¹éä¿åå
³èå
³ç³»ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | cuttingInboundInventoryService.saveBatch(inboundInventoryList); |
| | | } |
| | | |
| | | long endTime = System.currentTimeMillis(); |
| | | log.info("åå
·å
¥åºæäº¤å®æï¼èæ¶: {} s", (endTime - startTime)/1000); |
| | | return Result.ok("æäº¤æå"); |
| | | |
| | | } catch (Exception e) { |
| | | long endTime = System.currentTimeMillis(); |
| | | log.error("æäº¤å
¥åºå失败ï¼orderId: " + orderId + "ï¼èæ¶: " + (endTime - startTime) + " ms", e); |
| | | return Result.error("æäº¤å¤±è´¥: " + e.getMessage()); |
| | | } |
| | | return cuttingInboundService.submit(orderId); |
| | | } |
| | | } |
| | | |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.cms.entity.CuttingInventory; |
| | |
| | | return super.importExcel(request, response, CuttingTool.class); |
| | | } |
| | | |
| | | |
| | | //éæ©åå
·çæ¥å£ |
| | | @GetMapping(value = "/getCuttingToolList") |
| | | public Result<?> getCuttingToolList(@RequestParam("pageNo") Integer pageNo, |
| | | @RequestParam("pageSize") Integer pageSize, |
| | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.Date; |
| | | import java.math.BigDecimal; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import lombok.Data; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | |
| | | @ApiModelProperty(value = "åå
·ID") |
| | | @Dict(dictTable = "cms_cutting_tool",dicCode="id",dicText = "cutting_code") |
| | | private String cuttingId; |
| | | |
| | | @TableField(exist = false) // 表示è¿ä¸æ¯æ°æ®åºå段 |
| | | private String cuttingCode; |
| | | /**åå
·æ¡ç */ |
| | | @Excel(name = "åå
·æ¡ç ", width = 15) |
| | | @ApiModelProperty(value = "åå
·æ¡ç ") |
| | |
| | | @Excel(name = "å½å寿å½(ç¾åæ¯)", width = 15) |
| | | @ApiModelProperty(value = "å½å寿å½(ç¾åæ¯)") |
| | | private BigDecimal currentLife; |
| | | |
| | | // å¨CuttingInventoryå®ä½ç±»ä¸æ·»å |
| | | @TableField(exist = false) // 表示è¿ä¸æ¯æ°æ®åºå段 |
| | | private String cuttingIdSearch; |
| | | |
| | | @TableField(exist = false) // 表示è¿ä¸æ¯æ°æ®åºå段 |
| | | private String cuttingBarcodeSearch; |
| | | } |
| | |
| | | */ |
| | | public interface CuttingReceiveDetailMapper extends BaseMapper<CuttingReceiveDetail> { |
| | | |
| | | public List<Map<String, Object>> detailList(@Param("orderId") String orderId); |
| | | List<Map<String, Object>> detailList(@Param("orderId") String orderId); |
| | | } |
| | |
| | | */ |
| | | public interface ICuttingInboundService extends IService<CuttingInbound> { |
| | | Result<?> importExcelData(List<CuttingInboundExportVo> list); |
| | | |
| | | Result<?> submit(String orderId); |
| | | } |
| | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * |
| | | * @Description: é¢ç¨åæç» |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-28 |
| | |
| | | */ |
| | | public interface ICuttingReceiveDetailService extends IService<CuttingReceiveDetail> { |
| | | |
| | | public List<Map<String, Object>> detailList(String orderId); |
| | | List<Map<String, Object>> detailList(String orderId); |
| | | } |
| | |
| | | package org.jeecg.modules.cms.service.impl; |
| | | |
| | | import io.micrometer.core.annotation.Timed; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.cms.entity.CuttingInbound; |
| | | import org.jeecg.modules.cms.entity.CuttingInboundDetail; |
| | | import org.jeecg.modules.cms.entity.CuttingInboundInventory; |
| | | import org.jeecg.modules.cms.entity.CuttingInventory; |
| | | import org.jeecg.modules.cms.mapper.CuttingInboundMapper; |
| | | import org.jeecg.modules.cms.service.ICuttingInboundInventoryService; |
| | | import org.jeecg.modules.cms.service.ICuttingInboundService; |
| | | import org.jeecg.modules.cms.service.ICuttingInboundDetailService; |
| | | import org.jeecg.modules.cms.service.ICuttingInventoryService; |
| | | import org.jeecg.modules.cms.vo.CuttingInboundExportVo; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | * @Date: 2025-07-28 |
| | | * @Version: V1.0 |
| | | */ |
| | | |
| | | @Slf4j |
| | | @Service |
| | | public class CuttingInboundServiceImpl extends ServiceImpl<CuttingInboundMapper, CuttingInbound> implements ICuttingInboundService { |
| | | @Autowired |
| | | private ICuttingInboundDetailService cuttingInboundDetailService; // 注å
¥ä»è¡¨æå¡ |
| | | |
| | | @Autowired |
| | | private ICuttingInventoryService cuttingInventoryService; |
| | | |
| | | @Autowired |
| | | private ICuttingInboundInventoryService cuttingInboundInventoryService; |
| | | /** |
| | | * éè¿Excel导å
¥åå
·å
¥åºåæ°æ® |
| | | * |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Result<?> importExcelData(List<CuttingInboundExportVo> list) { |
| | | // try { |
| | | // for (CuttingInboundExportVo exportVo : list) { |
| | | // // ä¿åä¸»è¡¨æ°æ® |
| | | // CuttingInbound cuttingInbound = new CuttingInbound(); |
| | | // cuttingInbound.setReceiver(exportVo.getReceiver()); |
| | | // cuttingInbound.setReceiveTime(exportVo.getReceiveTime()); |
| | | // cuttingInbound.setReceiveComment(exportVo.getReceiveComment()); |
| | | // cuttingInbound.setConfirmer(exportVo.getConfirmer()); |
| | | // cuttingInbound.setConfirmTime(exportVo.getConfirmTime()); |
| | | // cuttingInbound.setConfirmComment(exportVo.getConfirmComment()); |
| | | // cuttingInbound.setOrderStatus(exportVo.getOrderStatus()); |
| | | // |
| | | // // ä¿åä¸»è¡¨æ°æ®ä»¥è·åID |
| | | // this.save(cuttingInbound); |
| | | // |
| | | // // è·å主表ID |
| | | // String orderId = cuttingInbound.getId(); |
| | | // |
| | | // // å¤çä»è¡¨æ°æ® |
| | | // List<CuttingInboundDetail> detailList = exportVo.getDetailList(); |
| | | // if (detailList != null && !detailList.isEmpty()) { |
| | | // for (CuttingInboundDetail detail : detailList) { |
| | | // detail.setOrderId(orderId); // 设置å¤é®å
³è |
| | | // cuttingInboundDetailService.save(detail); |
| | | // } |
| | | // } |
| | | // } |
| | | // return Result.ok("导å
¥æå"); |
| | | // } catch (Exception e) { |
| | | // log.error("导å
¥å¤±è´¥", e); |
| | | // return Result.error("导å
¥å¤±è´¥: " + e.getMessage()); |
| | | // } |
| | | // } |
| | | |
| | | for (CuttingInboundExportVo exportVo : list) { |
| | | // ä¿åä¸»è¡¨æ°æ® |
| | | CuttingInbound cuttingInbound = new CuttingInbound(); |
| | |
| | | } |
| | | return Result.ok("导å
¥æå"); |
| | | } |
| | | |
| | | |
| | | /* |
| | | * çæå¯ä¸æ¡ç çæ¹æ³ï¼ç¡®å®ç¼ç çæè§åå卿¤å¤éåï¼ |
| | | */ |
| | | private String generateUniqueBarcode(String cuttingId, int index) { |
| | | // æ¡ç çæè§å示ä¾ï¼åå
·ID + åºå·(4ä½) + éæºæ° |
| | | return cuttingId + String.format("%04d", index + 1) + (int) (Math.random() * 10000); |
| | | } |
| | | @Override |
| | | @Timed(value = "cutting.inbound.submit", description = "åå
·å
¥åºæäº¤èæ¶") |
| | | public synchronized Result<?> submit(String orderId) { |
| | | long startTime = System.currentTimeMillis(); |
| | | try { |
| | | // 1. æ´æ°å
¥åºåç¶æ |
| | | CuttingInbound cuttingInbound = this.getById(orderId); |
| | | if (cuttingInbound == null) { |
| | | return Result.error("æªæ¾å°å¯¹åºçå
¥åºå"); |
| | | } |
| | | |
| | | // æ£æ¥å
¥åºåç¶æï¼åªå
è®¸ç¶æä¸º"1"çå
¥åºåæäº¤ |
| | | if (!"1".equals(cuttingInbound.getOrderStatus())) { |
| | | return Result.error("åªæç¶æä¸ºæªæäº¤çå
¥åºåæè½æ§è¡æäº¤æä½"); |
| | | } |
| | | |
| | | cuttingInbound.setOrderStatus("2"); |
| | | boolean updateResult = this.updateById(cuttingInbound); |
| | | if (!updateResult) { |
| | | return Result.error("æ´æ°å
¥åºåç¶æå¤±è´¥ï¼å¯è½å·²è¢«å
¶ä»ç¨æ·å¤ç"); |
| | | } |
| | | |
| | | // 2. è·åå
¥åºæç» |
| | | List<CuttingInboundDetail> detailList = cuttingInboundDetailService.lambdaQuery() |
| | | .eq(CuttingInboundDetail::getOrderId, orderId) |
| | | .list(); |
| | | |
| | | // 3. æ¶éææéè¦ä¿åçæ°æ® |
| | | List<CuttingInventory> inventoryList = new ArrayList<>(); |
| | | List<CuttingInboundInventory> inboundInventoryList = new ArrayList<>(); |
| | | |
| | | for (CuttingInboundDetail detail : detailList) { |
| | | int quantity = detail.getReceiveNumber() != null ? detail.getReceiveNumber().intValue() : 0; |
| | | |
| | | for (int i = 0; i < quantity; i++) { |
| | | // çæåºåè®°å½ |
| | | CuttingInventory cuttingInventory = new CuttingInventory(); |
| | | cuttingInventory.setCuttingId(detail.getCuttingId()); |
| | | cuttingInventory.setCuttingBarcode(generateUniqueBarcode(detail.getCuttingId(), i)); |
| | | cuttingInventory.setInventoryStatus("æ£å¸¸"); |
| | | cuttingInventory.setCurrentLife(BigDecimal.valueOf(100)); |
| | | inventoryList.add(cuttingInventory); |
| | | } |
| | | } |
| | | |
| | | // 4. æ¹éä¿ååºåè®°å½ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | if (!inventoryList.isEmpty()) { |
| | | cuttingInventoryService.saveBatch(inventoryList); |
| | | |
| | | // 5. 为æ¯ä¸ªä¿åçåºåè®°å½å建å
³èå
³ç³» |
| | | for (CuttingInventory inventory : inventoryList) { |
| | | CuttingInboundInventory cuttingInboundInventory = new CuttingInboundInventory(); |
| | | cuttingInboundInventory.setOrderId(orderId); |
| | | cuttingInboundInventory.setInventoryId(inventory.getId()); |
| | | inboundInventoryList.add(cuttingInboundInventory); |
| | | } |
| | | |
| | | // 6. æ¹éä¿åå
³èå
³ç³»ï¼ä¸æ¬¡æ§æä½ï¼ |
| | | cuttingInboundInventoryService.saveBatch(inboundInventoryList); |
| | | } |
| | | |
| | | long endTime = System.currentTimeMillis(); |
| | | log.info("åå
·å
¥åºæäº¤å®æï¼èæ¶: {} ms", (endTime - startTime)); |
| | | return Result.ok("æäº¤æå"); |
| | | |
| | | } catch (Exception e) { |
| | | long endTime = System.currentTimeMillis(); |
| | | log.error("æäº¤å
¥åºå失败ï¼orderId: " + orderId + "ï¼èæ¶: " + (endTime - startTime) + " ms", e); |
| | | return Result.error("æäº¤å¤±è´¥: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | @Excel(name = "NO", width = 15) |
| | | private String itemCode; |
| | | |
| | | @Excel(name = "é¨ä½åç§°", width = 15) |
| | | @Excel(name = "ç¹æ£å
容", width = 15) |
| | | private String itemName; |
| | | |
| | | @Excel(name = "ç¹æ£å
容", width = 15) |
| | | @Excel(name = "ç¹æ£æ¹æ³", width = 15) |
| | | private String subItemName; |
| | | |
| | | @Excel(name = "ç¹æ£æ¹æ³", width = 15) |
| | | @Excel(name = "é¨ä½åç§°", width = 15) |
| | | private String itemPart; |
| | | |
| | | @Excel(name = "åºå", width = 15) |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.base.entity.Factory; |
| | | import org.jeecg.modules.base.entity.LineSideWarehouse; |
| | | import org.jeecg.modules.base.enums.ProductionTypeEnum; |
| | | import org.jeecg.modules.base.service.IFactoryService; |
| | | import org.jeecg.modules.base.service.ILineSideWarehouseService; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.enums.MaterialCategoryEnum; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialService; |
| | | import org.jeecg.modules.lsw.vo.LswMaterialPage; |
| | | import org.jeecgframework.poi.excel.def.NormalExcelConstants; |
| | | import org.jeecgframework.poi.excel.entity.ExportParams; |
| | | import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: 线边åºç©æä¿¡æ¯ |
| | |
| | | public class LswMaterialController { |
| | | @Autowired |
| | | private ILswMaterialService lswMaterialService; |
| | | @Autowired |
| | | private ILswMaterialInventoryService lswMaterialInventoryService; |
| | | @Autowired |
| | | private ILineSideWarehouseService lineSideWarehouseService; |
| | | @Autowired |
| | | private IFactoryService factoryService; |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "ç©æåºåä¿¡æ¯éè¿ä¸»è¡¨IDæ¥è¯¢") |
| | | @ApiOperation(value = "ç©æåºåä¿¡æ¯ä¸»è¡¨IDæ¥è¯¢", notes = "ç©æåºåä¿¡æ¯-é主表IDæ¥è¯¢") |
| | | @GetMapping(value = "/queryLswMaterialInventoryByMainId") |
| | | public Result<List<LswMaterialInventory>> queryLswMaterialInventoryListByMainId(@RequestParam(name = "id", required = true) String id) { |
| | | List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(id); |
| | | for (LswMaterialInventory lswMaterialInventory : lswMaterialInventoryList) { |
| | | if (StringUtils.isNotEmpty(lswMaterialInventory.getWarehouseId())) { |
| | | String warehouseId = lswMaterialInventory.getWarehouseId(); |
| | | LineSideWarehouse warehouse = lineSideWarehouseService.getById(warehouseId); |
| | | lswMaterialInventory.setWarehouseName(warehouse.getWarehouseName()); |
| | | } |
| | | } |
| | | return Result.OK(lswMaterialInventoryList); |
| | | } |
| | | |
| | | @AutoLog(value = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ") |
| | | @ApiOperation(value = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ", notes = "线边åºç©æä¿¡æ¯-éè¿äº§çº¿ç±»åæ¥è¯¢çº¿è¾¹åºç©æ") |
| | | @GetMapping(value = "/queryLswMaterialByProductionType") |
| | | public Result<List<LswMaterial>> queryLswMaterialByProductionType(@RequestParam("factoryId") String factoryId) { |
| | |
| | | return Result.OK(lswMaterialList); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param lswMaterial |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, LswMaterial lswMaterial) { |
| | | // Step.1 ç»è£
æ¥è¯¢æ¡ä»¶æ¥è¯¢æ°æ® |
| | | QueryWrapper<LswMaterial> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterial, request.getParameterMap()); |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | |
| | | //é
ç½®é䏿°æ®æ¥è¯¢æ¡ä»¶ |
| | | String selections = request.getParameter("selections"); |
| | | if (oConvertUtils.isNotEmpty(selections)) { |
| | | List<String> selectionList = Arrays.asList(selections.split(",")); |
| | | queryWrapper.in("id", selectionList); |
| | | @ApiOperation(value = "线边åºç©æä¿¡æ¯-æ ¹æ®ç©æç±»åæ¥è¯¢", notes = "线边åºç©æä¿¡æ¯-æ ¹æ®ç©æç±»åæ¥è¯¢") |
| | | @GetMapping(value = "/queryByMaterialCategory") |
| | | public Result<List<LswMaterial>> queryByMaterialCategory(@RequestParam("materialCategory") String materialCategory) { |
| | | if (StringUtils.isBlank(materialCategory)) { |
| | | return Result.ok(Collections.emptyList()); |
| | | } |
| | | //Step.2 è·åå¯¼åºæ°æ® |
| | | String[] split = materialCategory.split(","); |
| | | LambdaQueryWrapper<LswMaterial> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.in(LswMaterial::getMaterialCategory, Arrays.asList(split)); |
| | | queryWrapper.eq(LswMaterial::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | queryWrapper.eq(LswMaterial::getMaterialStatus, CommonConstant.STATUS_1); |
| | | queryWrapper.orderByAsc(LswMaterial::getMaterialNumber); |
| | | List<LswMaterial> lswMaterialList = lswMaterialService.list(queryWrapper); |
| | | |
| | | // Step.3 ç»è£
pageList |
| | | List<LswMaterialPage> pageList = new ArrayList<LswMaterialPage>(); |
| | | for (LswMaterial main : lswMaterialList) { |
| | | LswMaterialPage vo = new LswMaterialPage(); |
| | | BeanUtils.copyProperties(main, vo); |
| | | List<LswMaterialInventory> lswMaterialInventoryList = lswMaterialInventoryService.selectByMainId(main.getId()); |
| | | vo.setLswMaterialInventoryList(lswMaterialInventoryList); |
| | | pageList.add(vo); |
| | | return Result.ok(lswMaterialList); |
| | | } |
| | | |
| | | // Step.4 AutoPoi 导åºExcel |
| | | ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); |
| | | mv.addObject(NormalExcelConstants.FILE_NAME, "线边åºç©æä¿¡æ¯å表"); |
| | | mv.addObject(NormalExcelConstants.CLASS, LswMaterialPage.class); |
| | | mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("线边åºç©æä¿¡æ¯æ°æ®", "导åºäºº:" + sysUser.getRealname(), "线边åºç©æä¿¡æ¯")); |
| | | mv.addObject(NormalExcelConstants.DATA_LIST, pageList); |
| | | return mv; |
| | | } |
| | | |
| | | @GetMapping(value = "/searchlikeQuery") |
| | | public Result<?> searchlikeQuery(LswMaterial lswMaterial, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | IPage<Map<String, Object>> pageList = lswMaterialService.getLswMaterialListData(pageNo, pageSize, req); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInbound; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInboundService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | */ |
| | | @Api(tags="ç©æå
¥åºå") |
| | | @RestController |
| | | @RequestMapping("/lswmaterialinbound/lswMaterialInbound") |
| | | @RequestMapping("/lsw/materialInbound") |
| | | @Slf4j |
| | | public class LswMaterialInboundController extends JeecgController<LswMaterialInbound, ILswMaterialInboundService> { |
| | | @Autowired |
| | |
| | | */ |
| | | @AutoLog(value = "ç©æå
¥åºå-æ·»å ") |
| | | @ApiOperation(value="ç©æå
¥åºå-æ·»å ", notes="ç©æå
¥åºå-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inbound:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody LswMaterialInbound lswMaterialInbound) { |
| | | lswMaterialInboundService.save(lswMaterialInbound); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | if(lswMaterialInbound == null){ |
| | | return Result.error("å
¥åºä¿¡æ¯ä¸è½ä¸ºç©ºï¼"); |
| | | } |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if(sysUser == null){ |
| | | return Result.error("ç¨æ·ä¿¡æ¯è·å失败ï¼"); |
| | | } |
| | | lswMaterialInbound.setReceiver(sysUser.getUsername()); |
| | | boolean b = lswMaterialInboundService.inboundMaterial(lswMaterialInbound); |
| | | if(!b) { |
| | | return Result.error("å
¥åºå¤±è´¥ï¼"); |
| | | } |
| | | return Result.OK("å
¥åºæåï¼"); |
| | | } |
| | | |
| | | /** |
| | |
| | | package org.jeecg.modules.lsw.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; |
| | | import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: ç©æåºåä¿¡æ¯ |
| | |
| | | */ |
| | | @Api(tags="ç©æåºåä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/lswmaterialinventory/lswMaterialInventory") |
| | | @RequestMapping("/lsw/materialInventory") |
| | | @Slf4j |
| | | public class LswMaterialInventoryController extends JeecgController<LswMaterialInventory, ILswMaterialInventoryService> { |
| | | @Autowired |
| | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param lswMaterialInventory |
| | | * @param materialId |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "ç©æåºåä¿¡æ¯-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-å页å表æ¥è¯¢", notes="ç©æåºåä¿¡æ¯-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<LswMaterialInventory>> queryPageList(LswMaterialInventory lswMaterialInventory, |
| | | public Result<IPage<LswMaterialInventory>> queryPageList(@RequestParam(name = "materialId", defaultValue = "null") String materialId, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<LswMaterialInventory> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialInventory, req.getParameterMap()); |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LswMaterialInventory::getMaterialId, materialId); |
| | | queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); |
| | | queryWrapper.orderByDesc(LswMaterialInventory::getCreateTime); |
| | | Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); |
| | | IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param lswMaterialInventory |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåä¿¡æ¯-æ·»å ") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-æ·»å ", notes="ç©æåºåä¿¡æ¯-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody LswMaterialInventory lswMaterialInventory) { |
| | | lswMaterialInventoryService.save(lswMaterialInventory); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | @ApiOperation(value = "ç©æåºåä¿¡æ¯-ç»è®¡å线边åºç©æä¸ªæ°", notes = "ç©æåºåä¿¡æ¯-ç»è®¡å线边åºç©æä¸ªæ°") |
| | | @GetMapping(value = "/statisticsInventory") |
| | | public Result<String> statisticsInventory(@RequestParam(name = "materialId") String materialId) { |
| | | //åºåç»è®¡æ°é |
| | | List<MaterialInventoryStatisticsVO> list = lswMaterialInventoryService.statisticsInventory(materialId); |
| | | if(CollectionUtil.isEmpty(list)){ |
| | | return Result.OK("0"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param lswMaterialInventory |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåä¿¡æ¯-ç¼è¾") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-ç¼è¾", notes="ç©æåºåä¿¡æ¯-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody LswMaterialInventory lswMaterialInventory) { |
| | | lswMaterialInventoryService.updateById(lswMaterialInventory); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for(MaterialInventoryStatisticsVO vo : list){ |
| | | sb.append(vo.getWarehouseName()).append(": ").append(vo.getMaterialQuantity().stripTrailingZeros().toPlainString()).append(" | "); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåä¿¡æ¯-éè¿idå é¤") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-éè¿idå é¤", notes="ç©æåºåä¿¡æ¯-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | lswMaterialInventoryService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | return Result.OK(sb.toString()); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåä¿¡æ¯-æ¹éå é¤") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-æ¹éå é¤", notes="ç©æåºåä¿¡æ¯-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.lswMaterialInventoryService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "ç©æåºåä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="ç©æåºåä¿¡æ¯-éè¿idæ¥è¯¢", notes="ç©æåºåä¿¡æ¯-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<LswMaterialInventory> queryById(@RequestParam(name="id",required=true) String id) { |
| | | LswMaterialInventory lswMaterialInventory = lswMaterialInventoryService.getById(id); |
| | | if(lswMaterialInventory==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(lswMaterialInventory); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param lswMaterialInventory |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, LswMaterialInventory lswMaterialInventory) { |
| | | return super.exportXls(request, lswMaterialInventory, LswMaterialInventory.class, "ç©æåºåä¿¡æ¯"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("lsw_material_inventory:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, LswMaterialInventory.class); |
| | | } |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInbound; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialOutbound; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: ç©æåºåºå |
| | |
| | | */ |
| | | @Api(tags="ç©æåºåºå") |
| | | @RestController |
| | | @RequestMapping("/lswmaterialoutbound/lswMaterialOutbound") |
| | | @RequestMapping("/lsw/materialOutbound") |
| | | @Slf4j |
| | | public class LswMaterialOutboundController extends JeecgController<LswMaterialOutbound, ILswMaterialOutboundService> { |
| | | @Autowired |
| | |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "ç©æåºåºå-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="ç©æåºåºå-å页å表æ¥è¯¢", notes="ç©æåºåºå-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<LswMaterialOutbound>> queryPageList(LswMaterialOutbound lswMaterialOutbound, |
| | |
| | | QueryWrapper<LswMaterialOutbound> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialOutbound, req.getParameterMap()); |
| | | Page<LswMaterialOutbound> page = new Page<LswMaterialOutbound>(pageNo, pageSize); |
| | | IPage<LswMaterialOutbound> pageList = lswMaterialOutboundService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param lswMaterialOutbound |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåºå-æ·»å ") |
| | | @ApiOperation(value="ç©æåºåºå-æ·»å ", notes="ç©æåºåºå-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody LswMaterialOutbound lswMaterialOutbound) { |
| | | lswMaterialOutboundService.save(lswMaterialOutbound); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param lswMaterialOutbound |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåºå-ç¼è¾") |
| | | @ApiOperation(value="ç©æåºåºå-ç¼è¾", notes="ç©æåºåºå-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody LswMaterialOutbound lswMaterialOutbound) { |
| | | lswMaterialOutboundService.updateById(lswMaterialOutbound); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåºå-éè¿idå é¤") |
| | | @ApiOperation(value="ç©æåºåºå-éè¿idå é¤", notes="ç©æåºåºå-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | lswMaterialOutboundService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "ç©æåºåºå-æ¹éå é¤") |
| | | @ApiOperation(value="ç©æåºåºå-æ¹éå é¤", notes="ç©æåºåºå-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.lswMaterialOutboundService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "ç©æåºåºå-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="ç©æåºåºå-éè¿idæ¥è¯¢", notes="ç©æåºåºå-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<LswMaterialOutbound> queryById(@RequestParam(name="id",required=true) String id) { |
| | | LswMaterialOutbound lswMaterialOutbound = lswMaterialOutboundService.getById(id); |
| | | if(lswMaterialOutbound==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(lswMaterialOutbound); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param lswMaterialOutbound |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:lsw_material_outbound:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, LswMaterialOutbound lswMaterialOutbound) { |
| | | return super.exportXls(request, lswMaterialOutbound, LswMaterialOutbound.class, "ç©æåºåºå"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("lsw_material_outbound:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, LswMaterialOutbound.class); |
| | | } |
| | | @GetMapping(value = "/searchlikeQuery") |
| | | public Result<?> searchlikeQuery(LswMaterialOutbound lswMaterialOutbound, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req){ |
| | | IPage<Map<String, Object>> pageList = lswMaterialOutboundService.getlswMaterialOutboundListData(pageNo,pageSize,req); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | @Excel(name = "æ¥æºç¼ç ", width = 15) |
| | | @ApiModelProperty(value = "æ¥æºç¼ç ") |
| | | private String originalCode; |
| | | @Excel(name = "æ¥æºåç§°", width = 15) |
| | | @ApiModelProperty(value = "æ¥æºåç§°") |
| | | private String originalName; |
| | | /**产线ID*/ |
| | | @Excel(name = "产线ID", width = 15) |
| | | @ApiModelProperty(value = "产线ID") |
| | |
| | | @Excel(name = "å
¥åºæ°é", width = 15) |
| | | @ApiModelProperty(value = "å
¥åºæ°é") |
| | | private BigDecimal quantity; |
| | | /**å
¥åºç±»å*/ |
| | | @Excel(name = "å
¥åºç±»å", width = 15) |
| | | @ApiModelProperty(value = "å
¥åºç±»å") |
| | | @Dict(dicCode = "material_inbound_category") |
| | | private String inboundCategory; |
| | | /**æ¥æ¶äºº*/ |
| | | @Excel(name = "æ¥æ¶äºº", width = 15) |
| | | @ApiModelProperty(value = "æ¥æ¶äºº") |
| | | @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") |
| | | private String receiver; |
| | | /**æ¥æ¶æ¶é´*/ |
| | | @Excel(name = "æ¥æ¶æ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | |
| | | package org.jeecg.modules.lsw.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import javax.persistence.Table; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "åå»ºæ¥æ") |
| | | private Date createTime; |
| | | /**æ´æ°äºº*/ |
| | | @ApiModelProperty(value = "æ´æ°äºº") |
| | | private String updateBy; |
| | | /**æ´æ°æ¥æ*/ |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "æ´æ°æ¥æ") |
| | | private Date updateTime; |
| | | /**ç©æID*/ |
| | | @ApiModelProperty(value = "ç©æID") |
| | | private String materialId; |
| | |
| | | /**åºåç±»å*/ |
| | | @Excel(name = "åºåç±»å", width = 15) |
| | | @ApiModelProperty(value = "åºåç±»å") |
| | | @Dict(dicCode = "material_inventory_category") |
| | | private String inventoryCategory; |
| | | /**æ°é*/ |
| | | @Excel(name = "æ°é", width = 15) |
| | | @ApiModelProperty(value = "æ°é") |
| | | private BigDecimal quantity; |
| | | /**åºåå°ID*/ |
| | | @Excel(name = "åºåå°ID", width = 15) |
| | | @Excel(name = "åºåå°", width = 15) |
| | | @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name") |
| | | @ApiModelProperty(value = "åºåå°ID") |
| | | private String warehouseId; |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "åºåå°") |
| | | private String warehouseName; |
| | | private String warehouseId; |
| | | /**åºåç¶æ*/ |
| | | @Excel(name = "åºåç¶æ", width = 15) |
| | | @ApiModelProperty(value = "åºåç¶æ") |
| | | @Dict(dicCode = "material_inventory_status") |
| | | private String inventoryStatus; |
| | | /**çå¤çæ è¯*/ |
| | | @Excel(name = "çå¤çæ è¯", width = 15) |
| | | @ApiModelProperty(value = "çå¤çæ è¯") |
| | | private String heatTreatmentFlag; |
| | | |
| | | public LswMaterialInventory(){} |
| | | |
| | | public LswMaterialInventory(LswMaterialInbound inbound, String materialId, String inventoryCategory) { |
| | | public LswMaterialInventory(LswMaterialInbound inbound, String materialId, String inventoryCategory, String heatTreatmentFlag) { |
| | | this.warehouseId = inbound.getWarehouseId(); |
| | | this.quantity = inbound.getQuantity(); |
| | | this.batchNumber = inbound.getBatchNumber(); |
| | | this.inventoryStatus = MaterialInventoryStatusEnum.NORMAL.name(); |
| | | this.inventoryCategory = inventoryCategory; |
| | | this.materialId = materialId; |
| | | this.heatTreatmentFlag = heatTreatmentFlag; |
| | | } |
| | | } |
| | |
| | | /**产线ID*/ |
| | | @Excel(name = "产线ID", width = 15) |
| | | @ApiModelProperty(value = "产线ID") |
| | | @Dict(dictTable = "base_factory", dicCode = "id", dicText = "factory_name") |
| | | private String factoryId; |
| | | /**åºåID*/ |
| | | @Excel(name = "åºåID", width = 15) |
| | |
| | | /**线边åºID*/ |
| | | @Excel(name = "线边åºID", width = 15) |
| | | @ApiModelProperty(value = "线边åºID") |
| | | @Dict(dictTable = "base_line_side_warehouse", dicCode = "id", dicText = "warehouse_name") |
| | | private String warehouseId; |
| | | /**æ¹æ¬¡å·*/ |
| | | @Excel(name = "æ¹æ¬¡å·", width = 15) |
| | |
| | | /**åºåºäºº*/ |
| | | @Excel(name = "åºåºäºº", width = 15) |
| | | @ApiModelProperty(value = "åºåºäºº") |
| | | @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") |
| | | private String outboundStaff; |
| | | /**åºåºæ¶é´*/ |
| | | @Excel(name = "åºåºæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | |
| | | @Excel(name = "åºåºæ°é", width = 15) |
| | | @ApiModelProperty(value = "åºåºæ°é") |
| | | private BigDecimal quantity; |
| | | /**åºåºç±»å*/ |
| | | @Excel(name = "åºåºç±»å", width = 15) |
| | | @ApiModelProperty(value = "åºåºç±»å") |
| | | @Dict(dicCode = "material_outbound_category") |
| | | private String outboundCategory; |
| | | } |
| | |
| | | FINISHED_PRODUCT, //æå |
| | | OUTER_FLANGE, //夿³å
° |
| | | INNER_FLANGE, //å
æ³å
° |
| | | SMALL_INNER_RING, //å°å
å |
| | | STEEL_BALL, //é¢ç |
| | | COMPONENTS, //é
ä»¶ |
| | | BLANK; //æ¯å¯ |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.lsw.enums; |
| | | |
| | | public enum MaterialInboundCategory { |
| | | MATERIAL_TRANSFER_REQUEST, //ç©ææå¨ |
| | | PRODUCTION_INBOUND,//ç产ä¸çº¿ |
| | | HEAT_TREATMENT_INBOUND,//çå¤ç |
| | | SMALL_INNER_RING,//å°å
å |
| | | MATERIAL_INNER_TRANSFER, //å
é¨è°æ¨ |
| | | PRODUCTION_UNLOADING, //䏿 |
| | | ; |
| | | } |
| | |
| | | public enum MaterialInventoryCategoryEnum { |
| | | INBOUND, //å
¥åº |
| | | UNLOADING, //䏿 |
| | | TRANSFER, //è°æ¨ |
| | | ; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.lsw.enums; |
| | | |
| | | public enum MaterialOutboundCategory { |
| | | MATERIAL_LOADING, //䏿 |
| | | WAREHOUSE_TRANSFER, //ç§»åº |
| | | MATERIAL_INNER_TRANSFER, //å
é¨è°æ¨ |
| | | ; |
| | | } |
| | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; |
| | | import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | public interface LswMaterialInventoryMapper extends BaseMapper<LswMaterialInventory> { |
| | | |
| | | /** |
| | | * éè¿ä¸»è¡¨idå é¤åè¡¨æ°æ® |
| | | * |
| | | * @param mainId 主表id |
| | | * @return boolean |
| | | */ |
| | | public boolean deleteByMainId(@Param("mainId") String mainId); |
| | | |
| | | /** |
| | | * éè¿ä¸»è¡¨idæ¥è¯¢åè¡¨æ°æ® |
| | | * |
| | | * @param mainId 主表id |
| | | * @return List<LswMaterialInventory> |
| | | */ |
| | | public List<LswMaterialInventory> selectByMainId(@Param("mainId") String mainId); |
| | | |
| | | List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(@Param("materialNumberList") List<String> bomMaterialNumberList, |
| | | @Param("factoryId") String factoryId); |
| | | |
| | | /** |
| | | * åºåç»è®¡ |
| | | * @param materialId |
| | | * @return |
| | | */ |
| | | List<MaterialInventoryStatisticsVO> statisticsInventory(@Param("materialId") String materialId); |
| | | } |
| | |
| | | package org.jeecg.modules.lsw.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: 线边åºç©æä¿¡æ¯ |
| | |
| | | * @Version: V1.0 |
| | | */ |
| | | public interface LswMaterialMapper extends BaseMapper<LswMaterial> { |
| | | IPage<Map<String, Object>> getLswMaterialListData(IPage<Map> pageData, @Param("params")Map<String, String> paramMap); |
| | | |
| | | } |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper"> |
| | | |
| | | <delete id="deleteByMainId" parameterType="java.lang.String"> |
| | | DELETE |
| | | FROM lsw_material_inventory |
| | | WHERE |
| | | material_id = #{mainId} </delete> |
| | | |
| | | <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.lsw.entity.LswMaterialInventory"> |
| | | SELECT * |
| | | FROM lsw_material_inventory |
| | | WHERE |
| | | material_id = #{mainId} </select> |
| | | <select id="selectLineSideMaterialInventoryByMaterialNumber" |
| | | resultType="org.jeecg.modules.lsw.vo.LswMaterialInventoryVo"> |
| | | SELECT |
| | |
| | | t1.material_number, |
| | | t1.material_name |
| | | </select> |
| | | <select id="statisticsInventory" resultType="org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO"> |
| | | select m1.warehouse_id, m2.warehouse_name, m1.materialQuantity |
| | | from (select warehouse_id, SUM(quantity) as materialQuantity |
| | | from lsw_material_inventory |
| | | where material_id = #{materialId} |
| | | and inventory_status = 'NORMAL' |
| | | group by warehouse_id) m1 |
| | | left join base_line_side_warehouse m2 on m1.warehouse_id = m2.id |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.lsw.mapper.LswMaterialMapper"> |
| | | <select id="getLswMaterialListData" parameterType="Map" resultType="Map"> |
| | | select * from lsw_material WHERE 1=1 |
| | | <if test="params.materialNumber != null and params.materialNumber != ''"> |
| | | AND material_number LIKE CONCAT('%', #{params.materialNumber}, '%') |
| | | </if> |
| | | <if test="params.materialName != null and params.materialName != ''"> |
| | | AND material_name LIKE CONCAT('%', #{params.materialName}, '%') |
| | | </if> |
| | | <if test="params.materialModel != null and params.materialModel != ''"> |
| | | AND material_model LIKE CONCAT('%', #{params.materialModel}, '%') |
| | | </if> |
| | | <if test="params.materialCategory != null and params.materialCategory != ''"> |
| | | AND material_category = #{params.materialCategory} |
| | | </if> |
| | | </select> |
| | | </mapper> |
| | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; |
| | | import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @Version: V1.0 |
| | | */ |
| | | public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> { |
| | | |
| | | /** |
| | | * éè¿ä¸»è¡¨idæ¥è¯¢åè¡¨æ°æ® |
| | | * |
| | | * @param mainId 主表id |
| | | * @return List<LswMaterialInventory> |
| | | */ |
| | | public List<LswMaterialInventory> selectByMainId(String mainId); |
| | | /** éè¿ç©æç¼ç å线边åºidæ¥è¯¢ç©æåºå */ |
| | | List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId); |
| | | |
| | | /** |
| | | * åºåç»è®¡ |
| | | * @param materialId ç©æID |
| | | * @return |
| | | */ |
| | | List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId); |
| | | |
| | | /** |
| | | * æ¥è¯¢æªåºåºä¿¡æ¯ |
| | | * @param materialNumber |
| | | * @param batchNumber |
| | | * @param warehouseId |
| | | * @return |
| | | */ |
| | | LswMaterialInventory queryByMaterialNumberAndBatchNumber(String materialNumber, String batchNumber, String warehouseId); |
| | | } |
| | |
| | | package org.jeecg.modules.lsw.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.mes.entity.MesProductionOrder; |
| | | import org.jeecg.modules.sap.dto.OrderBomDTO; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | * @Version: V1.0 |
| | | */ |
| | | public interface ILswMaterialService extends IService<LswMaterial> { |
| | | |
| | | |
| | | IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req); |
| | | |
| | | /** |
| | | * ç¼è¾ç©æä¿¡æ¯ |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.modules.base.entity.LineSideWarehouse; |
| | | import org.jeecg.modules.base.service.ILineSideWarehouseService; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInbound; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialOutbound; |
| | | import org.jeecg.modules.lsw.enums.MaterialInboundCategory; |
| | | import org.jeecg.modules.lsw.enums.MaterialInventoryCategoryEnum; |
| | | import org.jeecg.modules.lsw.enums.MaterialOutboundCategory; |
| | | import org.jeecg.modules.lsw.mapper.LswMaterialInboundMapper; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInboundService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private ILswMaterialInventoryService inventoryService; |
| | | @Autowired |
| | | private ILswMaterialService materialService; |
| | | @Autowired |
| | | private ILineSideWarehouseService lineSideWarehouseService; |
| | | @Autowired |
| | | private ILswMaterialOutboundService materialOutboundService; |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> getlswMaterialInboundListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { |
| | |
| | | || StringUtils.isBlank(materialInbound.getFactoryId()) |
| | | || StringUtils.isBlank(materialInbound.getWarehouseId()) |
| | | || materialInbound.getQuantity() == null |
| | | || materialInbound.getQuantity().intValue() > 0 |
| | | || StringUtils.isBlank(materialInbound.getBatchNumber())) { |
| | | return false; |
| | | || materialInbound.getQuantity().intValue() < 1 |
| | | || StringUtils.isBlank(materialInbound.getBatchNumber()) |
| | | || StringUtils.isBlank(materialInbound.getOriginalCode()) |
| | | || StringUtils.isBlank(materialInbound.getOriginalName()) |
| | | || StringUtils.isBlank(materialInbound.getInboundCategory())) { |
| | | throw new JeecgBootException("åæ°é误ï¼"); |
| | | } |
| | | LswMaterial material = materialService.queryByMaterialNumber(materialInbound.getMaterialNumber()); |
| | | if(material == null) { |
| | | return false; |
| | | throw new JeecgBootException("ç©æç¼å·ä¸åå¨ï¼"); |
| | | } |
| | | LineSideWarehouse warehouse = lineSideWarehouseService.getById(materialInbound.getWarehouseId()); |
| | | if (warehouse == null) { |
| | | throw new JeecgBootException("线边åºä¸åå¨ï¼"); |
| | | } |
| | | String heatTreatmentFlag = CommonConstant.STATUS_0; |
| | | if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.HEAT_TREATMENT_INBOUND.name())) { |
| | | heatTreatmentFlag = CommonConstant.STATUS_1; |
| | | } |
| | | //åºåç±»å |
| | | String inventoryCategory = MaterialInventoryCategoryEnum.INBOUND.name(); |
| | | if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.MATERIAL_INNER_TRANSFER.name())) { |
| | | inventoryCategory = MaterialInventoryCategoryEnum.TRANSFER.name(); |
| | | //æ¥è¯¢æ¥æºçº¿è¾¹åº |
| | | LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.queryByWarehouseCode(materialInbound.getOriginalCode()); |
| | | if (lineSideWarehouse == null) { |
| | | throw new JeecgBootException("æªæ¾å°æ¥æºçº¿è¾¹åºï¼"); |
| | | } |
| | | //è°æ¨ åºåºåå§åºå |
| | | LswMaterialInventory originalInventory = inventoryService.queryByMaterialNumberAndBatchNumber(materialInbound.getMaterialNumber(), materialInbound.getBatchNumber(), lineSideWarehouse.getId()); |
| | | if (originalInventory == null) { |
| | | throw new JeecgBootException("æªæ¾å°æ¥æºçº¿è¾¹åºåºåï¼"); |
| | | } |
| | | if (materialInbound.getQuantity().compareTo(originalInventory.getQuantity()) != 0) { |
| | | throw new JeecgBootException("è°æ¨æ°ééè¦çäºæ¥æºåºåæ°éï¼"); |
| | | } |
| | | //åºåºä¿¡æ¯ |
| | | LswMaterialOutbound outbound = new LswMaterialOutbound(); |
| | | outbound.setWarehouseId(lineSideWarehouse.getId()); |
| | | outbound.setFactoryId(lineSideWarehouse.getFactoryId()); |
| | | outbound.setOutboundStaff(materialInbound.getReceiver()); |
| | | outbound.setMaterialName(materialInbound.getMaterialName()); |
| | | outbound.setMaterialNumber(materialInbound.getMaterialNumber()); |
| | | outbound.setQuantity(originalInventory.getQuantity()); |
| | | outbound.setBatchNumber(originalInventory.getBatchNumber()); |
| | | outbound.setInventoryId(originalInventory.getId()); |
| | | outbound.setOutboundCategory(MaterialOutboundCategory.MATERIAL_INNER_TRANSFER.name()); |
| | | //è°æ¨åºåº |
| | | boolean b = materialOutboundService.outboundMaterial(outbound); |
| | | if (!b) { |
| | | throw new JeecgBootException("è°æ¨åºåºå¤±è´¥ï¼"); |
| | | } |
| | | } else if (materialInbound.getInboundCategory().equals(MaterialInboundCategory.PRODUCTION_UNLOADING.name())) { |
| | | inventoryCategory = MaterialInventoryCategoryEnum.UNLOADING.name(); |
| | | } |
| | | //ä¿åå
¥åºä¿¡æ¯ |
| | | materialInbound.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | materialInbound.setReceiveTime(new Date()); |
| | | super.save(materialInbound); |
| | | //ä¿ååºåä¿¡æ¯ |
| | | LswMaterialInventory lswMaterialInventory = new LswMaterialInventory(materialInbound, material.getId(), material.getMaterialCategory()); |
| | | LswMaterialInventory lswMaterialInventory = new LswMaterialInventory(materialInbound, material.getId(), inventoryCategory, heatTreatmentFlag); |
| | | inventoryService.save(lswMaterialInventory); |
| | | return true; |
| | | } |
| | |
| | | package org.jeecg.modules.lsw.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; |
| | | import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialService; |
| | | import org.jeecg.modules.lsw.vo.LswMaterialInventoryVo; |
| | | import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private LswMaterialInventoryMapper lswMaterialInventoryMapper; |
| | | |
| | | @Override |
| | | public List<LswMaterialInventory> selectByMainId(String mainId) { |
| | | return lswMaterialInventoryMapper.selectByMainId(mainId); |
| | | } |
| | | @Autowired |
| | | private ILswMaterialService materialService; |
| | | |
| | | @Override |
| | | public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) { |
| | | return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); |
| | | } |
| | | |
| | | @Override |
| | | public List<MaterialInventoryStatisticsVO> statisticsInventory(String materialId) { |
| | | return lswMaterialInventoryMapper.statisticsInventory(materialId); |
| | | } |
| | | |
| | | @Override |
| | | public LswMaterialInventory queryByMaterialNumberAndBatchNumber(String materialNumber, String batchNumber, String warehouseId) { |
| | | LswMaterial material = materialService.queryByMaterialNumber(materialNumber); |
| | | if (material == null) { |
| | | return null; |
| | | } |
| | | LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(LswMaterialInventory::getWarehouseId, warehouseId); |
| | | queryWrapper.eq(LswMaterialInventory::getMaterialId, material.getId()); |
| | | queryWrapper.eq(LswMaterialInventory::getBatchNumber, batchNumber); |
| | | queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); |
| | | return lswMaterialInventoryMapper.selectOne(queryWrapper); |
| | | } |
| | | } |
| | |
| | | || StringUtils.isBlank(outbound.getFactoryId()) |
| | | || StringUtils.isBlank(outbound.getWarehouseId()) |
| | | || outbound.getQuantity() == null |
| | | || outbound.getQuantity().intValue() > 0 |
| | | || outbound.getQuantity().intValue() < 1 |
| | | || StringUtils.isBlank(outbound.getBatchNumber()) |
| | | || StringUtils.isBlank(outbound.getInventoryId())) { |
| | | return false; |
| | |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.modules.lsw.entity.LswMaterial; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper; |
| | | import org.jeecg.modules.lsw.mapper.LswMaterialMapper; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialService; |
| | | import org.jeecg.modules.mes.entity.MesProductionOrder; |
| | | import org.jeecg.modules.pms.entity.PmsProcessBillMaterials; |
| | | import org.jeecg.modules.sap.dto.OrderBomDTO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.Serializable; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.Collection; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @Description: 线边åºç©æä¿¡æ¯ |
| | |
| | | */ |
| | | @Service |
| | | public class LswMaterialServiceImpl extends ServiceImpl<LswMaterialMapper, LswMaterial> implements ILswMaterialService { |
| | | |
| | | @Autowired |
| | | private LswMaterialMapper lswMaterialMapper; |
| | | @Autowired |
| | | private LswMaterialInventoryMapper lswMaterialInventoryMapper; |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> getLswMaterialListData(Integer pageNo, Integer pageSize, HttpServletRequest req) { |
| | | IPage<Map> pageData = new Page<Map>(pageNo, pageSize); |
| | | Map<String, String> paramMap = new HashMap<String, String>(); |
| | | Map<String, String[]> parameterMap = req.getParameterMap(); |
| | | if (null != parameterMap) { |
| | | if (parameterMap.containsKey("materialNumber") && StringUtils.isNotBlank(parameterMap.get("materialNumber")[0])) { |
| | | paramMap.put("materialNumber", parameterMap.get("materialNumber")[0]); |
| | | } |
| | | if (parameterMap.containsKey("materialName") && StringUtils.isNotBlank(parameterMap.get("materialName")[0])) { |
| | | paramMap.put("materialName", parameterMap.get("materialName")[0].trim()); |
| | | } |
| | | if (parameterMap.containsKey("materialModel") && StringUtils.isNotBlank(parameterMap.get("materialModel")[0])) { |
| | | paramMap.put("materialModel", parameterMap.get("materialModel")[0].trim()); |
| | | } |
| | | if (parameterMap.containsKey("materialCategory") && StringUtils.isNotBlank(parameterMap.get("materialCategory")[0])) { |
| | | paramMap.put("materialCategory", parameterMap.get("materialCategory")[0].trim()); |
| | | } |
| | | } |
| | | return super.getBaseMapper().getLswMaterialListData(pageData, paramMap); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.lsw.vo; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | @Data |
| | | public class MaterialInventoryStatisticsVO { |
| | | //åºåå°ID |
| | | private String warehouseId; |
| | | //åºåå°åç§° |
| | | private String warehouseName; |
| | | //åºåæ»æ° |
| | | private BigDecimal materialQuantity; |
| | | } |
| | |
| | | package org.jeecg.modules.wms.config; |
| | | |
| | | import org.apache.cxf.Bus; |
| | | import org.apache.cxf.bus.spring.SpringBus; |
| | | import org.apache.cxf.jaxws.EndpointImpl; |
| | | import org.apache.cxf.transport.servlet.CXFServlet; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | |
| | | @Configuration |
| | | public class WebServiceServerConfig { |
| | | @Autowired |
| | | private MESWebServiceSoap webServiceSoap; |
| | | |
| | | @Bean(name = Bus.DEFAULT_BUS_ID) |
| | | public Bus springBus() { |
| | | return new SpringBus(); |
| | | } |
| | | private Bus bus; |
| | | @Autowired |
| | | private MESWebServiceSoap mesWebServiceSoap; |
| | | |
| | | @Bean(name = "cxfServlet") // 注å
¥servlet bean nameä¸è½dispatcherServlet ,å¦åä¼è¦çdispatcherServlet |
| | | public ServletRegistrationBean<CXFServlet> cxfServlet() { |
| | |
| | | @Bean |
| | | public Endpoint endpoint() { |
| | | // åæ°äºï¼æ¯SEIå®ç°ç±»å¯¹è±¡ |
| | | Endpoint endpoint = new EndpointImpl(this.springBus(), webServiceSoap); |
| | | Endpoint endpoint = new EndpointImpl(bus, mesWebServiceSoap); |
| | | // åå¸æå¡ |
| | | endpoint.publish("/MESWebService"); |
| | | |
| | | return endpoint; |
| | | } |
| | | } |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.dto.MESResponse; |
| | | import org.jeecg.modules.wms.request.*; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | | import org.jeecg.modules.wms.service.WMSWebServiceClient; |
| | |
| | | MESWebServiceSoap service = (MESWebServiceSoap) factory.create(); |
| | | ReceiveWMSScanItemList request = new ReceiveWMSScanItemList(); |
| | | request.setWmsWebServiceSendItemList(list); |
| | | WSResponse response = service.receiveWMSScanItemList(request); |
| | | MESResponse response = service.receiveWMSScanItemList(request); |
| | | return Result.ok(response); |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms.dto; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | @Getter |
| | | @Setter |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "MESResponse", propOrder = { |
| | | "errorCode", |
| | | "errorDesc" |
| | | }, namespace = "http://xhj008.server.webservice.com/") |
| | | public class MESResponse { |
| | | @XmlElement(name = "ErrorCode", namespace = "http://xhj008.server.webservice.com/") |
| | | protected String errorCode; |
| | | @XmlElement(name = "ErrorDesc", namespace = "http://xhj008.server.webservice.com/") |
| | | protected String errorDesc; |
| | | } |
| | |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "receiveWMSScanItemListResult" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveWMSScanItemListResponse") |
| | | }, namespace = "http://xhj008.server.webservice.com/") |
| | | @XmlRootElement(name = "ReceiveWMSScanItemListResponse", namespace = "http://xhj008.server.webservice.com/") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveWMSScanItemListResponse { |
| | | @XmlElement(name = "ReceiveWMSScanItemListResult") |
| | | protected WSResponse receiveWMSScanItemListResult; |
| | | @XmlElement(name = "ReceiveWMSScanItemListResult", namespace = "http://xhj008.server.webservice.com/") |
| | | protected MESResponse receiveWMSScanItemListResult; |
| | | } |
| | |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "wmsWebServiceSendItemList" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveWMSScanItemList") |
| | | }, namespace = "http://xhj008.server.webservice.com/") |
| | | @XmlRootElement(name = "ReceiveWMSScanItemList", namespace = "http://xhj008.server.webservice.com/") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveWMSScanItemList { |
| | | |
| | | @XmlElementWrapper(name = "ArrayOfWMSWebServiceSendItem") |
| | | @XmlElement(name = "WMSWebServiceSendItem", nillable = true) |
| | | @XmlElementWrapper(name = "ArrayOfWMSWebServiceSendItem", namespace = "http://xhj008.server.webservice.com/") |
| | | @XmlElement(name = "WMSWebServiceSendItem", nillable = true, namespace = "http://xhj008.server.webservice.com/") |
| | | protected List<WMSWebServiceSendItem> wmsWebServiceSendItemList; |
| | | } |
| | |
| | | "stageID", |
| | | "remark", |
| | | "orderCode" |
| | | }) |
| | | }, namespace = "http://xhj008.server.webservice.com/") |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class WMSWebServiceSendItem { |
| | | |
| | | /**å·¥åç¼ç */ |
| | | @XmlElement(name = "FactoryCode") |
| | | @XmlElement(name = "FactoryCode", namespace = "http://xhj008.server.webservice.com/") |
| | | private String factoryCode; |
| | | /** ç©æç¼ç */ |
| | | @XmlElement(name = "SkuCode") |
| | | @XmlElement(name = "SkuCode", namespace = "http://xhj008.server.webservice.com/") |
| | | private String skuCode; |
| | | /** é¢çå· */ |
| | | @XmlElement(name = "ReservationOrder") |
| | | @XmlElement(name = "ReservationOrder", namespace = "http://xhj008.server.webservice.com/") |
| | | private String reservationOrder; |
| | | /** MESç§»åºåå· */ |
| | | @XmlElement(name = "Align") |
| | | @XmlElement(name = "Align", namespace = "http://xhj008.server.webservice.com/") |
| | | private String align; |
| | | /** æå· */ |
| | | @XmlElement(name = "Pallet") |
| | | @XmlElement(name = "Pallet", namespace = "http://xhj008.server.webservice.com/") |
| | | private String pallet; |
| | | /** å
è£
ç¼ç */ |
| | | @XmlElement(name = "PackageNo") |
| | | @XmlElement(name = "PackageNo", namespace = "http://xhj008.server.webservice.com/") |
| | | private String packageNo; |
| | | /** æ¹æ¬¡å· */ |
| | | @XmlElement(name = "TrackLot") |
| | | @XmlElement(name = "TrackLot", namespace = "http://xhj008.server.webservice.com/") |
| | | private String trackLot; |
| | | /** ç³»åå· */ |
| | | @XmlElement(name = "Series") |
| | | @XmlElement(name = "Series", namespace = "http://xhj008.server.webservice.com/") |
| | | private String series; |
| | | /** MESåºåID */ |
| | | @XmlElement(name = "MesStockID") |
| | | @XmlElement(name = "MesStockID", namespace = "http://xhj008.server.webservice.com/") |
| | | private String mesStockID; |
| | | /** æ°é */ |
| | | @XmlElement(name = "Quantity") |
| | | @XmlElement(name = "Quantity", namespace = "http://xhj008.server.webservice.com/") |
| | | private BigDecimal quantity; |
| | | /** SAPæ¹æ¬¡å· */ |
| | | @XmlElement(name = "SapTrackLot") |
| | | @XmlElement(name = "SapTrackLot", namespace = "http://xhj008.server.webservice.com/") |
| | | private String sapTrackLot; |
| | | /** åéåºåå° */ |
| | | @XmlElement(name = "Section") |
| | | @XmlElement(name = "Section", namespace = "http://xhj008.server.webservice.com/") |
| | | private String section; |
| | | /** ç®æ åºåå° */ |
| | | @XmlElement(name = "DestSection") |
| | | @XmlElement(name = "DestSection", namespace = "http://xhj008.server.webservice.com/") |
| | | private String destSection; |
| | | /** ä¾åºå代ç */ |
| | | @XmlElement(name = "SupplierCode") |
| | | @XmlElement(name = "SupplierCode", namespace = "http://xhj008.server.webservice.com/") |
| | | private String supplierCode; |
| | | /** ä¾åºåæ¹æ¬¡å· */ |
| | | @XmlElement(name = "SupplierTrackLot") |
| | | @XmlElement(name = "SupplierTrackLot", namespace = "http://xhj008.server.webservice.com/") |
| | | private String supplierTrackLot; |
| | | /** é¶æ®µID */ |
| | | @XmlElement(name = "StageID") |
| | | @XmlElement(name = "StageID", namespace = "http://xhj008.server.webservice.com/") |
| | | private String stageID; |
| | | /** 夿³¨ */ |
| | | @XmlElement(name = "Remark") |
| | | @XmlElement(name = "Remark", namespace = "http://xhj008.server.webservice.com/") |
| | | private String remark; |
| | | /** 订åç¼ç */ |
| | | @XmlElement(name = "OrderCode") |
| | | @XmlElement(name = "OrderCode", namespace = "http://xhj008.server.webservice.com/") |
| | | private String orderCode; |
| | | } |
| | |
| | | package org.jeecg.modules.wms.service; |
| | | |
| | | import org.jeecg.modules.wms.MESObjectFactory; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.dto.MESResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; |
| | | |
| | | import javax.jws.WebMethod; |
| | | import javax.jws.WebParam; |
| | | import javax.jws.WebResult; |
| | | import javax.jws.WebService; |
| | | import javax.xml.bind.annotation.XmlSeeAlso; |
| | | import javax.xml.ws.RequestWrapper; |
| | | import javax.xml.ws.ResponseWrapper; |
| | | |
| | | @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com/") |
| | | @XmlSeeAlso({MESObjectFactory.class}) |
| | | public interface MESWebServiceSoap { |
| | | /** |
| | | * æ¥æ¶WMSç§»åºä¿¡æ¯ |
| | | * @param request |
| | | * @param wmsWebServiceSendItemList |
| | | * @return |
| | | */ |
| | | @WebMethod(operationName = "ReceiveWMSScanItemList", action = "http://xhj008.server.webservice.com/ReceiveWMSScanItemList") |
| | | @RequestWrapper(localName = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemList") |
| | | @ResponseWrapper(localName = "ReceiveWMSScanItemListResponse", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemListResponse") |
| | | @WebResult(name = "ReceiveWMSScanItemListResult", targetNamespace = "http://xhj008.server.webservice.com/") |
| | | WSResponse receiveWMSScanItemList(@WebParam(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/") ReceiveWMSScanItemList request); |
| | | MESResponse receiveWMSScanItemList( |
| | | @WebParam(name = "wmsWebServiceSendItemList", targetNamespace = "http:/xhj008.server.webservice.com/") |
| | | ReceiveWMSScanItemList wmsWebServiceSendItemList); |
| | | } |
| | |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInbound; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialInventory; |
| | | import org.jeecg.modules.lsw.entity.LswMaterialOutbound; |
| | | import org.jeecg.modules.lsw.enums.MaterialInboundCategory; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInboundService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; |
| | | import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; |
| | |
| | | import org.jeecg.modules.mes.enums.TransferOrderStatusEnum; |
| | | import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService; |
| | | import org.jeecg.modules.mes.service.IMesTransferOrderPrintService; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.dto.MESResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; |
| | | import org.jeecg.modules.wms.request.WMSWebServiceSendItem; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.jws.WebMethod; |
| | | import javax.jws.WebParam; |
| | | import javax.jws.WebResult; |
| | | import javax.jws.WebService; |
| | | import javax.xml.ws.RequestWrapper; |
| | | import javax.xml.ws.ResponseWrapper; |
| | | import java.math.BigDecimal; |
| | | |
| | | |
| | | @Slf4j |
| | | @Service |
| | | @Service("MESWebServiceSoap") |
| | | @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.MESWebServiceSoap") |
| | | public class MESWebServiceSoapImpl implements MESWebServiceSoap { |
| | | |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @WebMethod(operationName = "ReceiveWMSScanItemList", action = "http://xhj008.server.webservice.com/ReceiveWMSScanItemList") |
| | | @RequestWrapper(localName = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemList") |
| | | @ResponseWrapper(localName = "ReceiveWMSScanItemListResponse", targetNamespace = "http://xhj008.server.webservice.com/", className = "ReceiveWMSScanItemListResponse") |
| | | @WebResult(name = "ReceiveWMSScanItemListResult", targetNamespace = "http://xhj008.server.webservice.com/") |
| | | @ApiLog(apiName = "æ¥æ¶WMSçç§»åºä¿¡æ¯(ReceiveWMSScanItemList(MES)", apiCategory = ApiLogCategoryEnum.WMS) |
| | | public WSResponse receiveWMSScanItemList(@WebParam(name = "ReceiveWMSScanItemList", targetNamespace = "http://xhj008.server.webservice.com/") ReceiveWMSScanItemList request) { |
| | | WSResponse response = new WSResponse(); |
| | | public MESResponse receiveWMSScanItemList(ReceiveWMSScanItemList request) { |
| | | MESResponse response = new MESResponse(); |
| | | if (request == null || CollectionUtil.isEmpty(request.getWmsWebServiceSendItemList())) { |
| | | response.setErrorCode("N"); |
| | | response.setErrorDesc("ä¼ å
¥çåæ°ä¸ºç©ºï¼"); |
| | |
| | | |
| | | //æ·»å å
¥åºä¿¡æ¯ |
| | | LswMaterialInbound inbound = new LswMaterialInbound(); |
| | | inbound.setOriginalCode(transferRequest.getOriginalWarehouseId()); |
| | | inbound.setOriginalName("WMS"); |
| | | inbound.setWarehouseId(transferRequest.getTargetWarehouseId()); |
| | | inbound.setReceiver("WMS"); |
| | | inbound.setMaterialNumber(transferRequest.getMaterialNumber()); |
| | |
| | | inbound.setBatchNumber(item.getTrackLot()); |
| | | inbound.setQuantity(item.getQuantity()); |
| | | inbound.setFactoryId(warehouse.getFactoryId()); |
| | | inbound.setInboundCategory(MaterialInboundCategory.MATERIAL_TRANSFER_REQUEST.name()); |
| | | boolean b = materialInboundService.inboundMaterial(inbound); |
| | | if (!b) { |
| | | errorCount++; |