Merge remote-tracking branch 'origin/master'
# Conflicts:
# db/双林新火炬MES数据库设计.pdma.json
已重命名1个文件
已添加21个文件
已修改28个文件
已删除11个文件
| | |
| | | "name": "åææ°ç«ç¬MESæ°æ®åºè®¾è®¡", |
| | | "describe": "æè¿°åèªæ°ç«ç¬MESæ°æ®åºè®¾è®¡è¯¦æ
", |
| | | "avatar": "", |
| | | "version": "4.9.4", |
| | | "version": "4.9.2", |
| | | "createdTime": "2025-3-10 16:38:19", |
| | | "updatedTime": "2025-8-18 15:02:20", |
| | | "dbConns": [], |
| | |
| | | "#DDE5FF" |
| | | ], |
| | | "DDLToggleCase": "L", |
| | | "menuWidth": "296px" |
| | | "menuWidth": "364px" |
| | | }, |
| | | "entities": [ |
| | | { |
| | |
| | | "id": "FC8D8EFD-EDAD-42FD-81CA-B2B3962BD05F" |
| | | }, |
| | | { |
| | | "defKey": "publish_time", |
| | | "defName": "å叿¶é´", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "refDict": "", |
| | | "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", |
| | | "extProps": {}, |
| | | "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", |
| | | "id": "7BC5A8E6-31E0-4B70-BAC5-87EFF639FE63" |
| | | }, |
| | | { |
| | | "defKey": "request_status", |
| | | "defName": "请æ±ç¶æ", |
| | | "comment": "", |
| | |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "hideInGraph": true, |
| | | "refDict": "", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", |
| | | "extProps": {}, |
| | |
| | | }, |
| | | { |
| | | "defKey": "original_warehouse_id", |
| | | "defName": "ååºåå°", |
| | | "defName": "èµ·å§åºåå°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | |
| | | "extProps": {}, |
| | | "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", |
| | | "id": "F0CEC477-F5FE-4622-83DB-FBFDA4344E30" |
| | | }, |
| | | { |
| | | "defKey": "material_number", |
| | | "defName": "ç©æç¼ç ", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "0B5A2CD6-7472-4E18-ACB1-6418C2A8A109", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "material_name", |
| | | "defName": "ç©æåç§°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "AFBDF9D2-3B49-4620-9541-C15731785905", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "specified_quantity", |
| | | "defName": "ç论æå¨æ°é", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "60A2C50B-3F37-4319-B53A-72AE3E55CAFC", |
| | | "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" |
| | | }, |
| | | { |
| | | "defKey": "actual_quantity", |
| | | "defName": "å®é
æå¨æ°é", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "AE123111-CDE3-4CFE-96ED-EFA3D3115CD2", |
| | | "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" |
| | | }, |
| | | { |
| | | "defKey": "remaining_quantity", |
| | | "defName": "车é´å©ä½æ°é", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "12249855-7F62-4734-B5B8-1AACBE2A50CC", |
| | | "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | |
| | | "attr9": "", |
| | | "id": "4B21EDEF-B9C4-48C7-BF6A-AC5ABA159B8A", |
| | | "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | | "indexes": [], |
| | | "type": "P" |
| | | }, |
| | | { |
| | | "id": "2FF92658-07FE-49BC-A690-E24FA5226BB3", |
| | | "env": { |
| | | "base": { |
| | | "nameSpace": "", |
| | | "codeRoot": "" |
| | | } |
| | | }, |
| | | "defKey": "mes_material_transfer_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": "F7E0BFAE-F178-43E0-8482-2DCE7CEFB184" |
| | | }, |
| | | { |
| | | "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": "F445F433-E877-4D2A-8ECE-03043F0ACB7D", |
| | | "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": "E690295E-8BFF-49DA-8966-6A3FE3824883", |
| | | "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": "E3C7E33A-8B8C-4F70-BA59-3B5A10C50734", |
| | | "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": "93258189-F627-4142-BC39-0295E3A52033", |
| | | "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": "F80D66E7-8670-4B1C-9940-041DBAD0580A" |
| | | }, |
| | | { |
| | | "defKey": "request_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": "850A2C7A-D321-4283-B735-7BCC56DF7933" |
| | | }, |
| | | { |
| | | "defKey": "material_number", |
| | | "defName": "ç©æç¼ç ", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": false, |
| | | "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "E77D6EFA-7408-4891-888B-D6FC2CF8E6E5", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "material_name", |
| | | "defName": "ç©æåç§°", |
| | | "comment": "", |
| | | "type": "", |
| | | "len": "", |
| | | "scale": "", |
| | | "primaryKey": false, |
| | | "notNull": false, |
| | | "autoIncrement": false, |
| | | "defaultValue": "", |
| | | "hideInGraph": true, |
| | | "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", |
| | | "refDict": "", |
| | | "extProps": {}, |
| | | "notes": {}, |
| | | "attr1": "", |
| | | "attr2": "", |
| | | "attr3": "", |
| | | "attr4": "", |
| | | "attr5": "", |
| | | "attr6": "", |
| | | "attr7": "", |
| | | "attr8": "", |
| | | "attr9": "", |
| | | "id": "270E5417-96C7-4540-AC29-07C8FCC3CD38", |
| | | "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" |
| | | }, |
| | | { |
| | | "defKey": "specified_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": "D7028092-5311-4FC1-B6F2-19B1FFBFA85B" |
| | | }, |
| | | { |
| | | "defKey": "actual_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": "4E9708B3-14B0-45A0-A3B8-351D759C7B47" |
| | | }, |
| | | { |
| | | "defKey": "remaining_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": "FE041E9A-5D05-42EE-AA33-C563B66B99A5" |
| | | } |
| | | ], |
| | | "correlations": [], |
| | |
| | | "70FEB6D0-FC18-42C5-8608-34E8BBB4A406", |
| | | "D16FD5E0-8B16-4C0E-AD67-6E5C2FED1A65", |
| | | "5835D3E9-4B10-48DC-B116-584E447AA201", |
| | | "2FF92658-07FE-49BC-A690-E24FA5226BB3", |
| | | "23C6B8F0-0010-4453-B3C2-9305746C37AB", |
| | | "D3263A0C-1D6A-453A-B933-86651B5566FE" |
| | | ], |
| | |
| | | </nonFilteredFileExtensions> |
| | | </configuration> |
| | | </plugin> |
| | | <!-- CXF Codegen Pluginï¼æ ¹æ® WSDL çæ Java 客æ·ç«¯ä»£ç --> |
| | | <plugin> |
| | | <groupId>org.apache.cxf</groupId> |
| | | <artifactId>cxf-codegen-plugin</artifactId> |
| | | <version>3.5.5</version> <!-- ä½ å¯ä»¥ä½¿ç¨ææ°ç稳å®çæ¬ï¼æ¯å¦ 3.5.6 / 4.x --> |
| | | <executions> |
| | | <execution> |
| | | <id>generate-sources</id> |
| | | <phase>generate-sources</phase> |
| | | <goals> |
| | | <goal>wsdl2java</goal> |
| | | </goals> |
| | | <configuration> |
| | | <!-- æå®çæç Java ç±» æ¾å¨åªä¸ªç®å½ä¸ï¼éå¸¸æ¯ target/generated-sources/cxfï¼ --> |
| | | <sourceRoot>${project.basedir}/target/generated-sources/cxf</sourceRoot> |
| | | <wsdlOptions> |
| | | <wsdlOption> |
| | | <wsdl>${basedir}/src/main/resources/wsdl/WebService.asmx.wsdl</wsdl> |
| | | <!-- æè
ç´æ¥ä½¿ç¨ WSDL çç½ç»å°å --> |
| | | <!-- <wsdl>http://10.101.0.182:8002/MesWebService/WebService.asmx?wsdl</wsdl> --> |
| | | </wsdlOption> |
| | | </wsdlOptions> |
| | | </configuration> |
| | | </execution> |
| | | </executions> |
| | | </plugin> |
| | | </plugins> |
| | | <resources> |
| | | <resource> |
| | |
| | | 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.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonButtonConfig; |
| | | import org.jeecg.modules.andon.service.IAndonButtonConfigService; |
| | | import org.jeecg.modules.andon.service.impl.AndonOrderServiceImpl; |
| | | 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; |
| | | |
| | | /** |
| | | * @Description: å®ç¯æé®é
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="å®ç¯æé®é
ç½®") |
| | | * @Description: å®ç¯æé®é
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags = "å®ç¯æé®é
ç½®") |
| | | @RestController |
| | | @RequestMapping("/andonbuttonconfig/andonButtonConfig") |
| | | @Slf4j |
| | | public class AndonButtonConfigController extends JeecgController<AndonButtonConfig, IAndonButtonConfigService> { |
| | | @Autowired |
| | | private IAndonButtonConfigService andonButtonConfigService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonButtonConfig |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-å页å表æ¥è¯¢", notes="å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonButtonConfig>> queryPageList(AndonButtonConfig andonButtonConfig, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonButtonConfig> queryWrapper = QueryGenerator.initQueryWrapper(andonButtonConfig, req.getParameterMap()); |
| | | Page<AndonButtonConfig> page = new Page<AndonButtonConfig>(pageNo, pageSize); |
| | | IPage<AndonButtonConfig> pageList = andonButtonConfigService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | |
| | | @Autowired |
| | | private IAndonButtonConfigService andonButtonConfigService; |
| | | @Autowired |
| | | private AndonOrderServiceImpl andonOrderServiceImpl; |
| | | |
| | | /** |
| | | * APPå页å表æ¥è¯¢ |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonButtonConfig |
| | | * @param pageNo |
| | |
| | | * @param req |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-å页å表æ¥è¯¢", notes="å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/App/list") |
| | | public Result<IPage<AndonButtonConfig>> queryPageAppList(AndonButtonConfig andonButtonConfig, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | //@AutoLog(value = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢", notes = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonButtonConfig>> queryPageList(AndonButtonConfig andonButtonConfig, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonButtonConfig> queryWrapper = QueryGenerator.initQueryWrapper(andonButtonConfig, req.getParameterMap()); |
| | | |
| | | // è·åå½åç»å½ç¨æ· |
| | | LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (sysUser != null) { |
| | | // å¢å éè¿ç³»ç»ç»å½äººè¿è¡è¿æ»¤ |
| | | queryWrapper.eq("create_by", sysUser.getUsername()); |
| | | } |
| | | |
| | | Page<AndonButtonConfig> page = new Page<AndonButtonConfig>(pageNo, pageSize); |
| | | IPage<AndonButtonConfig> pageList = andonButtonConfigService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonButtonConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-æ·»å ") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-æ·»å ", notes="å®ç¯æé®é
ç½®-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonButtonConfig andonButtonConfig) { |
| | | andonButtonConfigService.save(andonButtonConfig); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonButtonConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-ç¼è¾") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-ç¼è¾", notes="å®ç¯æé®é
ç½®-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonButtonConfig andonButtonConfig) { |
| | | andonButtonConfigService.updateById(andonButtonConfig); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | /** |
| | | * APPå®ç¯æé®å表æ¥è¯¢ |
| | | * |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢", notes = "å®ç¯æé®é
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/queryUserAndonButtonList") |
| | | public Result<List<AndonButtonDTO>> queryUserAndonButtonList(@RequestParam("factoryId") String factoryId) { |
| | | List<AndonButtonDTO> list = andonButtonConfigService.queryUserAndonButtonList(factoryId); |
| | | return Result.OK(list); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-éè¿idå é¤") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-éè¿idå é¤", notes="å®ç¯æé®é
ç½®-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | andonButtonConfigService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-æ¹éå é¤") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-æ¹éå é¤", notes="å®ç¯æé®é
ç½®-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.andonButtonConfigService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | /** |
| | | * APPå®ç¯åèµ·å表æ¥è¯¢ |
| | | * |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å®ç¯åèµ·-å页å表æ¥è¯¢", notes = "å®ç¯åèµ·-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/queryUserAndonCallList") |
| | | public Result<List<AndonButtonDTO>> queryUserAndonCallList(@RequestParam("factoryId") String factoryId) { |
| | | List<AndonButtonDTO> list = andonButtonConfigService.queryUserAndonCallList(factoryId); |
| | | return Result.OK(list); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯æé®é
ç½®-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯æé®é
ç½®-éè¿idæ¥è¯¢", notes="å®ç¯æé®é
ç½®-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<AndonButtonConfig> queryById(@RequestParam(name="id",required=true) String id) { |
| | | AndonButtonConfig andonButtonConfig = andonButtonConfigService.getById(id); |
| | | if(andonButtonConfig==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonButtonConfig); |
| | | } |
| | | /** |
| | | * APPå®ç¯ååºå表æ¥è¯¢ |
| | | * |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å®ç¯ååº-å页å表æ¥è¯¢", notes = "å®ç¯ååº-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/queryUserAndonRespondList") |
| | | public Result<List<AndonButtonDTO>> queryUserAndonRespondList(@RequestParam("factoryId") String factoryId) { |
| | | List<AndonButtonDTO> list = andonButtonConfigService.queryUserAndonRespondList(factoryId); |
| | | return Result.OK(list); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonButtonConfig |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonButtonConfig andonButtonConfig) { |
| | | return super.exportXls(request, andonButtonConfig, AndonButtonConfig.class, "å®ç¯æé®é
ç½®"); |
| | | } |
| | | /** |
| | | * APPå®ç¯å·²å¤çå表æ¥è¯¢ |
| | | * |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å®ç¯ååº-å页å表æ¥è¯¢", notes = "å®ç¯ååº-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/queryUserAndonHandelList") |
| | | public Result<List<AndonButtonDTO>> queryUserAndonHandelList(@RequestParam("factoryId") String factoryId) { |
| | | List<AndonButtonDTO> list = andonButtonConfigService.queryUserAndonHandelList(factoryId); |
| | | return Result.OK(list); |
| | | } |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonButtonConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-æ·»å ") |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-æ·»å ", notes = "å®ç¯æé®é
ç½®-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonButtonConfig andonButtonConfig) { |
| | | andonButtonConfigService.save(andonButtonConfig); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonButtonConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-ç¼è¾") |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-ç¼è¾", notes = "å®ç¯æé®é
ç½®-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonButtonConfig andonButtonConfig) { |
| | | andonButtonConfigService.updateById(andonButtonConfig); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-éè¿idå é¤") |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-éè¿idå é¤", notes = "å®ç¯æé®é
ç½®-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name = "id", required = true) String id) { |
| | | andonButtonConfigService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯æé®é
ç½®-æ¹éå é¤") |
| | | @ApiOperation(value = "å®ç¯æé®é
ç½®-æ¹éå é¤", notes = "å®ç¯æé®é
ç½®-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | this.andonButtonConfigService.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<AndonButtonConfig> queryById(@RequestParam(name = "id", required = true) String id) { |
| | | AndonButtonConfig andonButtonConfig = andonButtonConfigService.getById(id); |
| | | if (andonButtonConfig == null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonButtonConfig); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonButtonConfig |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_button_config:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonButtonConfig andonButtonConfig) { |
| | | return super.exportXls(request, andonButtonConfig, AndonButtonConfig.class, "å®ç¯æé®é
ç½®"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_button_config:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonButtonConfig.class); |
| | | } |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_button_config:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonButtonConfig.class); |
| | | } |
| | | |
| | | } |
| | |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.modules.andon.entity.AndonOrder; |
| | | import org.jeecg.modules.andon.service.IAndonOrderService; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | |
| | | import java.util.Arrays; |
| | | |
| | | /** |
| | | * @Description: å®ç¯å·¥å |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="å®ç¯å·¥å") |
| | | * @Description: å®ç¯å·¥å |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags = "å®ç¯å·¥å") |
| | | @RestController |
| | | @RequestMapping("/andonorder/andonOrder") |
| | | @Slf4j |
| | | public class AndonOrderController extends JeecgController<AndonOrder, IAndonOrderService> { |
| | | @Autowired |
| | | private IAndonOrderService andonOrderService; |
| | | @Autowired |
| | | private IAndonOrderService andonOrderService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonOrder |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯å·¥å-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯å·¥å-å页å表æ¥è¯¢", notes="å®ç¯å·¥å-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap()); |
| | | Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize); |
| | | IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-æ·»å ") |
| | | @ApiOperation(value="å®ç¯å·¥å-æ·»å ", notes="å®ç¯å·¥å-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonOrder andonOrder) { |
| | | andonOrderService.save(andonOrder); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-ç¼è¾") |
| | | @ApiOperation(value="å®ç¯å·¥å-ç¼è¾", notes="å®ç¯å·¥å-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonOrder andonOrder) { |
| | | andonOrderService.updateById(andonOrder); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonOrder |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯å·¥å-å页å表æ¥è¯¢") |
| | | @ApiOperation(value = "å®ç¯å·¥å-å页å表æ¥è¯¢", notes = "å®ç¯å·¥å-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonOrder>> queryPageList(AndonOrder andonOrder, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonOrder> queryWrapper = QueryGenerator.initQueryWrapper(andonOrder, req.getParameterMap()); |
| | | Page<AndonOrder> page = new Page<AndonOrder>(pageNo, pageSize); |
| | | IPage<AndonOrder> pageList = andonOrderService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-éè¿idå é¤") |
| | | @ApiOperation(value="å®ç¯å·¥å-éè¿idå é¤", notes="å®ç¯å·¥å-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | andonOrderService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-æ¹éå é¤") |
| | | @ApiOperation(value="å®ç¯å·¥å-æ¹éå é¤", notes="å®ç¯å·¥å-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.andonOrderService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-æ·»å ") |
| | | @ApiOperation(value = "å®ç¯å·¥å-æ·»å ", notes = "å®ç¯å·¥å-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonOrder andonOrder) { |
| | | andonOrderService.save(andonOrder); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯å·¥å-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯å·¥å-éè¿idæ¥è¯¢", notes="å®ç¯å·¥å-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<AndonOrder> queryById(@RequestParam(name="id",required=true) String id) { |
| | | AndonOrder andonOrder = andonOrderService.getById(id); |
| | | if(andonOrder==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonOrder); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonOrder |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) { |
| | | return super.exportXls(request, andonOrder, AndonOrder.class, "å®ç¯å·¥å"); |
| | | } |
| | | /** |
| | | * APPå®ç¯ååºæä½ |
| | | * |
| | | * @param orderId |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "APPå®ç¯ååºæä½", notes = "APPå®ç¯ååºæä½") |
| | | @GetMapping(value = "/AndonRespond") |
| | | public Result<String> AndonRespond(@RequestParam("orderId") String orderId) { |
| | | AndonOrder andonOrder = andonOrderService.getById(orderId); |
| | | andonOrder.setOrderStatus("2"); |
| | | andonOrderService.updateById(andonOrder); |
| | | return Result.OK("ååºæåï¼"); |
| | | } |
| | | |
| | | /** |
| | | |
| | | /** |
| | | * APPå®ç¯å¤çæä½ |
| | | * |
| | | * |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "APPå®ç¯å¤çæä½", notes = "APPå®ç¯å¤çæä½") |
| | | @PostMapping(value = "/AndonHandel") |
| | | public Result<String> AndonHandel(@RequestBody AndonOrder andonOrder) { |
| | | return andonOrderService.handleAndonOrder(andonOrder); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-ç¼è¾") |
| | | @ApiOperation(value = "å®ç¯å·¥å-ç¼è¾", notes = "å®ç¯å·¥å-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonOrder andonOrder) { |
| | | andonOrderService.updateById(andonOrder); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-éè¿idå é¤") |
| | | @ApiOperation(value = "å®ç¯å·¥å-éè¿idå é¤", notes = "å®ç¯å·¥å-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name = "id", required = true) String id) { |
| | | andonOrderService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-æ¹éå é¤") |
| | | @ApiOperation(value = "å®ç¯å·¥å-æ¹éå é¤", notes = "å®ç¯å·¥å-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | this.andonOrderService.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<AndonOrder> queryById(@RequestParam(name = "id", required = true) String id) { |
| | | AndonOrder andonOrder = andonOrderService.getById(id); |
| | | if (andonOrder == null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonOrder); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonOrder |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_order:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonOrder andonOrder) { |
| | | return super.exportXls(request, andonOrder, AndonOrder.class, "å®ç¯å·¥å"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_order:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonOrder.class); |
| | | } |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_order:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonOrder.class); |
| | | } |
| | | |
| | | } |
| | |
| | | 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.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonResponseConfig; |
| | | import org.jeecg.modules.andon.service.IAndonResponseConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯ååºé
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="å®ç¯ååºé
ç½®") |
| | | * @Description: å®ç¯ååºé
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags = "å®ç¯ååºé
ç½®") |
| | | @RestController |
| | | @RequestMapping("/andonresponseconfig/andonResponseConfig") |
| | | @Slf4j |
| | | public class AndonResponseConfigController extends JeecgController<AndonResponseConfig, IAndonResponseConfigService> { |
| | | @Autowired |
| | | private IAndonResponseConfigService andonResponseConfigService; |
| | | @Autowired |
| | | private IAndonResponseConfigService andonResponseConfigService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonResponseConfig |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯ååºé
ç½®-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-å页å表æ¥è¯¢", notes="å®ç¯ååºé
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonResponseConfig>> queryPageList(AndonResponseConfig andonResponseConfig, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonResponseConfig> queryWrapper = QueryGenerator.initQueryWrapper(andonResponseConfig, req.getParameterMap()); |
| | | Page<AndonResponseConfig> page = new Page<AndonResponseConfig>(pageNo, pageSize); |
| | | IPage<AndonResponseConfig> pageList = andonResponseConfigService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param andonResponseConfig |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯ååºé
ç½®-å页å表æ¥è¯¢") |
| | | @ApiOperation(value = "å®ç¯ååºé
ç½®-å页å表æ¥è¯¢", notes = "å®ç¯ååºé
ç½®-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<AndonResponseConfig>> queryPageList(AndonResponseConfig andonResponseConfig, |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<AndonResponseConfig> queryWrapper = QueryGenerator.initQueryWrapper(andonResponseConfig, req.getParameterMap()); |
| | | Page<AndonResponseConfig> page = new Page<AndonResponseConfig>(pageNo, pageSize); |
| | | IPage<AndonResponseConfig> pageList = andonResponseConfigService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonResponseConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-æ·»å ") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-æ·»å ", notes="å®ç¯ååºé
ç½®-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonResponseConfig andonResponseConfig) { |
| | | andonResponseConfigService.save(andonResponseConfig); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonResponseConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-ç¼è¾") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-ç¼è¾", notes="å®ç¯ååºé
ç½®-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonResponseConfig andonResponseConfig) { |
| | | andonResponseConfigService.updateById(andonResponseConfig); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | /** |
| | | * åéå®ç¯æ¶æ¯ |
| | | * |
| | | * @param andonButtonDTO |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯å·¥å-åéé£ä¹¦æ¶æ¯") |
| | | @ApiOperation(value = "å®ç¯å·¥å-åéé£ä¹¦æ¶æ¯", notes = "å®ç¯å·¥å-åéé£ä¹¦æ¶æ¯") |
| | | @PostMapping(value = "/sendMessage") |
| | | public Result<String> sendMessage(@RequestBody AndonButtonDTO andonButtonDTO) { |
| | | try { |
| | | andonButtonDTO.setBlinkingFlag(1); |
| | | // è°ç¨æå¡å±å¤çä¸å¡é»è¾ |
| | | andonResponseConfigService.sendAndonNotification(andonButtonDTO); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } catch (Exception e) { |
| | | log.error("å®ç¯å·¥å[{}]é£ä¹¦éç¥åé失败", andonButtonDTO.getId(), e); |
| | | return Result.error("åéæ¶æ¯å¤±è´¥: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-éè¿idå é¤") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-éè¿idå é¤", notes="å®ç¯ååºé
ç½®-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | andonResponseConfigService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param andonResponseConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-æ·»å ") |
| | | @ApiOperation(value = "å®ç¯ååºé
ç½®-æ·»å ", notes = "å®ç¯ååºé
ç½®-æ·»å ") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody AndonResponseConfig andonResponseConfig) { |
| | | andonResponseConfigService.save(andonResponseConfig); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-æ¹éå é¤") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-æ¹éå é¤", notes="å®ç¯ååºé
ç½®-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.andonResponseConfigService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param andonResponseConfig |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-ç¼è¾") |
| | | @ApiOperation(value = "å®ç¯ååºé
ç½®-ç¼è¾", notes = "å®ç¯ååºé
ç½®-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody AndonResponseConfig andonResponseConfig) { |
| | | andonResponseConfigService.updateById(andonResponseConfig); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "å®ç¯ååºé
ç½®-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="å®ç¯ååºé
ç½®-éè¿idæ¥è¯¢", notes="å®ç¯ååºé
ç½®-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<AndonResponseConfig> queryById(@RequestParam(name="id",required=true) String id) { |
| | | AndonResponseConfig andonResponseConfig = andonResponseConfigService.getById(id); |
| | | if(andonResponseConfig==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonResponseConfig); |
| | | } |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-éè¿idå é¤") |
| | | @ApiOperation(value = "å®ç¯ååºé
ç½®-éè¿idå é¤", notes = "å®ç¯ååºé
ç½®-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name = "id", required = true) String id) { |
| | | andonResponseConfigService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonResponseConfig |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonResponseConfig andonResponseConfig) { |
| | | return super.exportXls(request, andonResponseConfig, AndonResponseConfig.class, "å®ç¯ååºé
ç½®"); |
| | | } |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "å®ç¯ååºé
ç½®-æ¹éå é¤") |
| | | @ApiOperation(value = "å®ç¯ååºé
ç½®-æ¹éå é¤", notes = "å®ç¯ååºé
ç½®-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | this.andonResponseConfigService.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<AndonResponseConfig> queryById(@RequestParam(name = "id", required = true) String id) { |
| | | AndonResponseConfig andonResponseConfig = andonResponseConfigService.getById(id); |
| | | if (andonResponseConfig == null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(andonResponseConfig); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param andonResponseConfig |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:andon_response_config:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, AndonResponseConfig andonResponseConfig) { |
| | | return super.exportXls(request, andonResponseConfig, AndonResponseConfig.class, "å®ç¯ååºé
ç½®"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_response_config:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonResponseConfig.class); |
| | | } |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("andon_response_config:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, AndonResponseConfig.class); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.andon.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.jeecg.common.aspect.annotation.Dict; |
| | | import org.jeecgframework.poi.excel.annotation.Excel; |
| | | |
| | | @Data |
| | | public class AndonButtonDTO { |
| | | /** ååºID */ |
| | | @ApiModelProperty(value = "ååºID") |
| | | private String id; |
| | | /** æé®ID */ |
| | | @ApiModelProperty(value = " æé®ID ") |
| | | private String buttonId; |
| | | /**å®ç¯åç§°*/ |
| | | @ApiModelProperty(value = "å®ç¯åç§°") |
| | | private String buttonName; |
| | | /**å®ç¯ç¼ç */ |
| | | @ApiModelProperty(value = "å®ç¯ç¼ç ") |
| | | private String buttonCode; |
| | | /** ä¸çº§ååºäºº */ |
| | | @ApiModelProperty(value = "ä¸çº§ååºäºº") |
| | | private String responder; |
| | | |
| | | |
| | | @ApiModelProperty(value = "äºçº§ååºäºº") |
| | | private String secondResponder; |
| | | /**产线åç§°*/ |
| | | @ApiModelProperty(value = "产线åç§°") |
| | | private String factoryName; |
| | | |
| | | /**产线åç§°*/ |
| | | @ApiModelProperty(value = "å·¥ååç§°") |
| | | private String parentFactoryName; |
| | | |
| | | /**ä¸çº§ååºæ¶é¿*/ |
| | | @ApiModelProperty(value = "ä¸çº§ååºæ¶é¿") |
| | | private Integer upgradeResponseDuration; |
| | | |
| | | |
| | | |
| | | /**äºçº§ååºæ¶é¿*/ |
| | | @ApiModelProperty(value = "äºçº§ååºæ¶é¿") |
| | | private Integer secondUpgradeResponseDuration; |
| | | |
| | | /**ä¸çº§çº§ååºæ¶é¿*/ |
| | | @ApiModelProperty(value = "ä¸çº§ååºæ¶é¿") |
| | | private Integer thirdUpgradeResponseDuration; |
| | | |
| | | /** |
| | | * æ¯å¦éªç |
| | | * å¯¹åºæ°æ®åºè¡¨ä¸ is_blinking åæ®µï¼å¤§äº0 æå¾
å¤ççå·¥åéªï¼ç¸åä¸éªçï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ è¯éªç") |
| | | private Integer blinkingFlag; |
| | | |
| | | @ApiModelProperty(value = "ä¸çº§ååºäººopenId") |
| | | private String responderOpenId; |
| | | |
| | | @ApiModelProperty(value = "äºçº§ååºäººopenId") |
| | | private String secondResponderOpenId; |
| | | |
| | | @ApiModelProperty(value = "ä¸çº§ååºäººopenId") |
| | | private String thirdResponderOpenId; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "ä¸çº§ååºäºº") |
| | | private String thirdResponder; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "å·¥åID") |
| | | private String orderIds; |
| | | |
| | | @ApiModelProperty(value = "å·¥åç¶æ") |
| | | private String orderStatus; |
| | | |
| | | @ApiModelProperty(value = "å®ç¯å起人") |
| | | private String operator; |
| | | |
| | | } |
| | |
| | | package org.jeecg.modules.andon.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.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import liquibase.pro.packaged.B; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | |
| | | @Excel(name = "夿³¨", width = 15) |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | | |
| | | /** |
| | | * æ¯å¦éªç |
| | | * å¯¹åºæ°æ®åºè¡¨ä¸ is_blinking åæ®µï¼tinyintç±»åï¼é»è®¤å¼0ï¼ |
| | | */ |
| | | @ApiModelProperty(value = "æ è¯éªç") |
| | | @TableField(exist = false) |
| | | private boolean blinkingFlag; |
| | | } |
| | |
| | | private String buttonId; |
| | | /**å®ç¯äºº*/ |
| | | @Excel(name = "å®ç¯äºº", width = 15) |
| | | @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") |
| | | @ApiModelProperty(value = "å®ç¯äºº") |
| | | private String operator; |
| | | /**å®ç¯æ¶é´*/ |
| | |
| | | @ApiModelProperty(value = "å®ç¯ç级") |
| | | private String andonLevel; |
| | | /**ååºäºº*/ |
| | | @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") |
| | | @Excel(name = "ååºäºº", width = 15) |
| | | @ApiModelProperty(value = "ååºäºº") |
| | | private String responder; |
| | |
| | | @ApiModelProperty(value = "ååºæ¶é´") |
| | | private Date responseTime; |
| | | /**å¤ç人*/ |
| | | @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") |
| | | @Excel(name = "å¤ç人", width = 15) |
| | | @ApiModelProperty(value = "å¤ç人") |
| | | private String processor; |
| | |
| | | @Excel(name = "ä¸çº§ååºäºº(å级两次)", width = 15) |
| | | @ApiModelProperty(value = "ä¸çº§ååºäºº(å级两次)") |
| | | private String thirdResponder; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonButtonConfig; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯æé®é
ç½® |
| | |
| | | */ |
| | | public interface AndonButtonConfigMapper extends BaseMapper<AndonButtonConfig> { |
| | | AndonButtonConfig getAndonButtonById(@Param("id") String id); |
| | | /** |
| | | * å®ç¯æé®å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonButtonList(String factoryId); |
| | | |
| | | /** |
| | | * åèµ·å®ç¯å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonCallList(String factoryId); |
| | | |
| | | /** |
| | | * ååºå®ç¯å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonRespondList(String factoryId); |
| | | |
| | | |
| | | /** |
| | | * å¤çå®ç¯å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonHandelList(String factoryId); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonResponseConfig; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯ååºé
ç½® |
| | |
| | | */ |
| | | public interface AndonResponseConfigMapper extends BaseMapper<AndonResponseConfig> { |
| | | AndonResponseConfig getAndonResponseConfigByFactoryIdAndButtonId(@Param("factoryId") String factoryId, @Param("buttonId") String buttonId); |
| | | |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.jeecg.modules.andon.mapper.AndonButtonConfigMapper"> |
| | | <select id="getAndonButtonById" resultType="org.jeecg.modules.andon.entity.AndonButtonConfig"> |
| | | SELECT * FROM andon_button_config WHERE id = #{id} and del_flag = 0 and button_status = 'å¯ç¨' |
| | | SELECT * |
| | | FROM andon_button_config |
| | | WHERE id = #{id} |
| | | and del_flag = 0 |
| | | and button_status = 'å¯ç¨' |
| | | </select> |
| | | <select id="queryUserAndonButtonList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO"> |
| | | select arc.id, |
| | | abc.id as button_id, |
| | | abc.button_name, |
| | | abc.button_code, |
| | | (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status != '3') as blinking_flag, STUFF((SELECT ',' + CAST (ao.id AS VARCHAR) |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | FOR XML PATH ('')), 1, 1, '') as order_ids |
| | | from andon_response_config arc |
| | | left join andon_button_config abc |
| | | on arc.button_id = abc.id |
| | | where arc.factory_id=#{factoryId}; |
| | | </select> |
| | | |
| | | <select id="queryUserAndonCallList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO"> |
| | | select arc.id, |
| | | abc.id as buttonId, |
| | | abc.button_name as buttonName, |
| | | abc.button_code as buttonCode, |
| | | (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '1') as blinkingFlag, |
| | | STUFF((SELECT ',' + CAST (ao.id AS VARCHAR) |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '1' |
| | | FOR XML PATH ('')), 1, 1, '') as orderIds, |
| | | bf.factory_name as factoryName, |
| | | parent_bf.factory_name as parentFactoryName, |
| | | abc.upgrade_response_duration as upgradeResponseDuration, |
| | | abc.second_upgrade_response_duration as secondUpgradeResponseDuration, |
| | | arc.firster_responder as responder, |
| | | arc.second_responder, |
| | | arc.third_responder, |
| | | STUFF((SELECT ',' + ao.order_status |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '1' |
| | | FOR XML PATH ('')), 1, 1, '') as orderStatus |
| | | from andon_response_config arc |
| | | left join andon_button_config abc |
| | | on arc.button_id = abc.id |
| | | left join base_factory bf on arc.factory_id = bf.id |
| | | left join base_factory parent_bf on bf.parent_id = parent_bf.id |
| | | where arc.factory_id=#{factoryId} |
| | | and (select count (1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '1') = 1 |
| | | </select> |
| | | |
| | | <select id="queryUserAndonRespondList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO"> |
| | | select arc.id, |
| | | abc.id as buttonId, |
| | | abc.button_name as buttonName, |
| | | abc.button_code as buttonCode, |
| | | (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '2') as blinkingFlag, |
| | | STUFF((SELECT ',' + CAST(ao.id AS VARCHAR) |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '2' |
| | | FOR XML PATH ('')), 1, 1, '') as orderIds, |
| | | bf.factory_name as factoryName, |
| | | parent_bf.factory_name as parentFactoryName, |
| | | abc.upgrade_response_duration as upgradeResponseDuration, |
| | | abc.second_upgrade_response_duration as secondUpgradeResponseDuration, |
| | | arc.firster_responder as responder, |
| | | arc.second_responder, |
| | | arc.third_responder, |
| | | STUFF((SELECT ',' + ao.order_status |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '2' |
| | | FOR XML PATH ('')), 1, 1, '') as orderStatus, |
| | | (SELECT TOP 1 ao.operator |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '2') as operator |
| | | from andon_response_config arc |
| | | left join andon_button_config abc |
| | | on arc.button_id = abc.id |
| | | left join base_factory bf on arc.factory_id = bf.id |
| | | left join base_factory parent_bf on bf.parent_id = parent_bf.id |
| | | where arc.factory_id = #{factoryId} |
| | | and (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '2') = 1 |
| | | </select> |
| | | <!-- <select id="queryUserAndonRespondList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO">--> |
| | | <!-- select arc.id,--> |
| | | <!-- abc.id as buttonId,--> |
| | | <!-- abc.button_name as buttonName,--> |
| | | <!-- abc.button_code as buttonCode,--> |
| | | <!-- (select count(1)--> |
| | | <!-- from andon_order ao--> |
| | | <!-- where ao.button_id = arc.button_id--> |
| | | <!-- and ao.factory_id = arc.factory_id--> |
| | | <!-- and ao.order_status = '2') as blinkingFlag,--> |
| | | <!-- STUFF((SELECT ',' + CAST(ao.id AS VARCHAR)--> |
| | | <!-- FROM andon_order ao--> |
| | | <!-- WHERE ao.button_id = arc.button_id--> |
| | | <!-- and ao.factory_id = arc.factory_id--> |
| | | <!-- and ao.order_status = '2'--> |
| | | <!-- FOR XML PATH ('')), 1, 1, '') as orderIds,--> |
| | | <!-- bf.factory_name as factoryName,--> |
| | | <!-- parent_bf.factory_name as parentFactoryName,--> |
| | | <!-- abc.upgrade_response_duration as upgradeResponseDuration,--> |
| | | <!-- abc.second_upgrade_response_duration as secondUpgradeResponseDuration,--> |
| | | <!-- arc.firster_responder as responder,--> |
| | | <!-- arc.second_responder,--> |
| | | <!-- arc.third_responder,--> |
| | | <!-- STUFF((SELECT ',' + ao.order_status--> |
| | | <!-- FROM andon_order ao--> |
| | | <!-- WHERE ao.button_id = arc.button_id--> |
| | | <!-- and ao.factory_id = arc.factory_id--> |
| | | <!-- and ao.order_status = '2'--> |
| | | <!-- FOR XML PATH ('')), 1, 1, '') as orderStatus--> |
| | | <!-- from andon_response_config arc--> |
| | | <!-- left join andon_button_config abc--> |
| | | <!-- on arc.button_id = abc.id--> |
| | | <!-- left join base_factory bf on arc.factory_id = bf.id--> |
| | | <!-- left join base_factory parent_bf on bf.parent_id = parent_bf.id--> |
| | | <!-- where arc.factory_id = #{factoryId}--> |
| | | <!-- and (select count(1)--> |
| | | <!-- from andon_order ao--> |
| | | <!-- where ao.button_id = arc.button_id--> |
| | | <!-- and ao.factory_id = arc.factory_id--> |
| | | <!-- and ao.order_status = '2') = 1--> |
| | | <!-- </select>--> |
| | | |
| | | |
| | | <select id="queryUserAndonHandelList" resultType="org.jeecg.modules.andon.dto.AndonButtonDTO"> |
| | | select arc.id, |
| | | abc.id as buttonId, |
| | | abc.button_name as buttonName, |
| | | abc.button_code as buttonCode, |
| | | (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '3') as blinkingFlag, |
| | | STUFF((SELECT ',' + CAST(ao.id AS VARCHAR) |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '3' |
| | | FOR XML PATH ('')), 1, 1, '') as orderIds, |
| | | bf.factory_name as factoryName, |
| | | parent_bf.factory_name as parentFactoryName, |
| | | abc.upgrade_response_duration as upgradeResponseDuration, |
| | | abc.second_upgrade_response_duration as secondUpgradeResponseDuration, |
| | | arc.firster_responder as responder, |
| | | arc.second_responder, |
| | | arc.third_responder, |
| | | STUFF((SELECT ',' + ao.order_status |
| | | FROM andon_order ao |
| | | WHERE ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '3' |
| | | FOR XML PATH ('')), 1, 1, '') as orderStatus |
| | | from andon_response_config arc |
| | | left join andon_button_config abc |
| | | on arc.button_id = abc.id |
| | | left join base_factory bf on arc.factory_id = bf.id |
| | | left join base_factory parent_bf on bf.parent_id = parent_bf.id |
| | | where arc.factory_id = #{factoryId} |
| | | and (select count(1) |
| | | from andon_order ao |
| | | where ao.button_id = arc.button_id |
| | | and ao.factory_id = arc.factory_id |
| | | and ao.order_status = '3') = 1 |
| | | </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.andon.mapper.AndonResponseConfigMapper"> |
| | | <select id="getAndonResponseConfigByFactoryIdAndButtonId" resultType="org.jeecg.modules.andon.entity.AndonResponseConfig"> |
| | | SELECT * FROM andon_response_config WHERE factory_id = #{factoryId} AND button_id = #{buttonId} AND del_flag = 0 |
| | | <select id="getAndonResponseConfigByFactoryIdAndButtonId" |
| | | resultType="org.jeecg.modules.andon.entity.AndonResponseConfig"> |
| | | SELECT * |
| | | FROM andon_response_config |
| | | WHERE factory_id = #{factoryId} |
| | | AND button_id = #{buttonId} |
| | | AND del_flag = 0 |
| | | </select> |
| | | </mapper> |
| | | |
| | | </mapper> |
| | |
| | | package org.jeecg.modules.andon.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonButtonConfig; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯æé®é
ç½® |
| | |
| | | */ |
| | | public interface IAndonButtonConfigService extends IService<AndonButtonConfig> { |
| | | AndonButtonConfig getAndonButtonById(String id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·å®ç¯æé®å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonButtonList(String factoryId); |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·åèµ·å®ç¯æé®å表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonCallList(String factoryId); |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·åèµ·å®ç¯ååºå表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonRespondList(String factoryId); |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·åèµ·å®ç¯å¤çå表 |
| | | * @param factoryId |
| | | * @return |
| | | */ |
| | | List<AndonButtonDTO> queryUserAndonHandelList(String factoryId); |
| | | |
| | | } |
| | |
| | | package org.jeecg.modules.andon.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.andon.entity.AndonOrder; |
| | | |
| | | import java.util.List; |
| | |
| | | public interface IAndonOrderService extends IService<AndonOrder> { |
| | | //å·²å®æç¶æé¤å¤ |
| | | List<AndonOrder> getAndonOrdersExceptYWC(); |
| | | |
| | | /** |
| | | * è·åå·¥åçåå§ååºäºº |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | String getPrimaryResponder(AndonOrder andonOrder); |
| | | |
| | | |
| | | |
| | | /** |
| | | * å¤çå®ç¯å·¥å |
| | | * @param andonOrder |
| | | * @return |
| | | */ |
| | | Result<String> handleAndonOrder(AndonOrder andonOrder); |
| | | } |
| | |
| | | package org.jeecg.modules.andon.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonResponseConfig; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯ååºé
ç½® |
| | |
| | | */ |
| | | public interface IAndonResponseConfigService extends IService<AndonResponseConfig> { |
| | | AndonResponseConfig getAndonResponseConfigByFactoryIdAndButtonId(String factoryId, String buttonId); |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * åéå®ç¯éç¥ |
| | | * @param andonButtonDTO å®ç¯æé®DTO |
| | | * @return ç»æ |
| | | */ |
| | | void sendAndonNotification(AndonButtonDTO andonButtonDTO); |
| | | } |
| | |
| | | package org.jeecg.modules.andon.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonButtonConfig; |
| | | import org.jeecg.modules.andon.mapper.AndonButtonConfigMapper; |
| | | import org.jeecg.modules.andon.service.IAndonButtonConfigService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯æé®é
ç½® |
| | |
| | | public AndonButtonConfig getAndonButtonById(String id) { |
| | | return baseMapper.getAndonButtonById(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<AndonButtonDTO> queryUserAndonButtonList(String factoryId) { |
| | | return baseMapper.queryUserAndonButtonList(factoryId); |
| | | } |
| | | |
| | | @Override |
| | | public List<AndonButtonDTO> queryUserAndonCallList(String factoryId) { |
| | | return baseMapper.queryUserAndonCallList(factoryId); |
| | | } |
| | | |
| | | @Override |
| | | public List<AndonButtonDTO> queryUserAndonRespondList(String factoryId) { |
| | | return baseMapper.queryUserAndonRespondList(factoryId); |
| | | } |
| | | |
| | | @Override |
| | | public List<AndonButtonDTO> queryUserAndonHandelList(String factoryId) { |
| | | return baseMapper.queryUserAndonHandelList(factoryId); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | package org.jeecg.modules.andon.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.andon.entity.AndonResponseConfig; |
| | | import org.jeecg.modules.andon.mapper.AndonResponseConfigMapper; |
| | | import org.jeecg.modules.andon.service.IAndonOrderService; |
| | | import org.jeecg.modules.andon.entity.AndonOrder; |
| | | import org.jeecg.modules.andon.mapper.AndonOrderMapper; |
| | | import org.jeecg.modules.feishu.service.FeishuUserService; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | |
| | | /** |
| | | * @Description: å®ç¯å·¥å |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Service |
| | | public class AndonOrderServiceImpl extends ServiceImpl<AndonOrderMapper, AndonOrder> implements IAndonOrderService { |
| | | @Autowired |
| | | private FeishuUserService feishuService; |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Autowired |
| | | private AndonResponseConfigMapper andonResponseConfigMapper; |
| | | |
| | | @Override |
| | | public List<AndonOrder> getAndonOrdersExceptYWC() { |
| | | return baseMapper.getAndonOrdersExceptYWC(); |
| | | } |
| | | |
| | | @Override |
| | | public String getPrimaryResponder(AndonOrder andonOrder) { |
| | | // 1. æ ¡éªå¿
è¦åæ° |
| | | if (StringUtils.isBlank(andonOrder.getFactoryId()) || StringUtils.isBlank(andonOrder.getButtonId())) { |
| | | |
| | | return null; |
| | | } |
| | | |
| | | // 2. æ¥è¯¢ååºäººé
ç½®ï¼å设åå¨ååºäººé
ç½®å®ä½åMapperï¼ |
| | | // æå»ºæ¥è¯¢æ¡ä»¶ï¼å¹é
产线IDãå®ç¯ç±»åIDï¼ä¸é
置为å¯ç¨ç¶æ |
| | | QueryWrapper<AndonResponseConfig> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("factory_id", andonOrder.getFactoryId()) |
| | | .eq("button_id", andonOrder.getButtonId()) |
| | | .eq("status", 1) // 1表示å¯ç¨ç¶æ |
| | | .last("limit 1"); // åªå䏿¡ææé
ç½® |
| | | |
| | | // 3. æ§è¡æ¥è¯¢ |
| | | AndonResponseConfig config = andonResponseConfigMapper.selectOne(queryWrapper); |
| | | if (config == null) { |
| | | return null; |
| | | } |
| | | return config.getFirsterResponder(); |
| | | } |
| | | |
| | | @Override |
| | | public Result<String> handleAndonOrder(AndonOrder andonOrder) { |
| | | |
| | | // 设置工åç¶æä¸ºå¤çä¸ |
| | | andonOrder.setOrderStatus("3"); |
| | | |
| | | // è·åååºè
ç¨æ·å |
| | | String responderUsername = andonOrder.getResponder(); |
| | | |
| | | // éªè¯ååºè
ç¨æ·åä¸ä¸ºç©º |
| | | if (StringUtils.isBlank(responderUsername)) { |
| | | return Result.error("ååºè
ä¿¡æ¯ä¸è½ä¸ºç©º"); |
| | | } |
| | | |
| | | // æ ¹æ®ç¨æ·åæ¥è¯¢ç¨æ·ä¿¡æ¯ |
| | | SysUser sysUser = sysUserService.getOne( |
| | | new QueryWrapper<SysUser>().eq("username", responderUsername) |
| | | ); |
| | | |
| | | // éªè¯ç¨æ·æ¯å¦åå¨ |
| | | if (sysUser == null) { |
| | | return Result.error("æ¾ä¸å°ç¨æ·å为 " + responderUsername + " çç¨æ·"); |
| | | } |
| | | // 设置ååºè
ID |
| | | andonOrder.setResponder(sysUser.getId()); |
| | | andonOrder.setProcessor(sysUser.getId()); |
| | | // æ´æ°å·¥åä¿¡æ¯ |
| | | this.updateById(andonOrder); |
| | | |
| | | return Result.OK("å¤çæå"); |
| | | } |
| | | |
| | | } |
| | |
| | | package org.jeecg.modules.andon.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.andon.entity.AndonButtonConfig; |
| | | import org.jeecg.modules.andon.entity.AndonOrder; |
| | | import org.jeecg.modules.andon.entity.AndonResponseConfig; |
| | | import org.jeecg.modules.andon.mapper.AndonResponseConfigMapper; |
| | | import org.jeecg.modules.andon.service.IAndonButtonConfigService; |
| | | import org.jeecg.modules.andon.service.IAndonOrderService; |
| | | import org.jeecg.modules.andon.service.IAndonResponseConfigService; |
| | | import org.jeecg.modules.base.entity.Factory; |
| | | import org.jeecg.modules.base.service.IFactoryService; |
| | | import org.jeecg.modules.feishu.service.FeishuUserService; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: å®ç¯ååºé
ç½® |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-07-10 |
| | | * @Date: 2025-07-10 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Service |
| | | public class AndonResponseConfigServiceImpl extends ServiceImpl<AndonResponseConfigMapper, AndonResponseConfig> implements IAndonResponseConfigService { |
| | | @Autowired |
| | | private IFactoryService factoryService; |
| | | |
| | | @Autowired |
| | | private ISysUserService iSysUserService; |
| | | |
| | | @Autowired |
| | | private FeishuUserService feishuUserService; |
| | | @Autowired |
| | | private IAndonButtonConfigService andonButtonConfigService; |
| | | |
| | | @Autowired |
| | | private IAndonOrderService andonOrderService; |
| | | |
| | | @Override |
| | | public AndonResponseConfig getAndonResponseConfigByFactoryIdAndButtonId(String factoryId, String buttonId) { |
| | | return baseMapper.getAndonResponseConfigByFactoryIdAndButtonId(factoryId,buttonId); |
| | | return baseMapper.getAndonResponseConfigByFactoryIdAndButtonId(factoryId, buttonId); |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void sendAndonNotification(AndonButtonDTO andonButtonDTO) { |
| | | /** |
| | | * 1. éªè¯å·¥åç¶æ |
| | | */ |
| | | if (andonButtonDTO == null) { |
| | | log.warn("请æ±åæ°ä¸ºç©º"); |
| | | throw new IllegalArgumentException("请æ±åæ°ä¸è½ä¸ºç©º"); |
| | | } |
| | | /** |
| | | * 设置å®ç¯äºº |
| | | */ |
| | | |
| | | /** |
| | | * 2. è·åååºé
ç½® |
| | | */ |
| | | AndonResponseConfig andonResponseConfig = this.getById(andonButtonDTO.getId()); |
| | | |
| | | AndonOrder andonOrder = andonOrderService.getById(andonButtonDTO.getOrderIds()); |
| | | if (andonOrder == null) { |
| | | log.warn("æªæ¾å°ID为[{}]çå®ç¯è®¢å"); |
| | | throw new IllegalArgumentException("æªæ¾å°å¯¹åºçå®ç¯è®¢å"); |
| | | } |
| | | // è·åå½åç»å½ç¨æ· |
| | | LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (loginUser != null) { |
| | | log.warn("æªæ¾å°å½åç¨æ·"); |
| | | |
| | | } |
| | | assert loginUser != null; |
| | | andonOrder.setResponder(loginUser.getId()); |
| | | String orderStatus = andonOrder.getOrderStatus(); |
| | | andonButtonDTO.setOrderStatus(orderStatus); |
| | | if (andonResponseConfig == null) { |
| | | log.warn("æªæ¾å°ID为[{}]çååºé
ç½®"); |
| | | throw new IllegalArgumentException("æªæ¾å°å¯¹åºçååºé
ç½®"); |
| | | } |
| | | /** |
| | | * 3. 设置äºçº§ååºäºº |
| | | */ |
| | | String secondResponder = andonResponseConfig.getSecondResponder(); |
| | | if (StringUtils.isNotBlank(secondResponder)) { |
| | | andonButtonDTO.setSecondResponder(secondResponder); |
| | | } |
| | | |
| | | /** |
| | | * 4. è·åå·¥åä¿¡æ¯ |
| | | */ |
| | | |
| | | String factoryId = andonResponseConfig.getFactoryId(); |
| | | if (factoryId == null || factoryId.isEmpty()) { |
| | | log.warn("ååºé
ç½®[{}]æªè®¾ç½®å·¥åID"); |
| | | throw new IllegalArgumentException("ååºé
ç½®æªè®¾ç½®å·¥åä¿¡æ¯"); |
| | | } |
| | | |
| | | Factory factory = factoryService.getOne(new QueryWrapper<Factory>() |
| | | .eq("id", factoryId) |
| | | .eq("del_flag", 0)); |
| | | |
| | | if (factory == null) { |
| | | log.warn("æªæ¾å°ID为[{}]çå·¥å"); |
| | | throw new IllegalArgumentException("æªæ¾å°å¯¹åºçå·¥åä¿¡æ¯"); |
| | | } |
| | | |
| | | /** |
| | | * è·å产线åç§° |
| | | */ |
| | | String factoryName = factory.getFactoryName(); |
| | | andonButtonDTO.setFactoryName(factoryName); |
| | | /** |
| | | * 6. 设置工ååç§° |
| | | */ |
| | | String parentId = factory.getParentId(); |
| | | if (parentId != null && !parentId.isEmpty()) { |
| | | Factory parentFactory = factoryService.getOne(new QueryWrapper<Factory>() |
| | | .eq("id", parentId) |
| | | .eq("del_flag", 0)); |
| | | if (parentFactory != null) { |
| | | andonButtonDTO.setParentFactoryName(parentFactory.getFactoryName()); |
| | | } |
| | | } |
| | | /** |
| | | * 6. è·åå®ç¯æé®é
ç½® |
| | | */ |
| | | AndonButtonConfig andonButtonById = andonButtonConfigService.getAndonButtonById(andonButtonDTO.getButtonId()); |
| | | if (andonButtonById == null) { |
| | | log.warn("æªæ¾å°ID为[{}]çå®ç¯æé®"); |
| | | throw new IllegalArgumentException("æªæ¾å°å¯¹åºçå®ç¯æé®ä¿¡æ¯"); |
| | | } |
| | | /** |
| | | * 7. 设置ååºæ¶é´ |
| | | */ |
| | | Integer upgradeResponseDuration = andonButtonById.getUpgradeResponseDuration(); |
| | | andonButtonDTO.setUpgradeResponseDuration(upgradeResponseDuration); |
| | | |
| | | Integer secondUpgradeResponseDuration = andonButtonById.getSecondUpgradeResponseDuration(); |
| | | andonButtonDTO.setSecondUpgradeResponseDuration(secondUpgradeResponseDuration); |
| | | |
| | | /** |
| | | * 8. è·åååºäººä¿¡æ¯ |
| | | */ |
| | | String firstResponder = andonResponseConfig.getFirsterResponder(); |
| | | String threeResponder = andonResponseConfig.getThirdResponder(); |
| | | SysUser thirdUser = iSysUserService.getUserByName(threeResponder); |
| | | SysUser userByName = iSysUserService.getUserByName(firstResponder); |
| | | SysUser secondUser = null; |
| | | |
| | | if (StringUtils.isNotBlank(secondResponder)) { |
| | | secondUser = iSysUserService.getUserByName(secondResponder); |
| | | } |
| | | /** |
| | | * 9. éªè¯å¹¶è®¾ç½®ååºäººä¿¡æ¯ |
| | | */ |
| | | |
| | | if (userByName == null) { |
| | | log.warn("ç¨æ·[{}]æªæ¾å°ï¼æ æ³åééç¥"); |
| | | throw new IllegalArgumentException("ç¨æ·[{}]æªæ¾å°ï¼æ æ³åééç¥"); |
| | | } |
| | | |
| | | if (secondUser == null && StringUtils.isNotBlank(secondResponder)) { |
| | | log.warn("ç¨æ·[{}]æªæ¾å°ï¼æ æ³åééç¥"); |
| | | throw new IllegalArgumentException("ç¨æ·[{}]æªæ¾å°ï¼æ æ³åééç¥"); |
| | | } |
| | | |
| | | if (threeResponder == null) { |
| | | StringUtils.isNotBlank(null); |
| | | } |
| | | // |
| | | /** |
| | | * 10. 设置ååºäººç¸å
³ä¿¡æ¯ |
| | | */ |
| | | |
| | | andonButtonDTO.setResponderOpenId(userByName.getOpenId()); |
| | | andonButtonDTO.setResponder(userByName.getRealname()); |
| | | log.warn("ç¨æ·[{}]å·²æ¾å°ï¼å¼å§åééç¥"); |
| | | |
| | | if (secondUser != null) { |
| | | andonButtonDTO.setSecondResponderOpenId(secondUser.getOpenId()); |
| | | andonButtonDTO.setSecondResponder(secondUser.getRealname()); |
| | | log.warn("ç¨æ·[{}]å·²æ¾å°ï¼å¼å§åééç¥"); |
| | | } |
| | | if (thirdUser != null) { |
| | | andonButtonDTO.setThirdResponderOpenId(thirdUser.getOpenId()); |
| | | andonButtonDTO.setThirdResponder(thirdUser.getRealname()); |
| | | log.warn("ç¨æ·[{}]å·²æ¾å°ï¼å¼å§åééç¥"); |
| | | } |
| | | |
| | | /** |
| | | * 11. åéé£ä¹¦éç¥ |
| | | */ |
| | | if (StringUtils.isNotBlank(firstResponder)) { |
| | | String feishuAccessToken = feishuUserService.getFeishuAccessToken(); |
| | | feishuUserService.sendAndonNotification(feishuAccessToken, andonButtonDTO); |
| | | } else { |
| | | log.warn("å·¥å[{}]æªæ¾å°å¯¹åºååºäººï¼æ æ³åééç¥"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | t1.cutting_model cuttingModel, |
| | | t1.drawing_number drawingNumber, |
| | | t1.inventory_warning inventoryWarning, |
| | | t1.remark remark, |
| | | t2.item_text cuttingCategory |
| | | FROM |
| | | cms_cutting_tool t1 |
ÎļþÃû´Ó src/main/java/org/jeecg/modules/mes/job/FeishuSyncTask.java ÐÞ¸Ä |
| | |
| | | |
| | | package org.jeecg.modules.mes.job; |
| | | package org.jeecg.modules.feishu.job; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.modules.feishu.service.FeishuUserService; |
| | | import org.quartz.Job; |
| | | import org.quartz.JobExecutionContext; |
| | | import org.quartz.JobExecutionException; |
| | |
| | | public class FeishuSyncTask implements Job { |
| | | |
| | | @Autowired |
| | | private org.jeecg.modules.mes.job.FeishuUserService feishuUserService; |
| | | private FeishuUserService feishuUserService; |
| | | |
| | | @Value("${feishu.sync.departmentId:0}") |
| | | private String departmentId; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.feishu.service; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.util.PasswordUtil; |
| | | import org.jeecg.common.util.RestUtil; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.andon.dto.AndonButtonDTO; |
| | | import org.jeecg.modules.mes.entity.FeishuUser; |
| | | import org.jeecg.modules.system.entity.SysUser; |
| | | import org.jeecg.modules.system.service.ISysUserService; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.http.HttpEntity; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpMethod; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.Executors; |
| | | import java.util.concurrent.ScheduledExecutorService; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | @Service |
| | | @Slf4j |
| | | public class FeishuUserService { |
| | | // ç±»ä¸å®ä¹æ¨¡æ¿å¸¸éï¼ä¾¿äºç»´æ¤ï¼ |
| | | private static final String FIRST_LEVEL_TEMPLATE = "ãå·¥èºå®ç¯ã\n%s · %s åèµ·äºå·¥èºå®ç¯ï¼è¯·%dåéå
å¨PDAä¸è¿è¡ååºå¤çï¼ï¼ï¼"; |
| | | private static final String SECOND_LEVEL_TEMPLATE = "ãå·¥èºå®ç¯ã\n%s · %s åèµ·çå·¥èºå®ç¯ï¼%sæªå¨%dåéå
ååºï¼è¯·å°½å¿«ç£ä¿è¿è¡ååºå¤çï¼ï¼ï¼"; |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Resource |
| | | private RestTemplate restTemplate; |
| | | |
| | | @Value("${feishu.appId:}") |
| | | private String appId; |
| | | |
| | | @Value("${feishu.appSecret:}") |
| | | private String appSecret; |
| | | |
| | | @Value("${feishu.url:}") |
| | | private String feishuUrl; |
| | | |
| | | // 宿¶ä»»å¡çº¿ç¨æ± ï¼æ¯æå¤çº§ååºè°åº¦ï¼ |
| | | private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(5); |
| | | private final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); |
| | | |
| | | /** |
| | | * 忥é£ä¹¦é¨é¨ç¨æ·å°ç³»ç»ç¨æ·è¡¨ |
| | | */ |
| | | public void syncFeishuDepartmentUsers(String departmentId) { |
| | | try { |
| | | log.info("å¼å§åæ¥é£ä¹¦é¨é¨ç¨æ·ï¼é¨é¨ID: {}", departmentId); |
| | | |
| | | // 1. è·åé£ä¹¦è®¿é®ä»¤ç |
| | | String accessToken = getFeishuAccessToken(); |
| | | if (oConvertUtils.isEmpty(accessToken)) { |
| | | log.error("è·åé£ä¹¦è®¿é®ä»¤ç失败ï¼ç»æ¢åæ¥æµç¨"); |
| | | return; |
| | | } |
| | | |
| | | // 2. è·åé¨é¨ä¸çç¨æ·å表 |
| | | List<FeishuUser> feishuUsers = getDepartmentUsers(accessToken, departmentId); |
| | | log.info("è·åå°é£ä¹¦é¨é¨ç¨æ·æ°é: {}", feishuUsers.size()); |
| | | |
| | | // 3. 忥å°ç³»ç»ç¨æ·è¡¨ |
| | | int successCount = 0; |
| | | int updateCount = 0; |
| | | int addCount = 0; |
| | | |
| | | for (FeishuUser feishuUser : feishuUsers) { |
| | | try { |
| | | boolean isUpdated = syncFeishuUserToSystem(feishuUser); |
| | | successCount++; |
| | | if (isUpdated) { |
| | | updateCount++; |
| | | } else { |
| | | addCount++; |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("忥é£ä¹¦ç¨æ·å¤±è´¥ï¼ç¨æ·ID: {}", feishuUser.getUserId(), e); |
| | | } |
| | | } |
| | | |
| | | log.info("é£ä¹¦ç¨æ·åæ¥å®æï¼æ»å¤ç: {}ï¼æ°å¢: {}ï¼æ´æ°: {}", successCount, addCount, updateCount); |
| | | } catch (Exception e) { |
| | | log.error("忥é£ä¹¦é¨é¨ç¨æ·å¤±è´¥ï¼é¨é¨ID: {}", departmentId, e); |
| | | throw new RuntimeException("忥é£ä¹¦ç¨æ·å¤±è´¥: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | public String getFeishuAccessToken() { |
| | | try { |
| | | String url = feishuUrl + "open-apis/auth/v3/tenant_access_token/internal"; |
| | | |
| | | log.info("å¼å§è·åé£ä¹¦è®¿é®ä»¤çï¼AppId: {}", |
| | | appId != null ? appId.substring(0, Math.min(appId.length(), 10)) + "..." : "null"); |
| | | |
| | | JSONObject params = new JSONObject(); |
| | | params.put("app_id", appId); |
| | | params.put("app_secret", appSecret); |
| | | |
| | | log.debug("è·å令ç请æ±åæ°: {}", params.toJSONString()); |
| | | |
| | | JSONObject result = RestUtil.post(url, params); |
| | | |
| | | log.info("è·åé£ä¹¦è®¿é®ä»¤çååº: {}", result != null ? result.toJSONString() : "null"); |
| | | |
| | | if (result != null && result.getInteger("code") == 0) { |
| | | String accessToken = result.getString("tenant_access_token"); |
| | | log.info("æåè·åé£ä¹¦è®¿é®ä»¤çï¼ä»¤çé¿åº¦: {}", accessToken != null ? accessToken.length() : 0); |
| | | return accessToken; |
| | | } else { |
| | | log.error("è·åé£ä¹¦è®¿é®ä»¤ç失败ï¼ååº: {}", result != null ? result.toJSONString() : "null"); |
| | | if (result != null) { |
| | | log.error("é误ç : {}, é误信æ¯: {}", result.getInteger("code"), result.getString("msg")); |
| | | } |
| | | return null; |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("è·åé£ä¹¦è®¿é®ä»¤çå¼å¸¸", e); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åéå®ç¯éç¥æ¶æ¯ï¼æ¯æä¸ãäºãä¸çº§ååºï¼ |
| | | * æµç¨ï¼ |
| | | * 1. APPç¹å»åéä¸çº§ååºï¼å级ååºï¼ |
| | | * 2. ä¸çº§ååºæ¶é¿åæ£æ¥ç¶æï¼æªå¤çååéäºçº§ |
| | | * 3. äºçº§ååºæ¶é¿åæ£æ¥ç¶æï¼æªå¤çååéä¸çº§ |
| | | */ |
| | | public boolean sendAndonNotification(String accessToken, AndonButtonDTO andonOrde) { |
| | | try { |
| | | String currentTime = sdf.format(new Date()); |
| | | log.info("ã{}ã触åä¸çº§ååºï¼å级ååºï¼ï¼å®ç¯ID: {}", currentTime, andonOrde.getId()); |
| | | |
| | | // 1. åæ°éªè¯ |
| | | if (!validateNotificationParams(andonOrde)) { |
| | | return false; |
| | | } |
| | | if (accessToken == null || accessToken.isEmpty()) { |
| | | log.error("访é®ä»¤çä¸ºç©ºï¼æ æ³åéå®ç¯éç¥"); |
| | | return false; |
| | | } |
| | | |
| | | // 2. åéä¸çº§ååºéç¥ï¼å³æ¶åéï¼ |
| | | boolean firstLevelResult = sendLevelNotification(accessToken, andonOrde, 1); |
| | | |
| | | // 3. è°åº¦äºçº§ååºéç¥ï¼å»¶è¿æ¶é´=ä¸çº§ååºæ¶é¿ï¼ |
| | | if (firstLevelResult) { |
| | | int secondDelay = andonOrde.getUpgradeResponseDuration(); |
| | | String secondTime = sdf.format(new Date(System.currentTimeMillis() + secondDelay * 60 * 1000L)); |
| | | log.info("ã{}ãä¸çº§ååºè°åº¦äºçº§éç¥ï¼å»¶è¿{}åéï¼é¢è®¡åéæ¶é´: {}", |
| | | currentTime, secondDelay, secondTime); |
| | | scheduleNextLevelNotification(accessToken, andonOrde, 1, secondDelay); |
| | | } else { |
| | | log.warn("ä¸çº§éç¥åé失败ï¼ç»æ¢åç»éç¥æµç¨ï¼å®ç¯ID: {}", andonOrde.getId()); |
| | | } |
| | | |
| | | return firstLevelResult; |
| | | } catch (Exception e) { |
| | | log.error("å¤çå®ç¯éç¥å¼å¸¸ï¼å®ç¯ID: {}", andonOrde != null ? andonOrde.getId() : "æªç¥", e); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åéæå®çº§å«çéç¥ |
| | | * @param level 1-ä¸çº§ï¼2-äºçº§ï¼3-ä¸çº§ |
| | | */ |
| | | private boolean sendLevelNotification(String accessToken, AndonButtonDTO andonOrde, int level) { |
| | | try { |
| | | String levelDesc = getLevelDesc(level); |
| | | String openId = getResponderOpenId(andonOrde, level); |
| | | String currentTime = sdf.format(new Date()); |
| | | log.info("ã{}ãå¼å§åé{}级å®ç¯éç¥ï¼æ¥æ¶äººopenId: {}, å®ç¯ID: {}", |
| | | currentTime, levelDesc, openId, andonOrde.getId()); |
| | | |
| | | // æå»ºè¯·æ±URL |
| | | String url = feishuUrl + "open-apis/im/v1/messages?receive_id_type=open_id"; |
| | | log.info("{}级éç¥è¯·æ±URL: {}", levelDesc, url); |
| | | |
| | | // 设置请æ±å¤´ |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | String authHeader = "Bearer " + accessToken; |
| | | headers.add("Authorization", authHeader); |
| | | headers.add("Content-Type", "application/json; charset=utf-8"); |
| | | log.info("设置{}级éç¥è¯·æ±å¤´: Authorization = {}", levelDesc, |
| | | authHeader.substring(0, Math.min(30, authHeader.length())) + "..."); |
| | | |
| | | // æå»ºæ¶æ¯å
容 |
| | | JSONObject content = new JSONObject(); |
| | | String notificationContent = buildNotificationContent(andonOrde, level); |
| | | content.put("text", notificationContent); |
| | | log.debug("ã{}ã{}级éç¥å
容: {}", currentTime, levelDesc, notificationContent); |
| | | |
| | | // æå»ºè¯·æ±ä½ |
| | | JSONObject requestBody = new JSONObject(); |
| | | requestBody.put("receive_id", openId); |
| | | requestBody.put("msg_type", "text"); |
| | | requestBody.put("content", content.toJSONString()); |
| | | requestBody.put("uuid", "andon_" + andonOrde.getId() + "_level_" + level + "_" + System.currentTimeMillis()); |
| | | |
| | | // åéè¯·æ± |
| | | HttpEntity<String> requestEntity = new HttpEntity<>(requestBody.toJSONString(), headers); |
| | | ResponseEntity<String> response = restTemplate.exchange( |
| | | url, HttpMethod.POST, requestEntity, String.class |
| | | ); |
| | | |
| | | // è§£æååº |
| | | JSONObject result = JSONObject.parseObject(response.getBody()); |
| | | log.debug("{}级éç¥APIååº: {}", levelDesc, result != null ? result.toJSONString() : "null"); |
| | | |
| | | if (result != null && result.getInteger("code") == 0) { |
| | | JSONObject data = result.getJSONObject("data"); |
| | | if (data != null) { |
| | | log.info("ã{}ã{}级å®ç¯éç¥åéæåï¼æ¶æ¯ID: {}, å®ç¯ID: {}", |
| | | currentTime, levelDesc, data.getString("message_id"), andonOrde.getId()); |
| | | return true; |
| | | } else { |
| | | log.warn("{}级éç¥ååºdata为空ï¼å®ç¯ID: {}", levelDesc, andonOrde.getId()); |
| | | return false; |
| | | } |
| | | } else { |
| | | log.error("åé{}级å®ç¯éç¥å¤±è´¥ï¼å®ç¯ID: {}", levelDesc, andonOrde.getId()); |
| | | if (result != null) { |
| | | log.error("é误ç : {}, é误信æ¯: {}", result.getInteger("code"), result.getString("msg")); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | log.error("åé{}级å®ç¯éç¥å¼å¸¸ï¼å®ç¯ID: {}", getLevelDesc(level), andonOrde.getId(), e); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è°åº¦ä¸ä¸çº§éç¥ï¼1â2â3ï¼ |
| | | * @param currentLevel å½åçº§å« |
| | | * @param delayMinutes å»¶è¿åéæ°ï¼ç±å½å级å«ååºæ¶é¿å³å®ï¼ |
| | | */ |
| | | private void scheduleNextLevelNotification(String accessToken, AndonButtonDTO andonOrde, int currentLevel, int delayMinutes) { |
| | | int nextLevel = currentLevel + 1; |
| | | if (nextLevel > 3) { |
| | | log.info("å·²å°è¾¾æé«çº§å«éç¥ï¼æ éç»§ç»è°åº¦ï¼å®ç¯ID: {}", andonOrde.getId()); |
| | | return; |
| | | } |
| | | |
| | | String currentLevelDesc = getLevelDesc(currentLevel); |
| | | String nextLevelDesc = getLevelDesc(nextLevel); |
| | | String scheduleTime = sdf.format(new Date()); |
| | | String executeTime = sdf.format(new Date(System.currentTimeMillis() + delayMinutes * 60 * 1000L)); |
| | | |
| | | log.info("ã{}ãè°åº¦{}éç¥ï¼å»¶è¿{}åéï¼å½å级å«{}æ¶é¿ï¼ï¼é¢è®¡æ§è¡æ¶é´: {}", |
| | | scheduleTime, nextLevelDesc, delayMinutes, currentLevelDesc, executeTime); |
| | | |
| | | scheduler.schedule(() -> { |
| | | try { |
| | | String currentExecuteTime = sdf.format(new Date()); |
| | | log.info("ã{}ãå¼å§æ§è¡{}éç¥æ£æ¥ï¼å®ç¯ID: {}", currentExecuteTime, nextLevelDesc, andonOrde.getId()); |
| | | |
| | | // æ£æ¥è®¢åç¶æï¼3表示已ååºï¼æ éåéä¸ä¸çº§ |
| | | if (andonOrde.getOrderStatus() != null && "3".equals(andonOrde.getOrderStatus())) { |
| | | log.info("ã{}ã订åå·²ååºï¼status=3ï¼ï¼åæ¶{}éç¥åéï¼å®ç¯ID: {}", |
| | | currentExecuteTime, nextLevelDesc, andonOrde.getId()); |
| | | return; |
| | | } |
| | | |
| | | // æ£æ¥ä¸ä¸çº§ååºäººæ¯å¦ææ |
| | | if (!hasValidResponder(andonOrde, nextLevel)) { |
| | | log.warn("ã{}ã{}ååºäººä¿¡æ¯æ æï¼åæ¶éç¥åéï¼å®ç¯ID: {}", |
| | | currentExecuteTime, nextLevelDesc, andonOrde.getId()); |
| | | return; |
| | | } |
| | | |
| | | // åéä¸ä¸çº§éç¥ |
| | | boolean nextLevelResult = sendLevelNotification(accessToken, andonOrde, nextLevel); |
| | | if (nextLevelResult && nextLevel < 3) { |
| | | |
| | | int nextDelay = getResponseDuration(andonOrde, nextLevel); |
| | | String nextExecuteTime = sdf.format(new Date(System.currentTimeMillis() + nextDelay * 60 * 1000L)); |
| | | log.info("ã{}ã{}éç¥è°åº¦ä¸çº§éç¥ï¼å»¶è¿{}åéï¼é¢è®¡åéæ¶é´: {}", |
| | | currentExecuteTime, nextLevelDesc, nextDelay, nextExecuteTime); |
| | | scheduleNextLevelNotification(accessToken, andonOrde, nextLevel, nextDelay); |
| | | } else if (!nextLevelResult) { |
| | | log.warn("ã{}ã{}éç¥åé失败ï¼ç»æ¢åç»è°åº¦ï¼å®ç¯ID: {}", |
| | | currentExecuteTime, nextLevelDesc, andonOrde.getId()); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | log.error("æ§è¡{}è°åº¦ä»»å¡å¼å¸¸ï¼å®ç¯ID: {}", nextLevelDesc, andonOrde.getId(), e); |
| | | } |
| | | }, delayMinutes, TimeUnit.MINUTES); |
| | | } |
| | | /** |
| | | * æå»ºéç¥å
容ï¼ä¼ååéç¬¦ï¼æåå¯è¯»æ§ï¼ |
| | | */ |
| | | private String buildNotificationContent(AndonButtonDTO andonOrde, int level) { |
| | | // è·åå·¥ååç§°å产线åç§°ï¼å空å¼ä¿æ¤ |
| | | String parentFactoryName = andonOrde.getParentFactoryName() != null ? andonOrde.getParentFactoryName() : "æªç¥å·¥å"; |
| | | String factoryName = andonOrde.getFactoryName() != null ? andonOrde.getFactoryName() : "æªç¥äº§çº¿"; |
| | | String content; |
| | | |
| | | if (level == 1) { |
| | | // ä¸çº§æ¨¡æ¿ï¼ä½¿ç¨"·"åéå·¥åå产线 |
| | | int firstDuration = andonOrde.getUpgradeResponseDuration() != null ? andonOrde.getUpgradeResponseDuration() : 0; |
| | | content = String.format(FIRST_LEVEL_TEMPLATE, parentFactoryName, factoryName, firstDuration); |
| | | } else { |
| | | // äºçº§æ¨¡æ¿ï¼ä¿æä¸è´çåé飿 ¼ |
| | | String prevResponder = getResponderName(andonOrde, level - 1); |
| | | int prevDuration = getResponseDuration(andonOrde, level - 1); |
| | | |
| | | prevResponder = oConvertUtils.isEmpty(prevResponder) ? "æªç¥äººå" : prevResponder; |
| | | prevDuration = Math.max(prevDuration, 0); |
| | | |
| | | content = String.format(SECOND_LEVEL_TEMPLATE, parentFactoryName, factoryName, prevResponder, prevDuration); |
| | | } |
| | | |
| | | log.debug("æå»º{}级éç¥å
容: {}", level, content); |
| | | return content; |
| | | } |
| | | // /** |
| | | // * æå»ºéç¥å
å®¹ï¼æçº§å«ä½¿ç¨ä¸å模æ¿ï¼ |
| | | // */ |
| | | // private String buildNotificationContent(AndonButtonDTO andonOrde, int level) { |
| | | // String factoryName = andonOrde.getFactoryName() != null ? andonOrde.getFactoryName() : "æªç¥äº§çº¿"; |
| | | // |
| | | // if (level == 1) { |
| | | // // ä¸çº§æ¨¡æ¿ï¼ãå·¥èºå®ç¯ãXXX产线åèµ·äºå·¥èºå®ç¯ï¼è¯·xxåéå
å¨PDAä¸è¿è¡ååºå¤çï¼ï¼ï¼ |
| | | // return String.format("ãå·¥èºå®ç¯ã\n%s产线åèµ·äºå·¥èºå®ç¯ï¼è¯·%dåéå
å¨PDAä¸è¿è¡ååºå¤çï¼ï¼ï¼", |
| | | // factoryName, |
| | | // andonOrde.getUpgradeResponseDuration()); |
| | | // } else { |
| | | // // äº/ä¸çº§æ¨¡æ¿ï¼ãå·¥èºå®ç¯ãXXXï¼äº§çº¿ï¼åèµ·çå·¥èºå®ç¯ï¼xxxï¼ä¸ä¸çº§ååºäººï¼æªå¨xxåéå
ååºï¼è¯·å°½å¿«ç£ä¿è¿è¡ååºå¤çï¼ï¼ï¼ |
| | | // String prevLevelDesc = getLevelDesc(level - 1); |
| | | // String prevResponder = getResponderName(andonOrde, level - 1); |
| | | // int prevDuration = getResponseDuration(andonOrde, level - 1); |
| | | // |
| | | // return String.format("ãå·¥èºå®ç¯ã\n%sï¼äº§çº¿ï¼åèµ·çå·¥èºå®ç¯ï¼%sï¼%sååºäººï¼æªå¨%dåéå
ååºï¼è¯·å°½å¿«ç£ä¿è¿è¡ååºå¤çï¼ï¼ï¼", |
| | | // factoryName, |
| | | // prevResponder, |
| | | // prevLevelDesc, |
| | | // prevDuration); |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * éªè¯éç¥ç¸å
³åæ° |
| | | */ |
| | | private boolean validateNotificationParams(AndonButtonDTO andonOrde) { |
| | | if (andonOrde == null) { |
| | | log.error("å®ç¯è®¢åä¿¡æ¯ä¸ºç©º"); |
| | | return false; |
| | | } |
| | | if (andonOrde.getId() == null) { |
| | | log.error("å®ç¯ID为空"); |
| | | return false; |
| | | } |
| | | // ä¸çº§ååºæ ¡éªï¼å¿
éï¼ |
| | | if (andonOrde.getResponderOpenId() == null || andonOrde.getResponderOpenId().isEmpty() |
| | | || andonOrde.getUpgradeResponseDuration() == null || andonOrde.getUpgradeResponseDuration() <= 0) { |
| | | log.error("ä¸çº§ååºäººä¿¡æ¯æ æï¼openIdææ¶é¿ç¼ºå¤±ï¼ï¼å®ç¯ID: {}", andonOrde.getId()); |
| | | return false; |
| | | } |
| | | // äºçº§ååºæ ¡éªï¼è¥åå¨åå¿
é宿´ï¼ |
| | | if (andonOrde.getSecondResponderOpenId() != null && !andonOrde.getSecondResponderOpenId().isEmpty()) { |
| | | if (andonOrde.getSecondUpgradeResponseDuration() == null || andonOrde.getSecondUpgradeResponseDuration() <= 0) { |
| | | log.error("äºçº§ååºäººåå¨ä½æ¶é¿æ æï¼å®ç¯ID: {}", andonOrde.getId()); |
| | | return false; |
| | | } |
| | | } |
| | | // ä¸çº§ååºæ ¡éªï¼è¥åå¨åå¿
é宿´ï¼ |
| | | if (andonOrde.getThirdResponderOpenId() != null && !andonOrde.getThirdResponderOpenId().isEmpty()) { |
| | | if (andonOrde.getSecondUpgradeResponseDuration() == null || andonOrde.getSecondUpgradeResponseDuration() <= 0) { |
| | | log.error("ä¸çº§ååºäººåå¨ä½äºçº§æ¶é¿æ æï¼ä¸çº§ä¾èµäºçº§æ¶é¿ï¼ï¼å®ç¯ID: {}", andonOrde.getId()); |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | // å·¥å
·æ¹æ³ï¼è·åçº§å«æè¿° |
| | | private String getLevelDesc(int level) { |
| | | switch (level) { |
| | | case 1: return "ä¸çº§"; |
| | | case 2: return "äºçº§"; |
| | | case 3: return "ä¸çº§"; |
| | | default: return "æªç¥çº§å«"; |
| | | } |
| | | } |
| | | |
| | | // å·¥å
·æ¹æ³ï¼è·åååºäººopenId |
| | | private String getResponderOpenId(AndonButtonDTO andonOrde, int level) { |
| | | switch (level) { |
| | | case 1: return andonOrde.getResponderOpenId(); |
| | | case 2: return andonOrde.getSecondResponderOpenId(); |
| | | case 3: return andonOrde.getThirdResponderOpenId(); |
| | | default: return null; |
| | | } |
| | | } |
| | | |
| | | // å·¥å
·æ¹æ³ï¼è·åååºäººåç§° |
| | | private String getResponderName(AndonButtonDTO andonOrde, int level) { |
| | | String name = null; |
| | | switch (level) { |
| | | case 1: |
| | | name = andonOrde.getResponder(); |
| | | break; |
| | | case 2: |
| | | name = andonOrde.getSecondResponder(); |
| | | break; |
| | | case 3: |
| | | name = andonOrde.getThirdResponder(); |
| | | break; |
| | | default: |
| | | name = null; |
| | | } |
| | | return name != null ? name : "æªç¥ååºäºº"; |
| | | } |
| | | |
| | | // å·¥å
·æ¹æ³ï¼è·åååºæ¶é¿ï¼ä¸çº§=äºçº§å»¶è¿ï¼äºçº§=ä¸çº§å»¶è¿ï¼ |
| | | private int getResponseDuration(AndonButtonDTO andonOrde, int level) { |
| | | int duration = 0; |
| | | switch (level) { |
| | | case 1: |
| | | duration = andonOrde.getUpgradeResponseDuration() != null ? andonOrde.getUpgradeResponseDuration() : 0; |
| | | break; |
| | | case 2: |
| | | duration = andonOrde.getSecondUpgradeResponseDuration() != null ? andonOrde.getSecondUpgradeResponseDuration() : 0; |
| | | break; |
| | | case 3: |
| | | duration = 0; // ä¸çº§æ¯æåä¸çº§ï¼æ éå»¶è¿ |
| | | break; |
| | | default: |
| | | duration = 0; |
| | | } |
| | | return duration; |
| | | } |
| | | |
| | | // å·¥å
·æ¹æ³ï¼å¤ææå®çº§å«ååºäººæ¯å¦ææ |
| | | private boolean hasValidResponder(AndonButtonDTO andonOrde, int level) { |
| | | String openId = getResponderOpenId(andonOrde, level); |
| | | return openId != null && !openId.isEmpty(); |
| | | } |
| | | |
| | | /** |
| | | * è·åé¨é¨ç¨æ·å表ï¼ç´å±åå·¥ï¼ |
| | | */ |
| | | private List<FeishuUser> getDepartmentUsers(String accessToken, String departmentId) { |
| | | List<FeishuUser> userList = new ArrayList<>(); |
| | | try { |
| | | log.info("å¼å§è·åé£ä¹¦é¨é¨ç¨æ·å表ï¼é¨é¨ID: {}", departmentId); |
| | | |
| | | if (accessToken == null || accessToken.isEmpty()) { |
| | | log.error("访é®ä»¤çä¸ºç©ºï¼æ æ³ç»§ç»æ§è¡"); |
| | | return userList; |
| | | } |
| | | log.info("使ç¨ç访é®ä»¤çåç¼: Bearer {}", accessToken.substring(0, Math.min(20, accessToken.length())) + "..."); |
| | | |
| | | String url = feishuUrl + "open-apis/contact/v3/users/find_by_department"; |
| | | String pageToken = null; |
| | | int pageNumber = 1; |
| | | |
| | | do { |
| | | StringBuilder urlBuilder = new StringBuilder(url); |
| | | urlBuilder.append("?department_id=").append(departmentId); |
| | | urlBuilder.append("&department_id_type=open_department_id"); |
| | | urlBuilder.append("&page_size=50"); |
| | | urlBuilder.append("&user_id_type=open_id"); |
| | | |
| | | if (pageToken != null && !pageToken.isEmpty()) { |
| | | urlBuilder.append("&page_token=").append(pageToken); |
| | | } |
| | | |
| | | log.info("请æ±ç¬¬{}é¡µæ°æ®ï¼URL: {}", pageNumber, urlBuilder.toString()); |
| | | |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | String authHeader = "Bearer " + accessToken; |
| | | headers.add("Authorization", authHeader); |
| | | headers.add("Content-Type", "application/json; charset=utf-8"); |
| | | log.info("设置请æ±å¤´: Authorization = {}", authHeader.substring(0, Math.min(30, authHeader.length())) + "..."); |
| | | |
| | | HttpEntity<String> requestEntity = new HttpEntity<>(headers); |
| | | ResponseEntity<String> response = restTemplate.exchange( |
| | | urlBuilder.toString(), HttpMethod.GET, requestEntity, String.class |
| | | ); |
| | | |
| | | JSONObject result = JSONObject.parseObject(response.getBody()); |
| | | log.debug("第{}页APIååº: {}", pageNumber, result != null ? result.toJSONString() : "null"); |
| | | |
| | | if (result != null && result.getInteger("code") == 0) { |
| | | JSONObject data = result.getJSONObject("data"); |
| | | if (data != null) { |
| | | Object items = data.get("items"); |
| | | log.info("第{}页åå§ç¨æ·æ°æ®æ°é: {}", pageNumber, items instanceof List ? ((List<?>) items).size() : 0); |
| | | |
| | | if (items != null) { |
| | | List<FeishuUser> pageUsers = parseUsers(items); |
| | | userList.addAll(pageUsers); |
| | | log.info("第{}页解æåç¨æ·æ°é: {}", pageNumber, pageUsers.size()); |
| | | } |
| | | |
| | | pageToken = data.getString("page_token"); |
| | | boolean hasMore = data.getBooleanValue("has_more"); |
| | | log.info("第{}页has_more: {}, page_token: {}", pageNumber, hasMore, pageToken); |
| | | pageNumber++; |
| | | } else { |
| | | log.warn("第{}页data为空", pageNumber); |
| | | break; |
| | | } |
| | | } else { |
| | | log.error("è·åé£ä¹¦é¨é¨ç¨æ·å表失败ï¼ååº: {}", result != null ? result.toJSONString() : "null"); |
| | | if (result != null) { |
| | | log.error("é误ç : {}, é误信æ¯: {}", result.getInteger("code"), result.getString("msg")); |
| | | } |
| | | break; |
| | | } |
| | | } while (pageToken != null && !pageToken.isEmpty()); |
| | | |
| | | log.info("è·åé£ä¹¦é¨é¨ç¨æ·å®æï¼æ»ç¨æ·æ°é: {}", userList.size()); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("è·åé£ä¹¦é¨é¨ç¨æ·å表å¼å¸¸", e); |
| | | } |
| | | return userList; |
| | | } |
| | | |
| | | /** |
| | | * è§£æç¨æ·æ°æ® |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | private List<FeishuUser> parseUsers(Object items) { |
| | | Logger log = LoggerFactory.getLogger(FeishuUserService.class); |
| | | List<FeishuUser> userList = new ArrayList<>(); |
| | | if (!(items instanceof List)) { |
| | | log.warn("è§£æç¨æ·æ°æ®å¤±è´¥ï¼items䏿¯å表类å: {}", items); |
| | | return userList; |
| | | } |
| | | List<?> userItems = (List<?>) items; |
| | | log.info("å¼å§è§£æé£ä¹¦ç¨æ·å表ï¼å
±{}æ¡è®°å½", userItems.size()); |
| | | for (Object item : userItems) { |
| | | if (item == null || !(item instanceof Map)) { |
| | | log.warn("è·³è¿æ æç¨æ·æ°æ®é¡¹ï¼ç±»åä¸å¹é
: {}", item != null ? item.getClass() : "null"); |
| | | continue; |
| | | } |
| | | Map<String, Object> userMap = (Map<String, Object>) item; |
| | | FeishuUser user = new FeishuUser(); |
| | | user.setOpenId((String) userMap.getOrDefault("open_id", "")); |
| | | |
| | | String name = (String) userMap.getOrDefault("name", ""); |
| | | if (name.contains(" ")) { |
| | | String[] parts = name.split(" "); |
| | | if (parts.length == 2) { |
| | | user.setUsername(parts[0].trim()); |
| | | user.setRealname(parts[1].trim()); |
| | | user.setWorkNo(parts[0].trim()); |
| | | } else { |
| | | user.setUsername(name); |
| | | user.setRealname(name); |
| | | user.setWorkNo(""); |
| | | log.warn("é£ä¹¦ç¨æ·nameåæ®µæ ¼å¼å¼å¸¸ï¼æ æ³æåï¼åå§å¼ï¼{}", name); |
| | | } |
| | | } else { |
| | | user.setUsername(name); |
| | | user.setRealname(name); |
| | | user.setWorkNo(""); |
| | | log.warn("é£ä¹¦ç¨æ·nameåæ®µæ ç©ºæ ¼åéï¼æ æ³æåï¼åå§å¼ï¼{}", name); |
| | | } |
| | | |
| | | user.setEnName((String) userMap.getOrDefault("en_name", "")); |
| | | user.setDescription((String) userMap.getOrDefault("description", "")); |
| | | Object mobileVisibleObj = userMap.get("mobile_visible"); |
| | | user.setMobileVisible(mobileVisibleObj instanceof Boolean ? (Boolean) mobileVisibleObj : false); |
| | | |
| | | Object avatarObj = userMap.get("avatar"); |
| | | if (avatarObj instanceof Map) { |
| | | Map<String, Object> avatarMap = (Map<String, Object>) avatarObj; |
| | | user.setAvatar240((String) avatarMap.getOrDefault("avatar_240", "")); |
| | | user.setAvatar640((String) avatarMap.getOrDefault("avatar_640", "")); |
| | | user.setAvatar72((String) avatarMap.getOrDefault("avatar_72", "")); |
| | | user.setAvatarOrigin((String) avatarMap.getOrDefault("avatar_origin", "")); |
| | | } else { |
| | | log.info("ç¨æ·[{}]æªè®¾ç½®å¤´åæå¤´åæ ¼å¼å¼å¸¸", user.getRealname()); |
| | | } |
| | | |
| | | user.setPassword("123456"); |
| | | user.setOpenId((String) userMap.getOrDefault("open_id", "")); |
| | | userList.add(user); |
| | | } |
| | | |
| | | return userList; |
| | | } |
| | | |
| | | /** |
| | | * 忥å个é£ä¹¦ç¨æ·å°ç³»ç» |
| | | */ |
| | | private boolean syncFeishuUserToSystem(FeishuUser feishuUser) { |
| | | String username = feishuUser.getUsername(); |
| | | SysUser existUser = sysUserService.getUserByName(username); |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setUsername(username); |
| | | sysUser.setStatus(1); |
| | | sysUser.setDelFlag(0); |
| | | sysUser.setAvatar(feishuUser.getAvatar640()); |
| | | sysUser.setRealname(feishuUser.getRealname()); |
| | | sysUser.setWorkNo(feishuUser.getWorkNo()); |
| | | String password = "123456", salt = oConvertUtils.randomGen(8); |
| | | String passwordEncode = PasswordUtil.encrypt(sysUser.getUsername(), password, salt); |
| | | sysUser.setSalt(salt); |
| | | sysUser.setPassword(passwordEncode); |
| | | sysUser.setOpenId(feishuUser.getOpenId()); |
| | | |
| | | if (existUser == null) { |
| | | sysUserService.addUserWithRole(sysUser, "5"); |
| | | log.info("æ°å¢ç¨æ·: {}", username); |
| | | return false; |
| | | } else { |
| | | sysUser.setId(existUser.getId()); |
| | | sysUserService.editUser(sysUser); |
| | | log.info("æ´æ°ç¨æ·: {}", username); |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | @Api(tags="ç©ææå¨ç³è¯·") |
| | | @RestController |
| | | @RequestMapping("/mesmaterialtransferrequest/mesMaterialTransferRequest") |
| | | @RequestMapping("/mes/mesMaterialTransferRequest") |
| | | @Slf4j |
| | | public class MesMaterialTransferRequestController extends JeecgController<MesMaterialTransferRequest, IMesMaterialTransferRequestService> { |
| | | @Autowired |
| | |
| | | @ApiModelProperty(value = "æ´æ°æ¥æ") |
| | | private Date updateTime; |
| | | /**å 餿 è®°*/ |
| | | @Excel(name = "å 餿 è®°", width = 15) |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | /**æå¨åå·*/ |
| | | @Excel(name = "æå¨åå·", width = 15) |
| | | @ApiModelProperty(value = "æå¨åå·") |
| | | private String requestCode; |
| | | /**å·¥åID*/ |
| | | @Excel(name = "å·¥åID", width = 15) |
| | | @ApiModelProperty(value = "å·¥åID") |
| | | private String workOrderId; |
| | | /**SAPé¢çå·*/ |
| | | @Excel(name = "SAPé¢çå·", width = 15) |
| | | @ApiModelProperty(value = "SAPé¢çå·") |
| | | private String reservationCode; |
| | | /**åå¸ç¶æ*/ |
| | | @Excel(name = "åå¸ç¶æ", width = 15, dicCode = "publish_status") |
| | | @Dict(dicCode = "publish_status") |
| | | @ApiModelProperty(value = "åå¸ç¶æ") |
| | | private String publishStatus; |
| | | /**请æ±ç¶æ*/ |
| | | @Excel(name = "请æ±ç¶æ", width = 15, dicCode = "request_status") |
| | | @Dict(dicCode = "request_status") |
| | | @ApiModelProperty(value = "请æ±ç¶æ") |
| | | private String requestStatus; |
| | | /**è¯·æ±æ¶é´*/ |
| | | @Excel(name = "è¯·æ±æ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "è¯·æ±æ¶é´") |
| | | private Date requestTime; |
| | | /**ååºåå°*/ |
| | | @Excel(name = "ååºåå°", width = 15) |
| | | @ApiModelProperty(value = "ååºåå°") |
| | | private String originalWarehouseId; |
| | | /**ç®æ åºåå°*/ |
| | | @Excel(name = "ç®æ åºåå°", width = 15) |
| | | @ApiModelProperty(value = "ç®æ åºåå°") |
| | | private String targetWarehouseId; |
| | | /**ä¼å
çº§ï¼æå¨ç±»åï¼*/ |
| | | @Excel(name = "ä¼å
çº§ï¼æå¨ç±»åï¼", width = 15, dicCode = "priority") |
| | | @Dict(dicCode = "priority") |
| | | @ApiModelProperty(value = "ä¼å
çº§ï¼æå¨ç±»åï¼") |
| | | private String priority; |
| | | @Dict(dicCode = "material_transfer_category") |
| | | @ApiModelProperty(value = "æå¨ç±»å") |
| | | private String materialTransferCategory; |
| | | /**ææé
éæ¶é´*/ |
| | | @Excel(name = "ææé
éæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") |
| | | @ApiModelProperty(value = "ææé
éæ¶é´") |
| | | private Date latestDeliveryTime; |
| | | /**ç©æç¼ç */ |
| | | @ApiModelProperty(value = "ç©æç¼ç ") |
| | | private String materialNumber; |
| | | /**ç©æåç§°*/ |
| | | @ApiModelProperty(value = "ç©æåç§°") |
| | | private String materialName; |
| | | /**ç论æå¨æ°é*/ |
| | | @ApiModelProperty(value = "ç论æå¨æ°é") |
| | | private Double specifiedQuantity; |
| | | /**å®é
æå¨æ°é*/ |
| | | @ApiModelProperty(value = "å®é
æå¨æ°é") |
| | | private Double actualQuantity; |
| | | /**车é´å©ä½æ°é*/ |
| | | @ApiModelProperty(value = "车é´å©ä½æ°é") |
| | | private Double remainingQuantity; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "å·¥åå·") |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mes.entity; |
| | | |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class MessageResponse { |
| | | private boolean success; |
| | | private String message; |
| | | private String messageId; |
| | | private Long timestamp; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms; |
| | | |
| | | import org.jeecg.modules.wms.dto.ReceiveWMSScanItemListResponse; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; |
| | | import org.jeecg.modules.wms.request.WMSWebServiceSendItem; |
| | | |
| | | import javax.xml.bind.annotation.XmlRegistry; |
| | | |
| | | @XmlRegistry |
| | | public class MESObjectFactory { |
| | | /** |
| | | * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.tempuri |
| | | * |
| | | */ |
| | | public MESObjectFactory() { |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveWMSScanItemList } |
| | | * |
| | | */ |
| | | public ReceiveWMSScanItemList createReceiveWMSScanItemList() { |
| | | return new ReceiveWMSScanItemList(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link WMSWebServiceSendItem } |
| | | * |
| | | */ |
| | | public WMSWebServiceSendItem createWMSWebServiceSendItem() { |
| | | return new WMSWebServiceSendItem(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveWMSScanItemListResponse } |
| | | * |
| | | */ |
| | | public ReceiveWMSScanItemListResponse createReceiveWMSScanItemListResponse() { |
| | | return new ReceiveWMSScanItemListResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link WSResponse } |
| | | * |
| | | */ |
| | | public WSResponse createWSResponse() { |
| | | return new WSResponse(); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms; |
| | | |
| | | import org.jeecg.modules.wms.dto.*; |
| | | import org.jeecg.modules.wms.request.*; |
| | | import org.jeecg.modules.wms.request.WebServiceSendItem; |
| | | |
| | | import javax.xml.bind.annotation.XmlRegistry; |
| | | |
| | | |
| | | /** |
| | | * This object contains factory methods for each |
| | | * Java content interface and Java element interface |
| | | * generated in the org.tempuri package. |
| | | * <p>An ObjectFactory allows you to programatically |
| | | * construct new instances of the Java representation |
| | | * for XML content. The Java representation of XML |
| | | * content can consist of schema derived interfaces |
| | | * and classes representing the binding of schema |
| | | * type definitions, element declarations and model |
| | | * groups. Factory methods for each of these are |
| | | * provided in this class. |
| | | * |
| | | */ |
| | | @XmlRegistry |
| | | public class WMSObjectFactory { |
| | | |
| | | |
| | | /** |
| | | * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.tempuri |
| | | * |
| | | */ |
| | | public WMSObjectFactory() { |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveMESScanItemList } |
| | | * |
| | | */ |
| | | public ReceiveMESScanItemList createReceiveMESScanItemList() { |
| | | return new ReceiveMESScanItemList(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ArrayOfWebServiceSendItem } |
| | | * |
| | | */ |
| | | public ArrayOfWebServiceSendItem createArrayOfWebServiceSendItem() { |
| | | return new ArrayOfWebServiceSendItem(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveMESScanItemListResponse } |
| | | * |
| | | */ |
| | | public ReceiveMESScanItemListResponse createReceiveMESScanItemListResponse() { |
| | | return new ReceiveMESScanItemListResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link WSResponse } |
| | | * |
| | | */ |
| | | public WSResponse createWSResponse() { |
| | | return new WSResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link DeliOrderDelete } |
| | | * |
| | | */ |
| | | public DeliOrderDelete createDeliOrderDelete() { |
| | | return new DeliOrderDelete(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link DeliOrderDeleteResponse } |
| | | * |
| | | */ |
| | | public DeliOrderDeleteResponse createDeliOrderDeleteResponse() { |
| | | return new DeliOrderDeleteResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveReservation } |
| | | * |
| | | */ |
| | | public ReceiveReservation createReceiveReservation() { |
| | | return new ReceiveReservation(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link WebReservationOrder } |
| | | * |
| | | */ |
| | | public WebReservationOrder createWebReservationOrder() { |
| | | return new WebReservationOrder(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link ReceiveReservationResponse } |
| | | * |
| | | */ |
| | | public ReceiveReservationResponse createReceiveReservationResponse() { |
| | | return new ReceiveReservationResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link HelloWorld } |
| | | * |
| | | */ |
| | | public HelloWorld createHelloWorld() { |
| | | return new HelloWorld(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link HelloWorldResponse } |
| | | * |
| | | */ |
| | | public HelloWorldResponse createHelloWorldResponse() { |
| | | return new HelloWorldResponse(); |
| | | } |
| | | |
| | | /** |
| | | * Create an instance of {@link WebServiceSendItem } |
| | | * |
| | | */ |
| | | public WebServiceSendItem createWebServiceSendItem() { |
| | | return new WebServiceSendItem(); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms; |
| | | |
| | | import java.net.MalformedURLException; |
| | | import java.net.URL; |
| | | import javax.xml.namespace.QName; |
| | | import javax.xml.ws.WebEndpoint; |
| | | import javax.xml.ws.WebServiceClient; |
| | | import javax.xml.ws.WebServiceFeature; |
| | | import javax.xml.ws.Service; |
| | | import org.jeecg.modules.wms.service.WebServiceSoap; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * This class was generated by Apache CXF 3.5.5 |
| | | * 2025-08-15T16:30:13.500+08:00 |
| | | * Generated source version: 3.5.5 |
| | | * |
| | | */ |
| | | @Component |
| | | @WebServiceClient(name = "WebService", |
| | | wsdlLocation = "classpath:/wsdl/WebService.asmx.wsdl", |
| | | targetNamespace = "http://tempuri.org/") |
| | | public class WMSWebService extends Service { |
| | | |
| | | public final static URL WSDL_LOCATION; |
| | | |
| | | public final static QName SERVICE = new QName("http://tempuri.org/", "WebService"); |
| | | public final static QName WebServiceSoap = new QName("http://tempuri.org/", "WebServiceSoap"); |
| | | public final static QName WebServiceSoap12 = new QName("http://tempuri.org/", "WebServiceSoap12"); |
| | | static { |
| | | URL url = null; |
| | | try { |
| | | url = new URL("classpath:/wsdl/WebService.asmx.wsdl"); |
| | | } catch (MalformedURLException e) { |
| | | java.util.logging.Logger.getLogger(WMSWebService.class.getName()) |
| | | .log(java.util.logging.Level.INFO, |
| | | "Can not initialize the default wsdl from {0}", "classpath:/wsdl/WebService.asmx.wsdl"); |
| | | } |
| | | WSDL_LOCATION = url; |
| | | } |
| | | |
| | | public WMSWebService(URL wsdlLocation) { |
| | | super(wsdlLocation, SERVICE); |
| | | } |
| | | |
| | | public WMSWebService(URL wsdlLocation, QName serviceName) { |
| | | super(wsdlLocation, serviceName); |
| | | } |
| | | |
| | | public WMSWebService() { |
| | | super(WSDL_LOCATION, SERVICE); |
| | | } |
| | | |
| | | public WMSWebService(WebServiceFeature ... features) { |
| | | super(WSDL_LOCATION, SERVICE, features); |
| | | } |
| | | |
| | | public WMSWebService(URL wsdlLocation, WebServiceFeature ... features) { |
| | | super(wsdlLocation, SERVICE, features); |
| | | } |
| | | |
| | | public WMSWebService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) { |
| | | super(wsdlLocation, serviceName, features); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @return |
| | | * returns WebServiceSoap |
| | | */ |
| | | @WebEndpoint(name = "WebServiceSoap") |
| | | public WebServiceSoap getWebServiceSoap() { |
| | | return super.getPort(WebServiceSoap, WebServiceSoap.class); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param features |
| | | * A list of {@link WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. |
| | | * @return |
| | | * returns WebServiceSoap |
| | | */ |
| | | @WebEndpoint(name = "WebServiceSoap") |
| | | public WebServiceSoap getWebServiceSoap(WebServiceFeature... features) { |
| | | return super.getPort(WebServiceSoap, WebServiceSoap.class, features); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @return |
| | | * returns WebServiceSoap |
| | | */ |
| | | @WebEndpoint(name = "WebServiceSoap12") |
| | | public WebServiceSoap getWebServiceSoap12() { |
| | | return super.getPort(WebServiceSoap12, WebServiceSoap.class); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param features |
| | | * A list of {@link WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values. |
| | | * @return |
| | | * returns WebServiceSoap |
| | | */ |
| | | @WebEndpoint(name = "WebServiceSoap12") |
| | | public WebServiceSoap getWebServiceSoap12(WebServiceFeature... features) { |
| | | return super.getPort(WebServiceSoap12, WebServiceSoap.class, features); |
| | | } |
| | | |
| | | } |
| | |
| | | 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.ReceiveWMSScanItemListService; |
| | | import org.jeecg.modules.wms.service.impl.ReceiveWMSScanItemListServiceImpl; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.web.servlet.ServletRegistrationBean; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | |
| | | |
| | | @Configuration |
| | | public class WebServiceServerConfig { |
| | | @Autowired |
| | | private MESWebServiceSoap webServiceSoap; |
| | | |
| | | @Bean(name = Bus.DEFAULT_BUS_ID) |
| | | public Bus springBus() { |
| | |
| | | } |
| | | |
| | | @Bean |
| | | public ReceiveWMSScanItemListService receiveWMSScanItemListService() { |
| | | return new ReceiveWMSScanItemListServiceImpl(); |
| | | } |
| | | |
| | | @Bean |
| | | public Endpoint endpoint() { |
| | | // åæ°äºï¼æ¯SEIå®ç°ç±»å¯¹è±¡ |
| | | Endpoint endpoint = new EndpointImpl(this.springBus(), this.receiveWMSScanItemListService()); |
| | | Endpoint endpoint = new EndpointImpl(this.springBus(), webServiceSoap); |
| | | // åå¸æå¡ |
| | | endpoint.publish("/ReceiveWMSScanItemList"); |
| | | endpoint.publish("/MESWebService"); |
| | | return endpoint; |
| | | } |
| | | } |
| | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.cxf.endpoint.Client; |
| | | import org.apache.cxf.frontend.ClientProxy; |
| | | import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; |
| | | import org.apache.cxf.transport.http.HTTPConduit; |
| | | import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveMESScanItemList; |
| | | import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService; |
| | | import org.jeecg.modules.wms.service.WMSWebService; |
| | | import org.jeecg.modules.wms.WMSWebService; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | | import org.jeecg.modules.wms.service.WebServiceSoap; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | |
| | | public class WMSTestController { |
| | | @Value("${webservice.url}") |
| | | private String url; |
| | | @Autowired |
| | | private WMSWebService webService; |
| | | |
| | | private final static String localUrl = "http://localhost:9989/jeecg-boot/webservice/ReceiveWMSScanItemList?wsdl"; |
| | | |
| | | |
| | | @ApiOperation(value = "WMSéææµè¯-æ¥æ¶WMSç§»åºç»æ", notes = "WMSéææµè¯-æ¥æ¶WMSç§»åºç»æ") |
| | | @PostMapping("/testReceiveWMSScanItemList") |
| | | public Result<?> testReceiveWMSScanItemList() { |
| | | JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); |
| | | factory.setAddress(url); |
| | | factory.setServiceClass(ReceiveWMSScanItemListService.class); |
| | | ReceiveWMSScanItemListService service = (ReceiveWMSScanItemListService) factory.create(); |
| | | ReceiveMESScanItemList request = new ReceiveMESScanItemList(); |
| | | ReceiveMESScanItemListResponse response = service.receiveWMSScanItemList(request); |
| | | factory.setAddress(localUrl); |
| | | factory.setServiceClass(MESWebServiceSoap.class); |
| | | MESWebServiceSoap service = (MESWebServiceSoap) factory.create(); |
| | | ReceiveWMSScanItemList request = new ReceiveWMSScanItemList(); |
| | | WSResponse response = service.receiveWMSScanItemList(request); |
| | | return Result.ok(response); |
| | | } |
| | | |
| | | @ApiOperation(value = "WMSéææµè¯-HelloWordæµè¯", notes = "WMSéææµè¯-HelloWordæµè¯") |
| | | @PostMapping("/testHelloWorld") |
| | | public Result<?> testHelloWorld() { |
| | | JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); |
| | | factory.setAddress(url); |
| | | factory.setServiceClass(WMSWebService.class); |
| | | WMSWebService service = (WMSWebService) factory.create(); |
| | | String response = service.helloWorld(); |
| | | return Result.ok(response); |
| | | // JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); |
| | | // factory.setAddress(url); |
| | | // factory.setServiceClass(WebServiceSoap.class); |
| | | // WebServiceSoap service = (WebServiceSoap) factory.create(); |
| | | // String response = service.helloWorld(); |
| | | // return Result.ok(response); |
| | | WebServiceSoap port = webService.getWebServiceSoap12(); |
| | | // 2. è·å CXF åºå± Client 对象 |
| | | Client client = ClientProxy.getClient(port); |
| | | |
| | | // 3. è·å HTTPConduit 并设置è¶
æ¶ |
| | | HTTPConduit http = (HTTPConduit) client.getConduit(); |
| | | HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); |
| | | |
| | | httpClientPolicy.setConnectionTimeout(10 * 1000); // è¿æ¥è¶
æ¶ 10 ç§ |
| | | httpClientPolicy.setReceiveTimeout(300 * 1000); // 读åè¶
æ¶ 60 ç§ï¼éç¹ï¼ï¼ |
| | | |
| | | http.setClient(httpClientPolicy); |
| | | String result = port.helloWorld(); |
| | | return Result.ok(result); |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | 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.XmlRootElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="DeliOrderDeleteResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "deliOrderDeleteResult" |
| | | }) |
| | | @XmlRootElement(name = "DeliOrderDeleteResponse") |
| | | @Getter |
| | | @Setter |
| | | public class DeliOrderDeleteResponse { |
| | | |
| | | @XmlElement(name = "DeliOrderDeleteResult") |
| | | protected WSResponse deliOrderDeleteResult; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | 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.XmlRootElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="HelloWorldResult" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "helloWorldResult" |
| | | }) |
| | | @XmlRootElement(name = "HelloWorldResponse") |
| | | @Getter |
| | | @Setter |
| | | public class HelloWorldResponse { |
| | | |
| | | @XmlElement(name = "HelloWorldResult") |
| | | protected String helloWorldResult; |
| | | } |
| | |
| | | |
| | | 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.XmlRootElement; |
| | | import java.io.Serializable; |
| | | import javax.xml.bind.annotation.*; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="ReceiveMESScanItemListResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "receiveMESScanItemListResult" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveMESScanItemListResponse") |
| | | @Getter |
| | | @Setter |
| | | @XmlRootElement(name = "ReceiveMESScanItemListResponse") |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class ReceiveMESScanItemListResponse implements Serializable { |
| | | @XmlElement(name = "WSResponse") |
| | | private WSResponse wsResponse; |
| | | public class ReceiveMESScanItemListResponse { |
| | | |
| | | @XmlElement(name = "ReceiveMESScanItemListResult") |
| | | protected WSResponse receiveMESScanItemListResult; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.dto; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.*; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="ReceiveReservationResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "receiveReservationResult" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveReservationResponse") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveReservationResponse { |
| | | |
| | | @XmlElement(name = "ReceiveReservationResult") |
| | | protected WSResponse receiveReservationResult; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms.dto; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.*; |
| | | |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "receiveWMSScanItemListResult" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveWMSScanItemListResponse") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveWMSScanItemListResponse { |
| | | @XmlElement(name = "ReceiveWMSScanItemListResult") |
| | | protected WSResponse receiveWMSScanItemListResult; |
| | | } |
| | |
| | | |
| | | package org.jeecg.modules.wms.dto; |
| | | |
| | | import lombok.Getter; |
| | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlElement; |
| | | import java.io.Serializable; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>WSResponse complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType name="WSResponse"> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="ErrorDesc" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class WSResponse implements Serializable { |
| | | @XmlType(name = "WSResponse", propOrder = { |
| | | "errorCode", |
| | | "errorDesc" |
| | | }) |
| | | public class WSResponse { |
| | | |
| | | @XmlElement(name = "ErrorCode") |
| | | private String errorCode; |
| | | protected String errorCode; |
| | | @XmlElement(name = "ErrorDesc") |
| | | private String errorDesc; |
| | | protected String errorDesc; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * <p>ArrayOfWebServiceSendItem complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType name="ArrayOfWebServiceSendItem"> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="WebServiceSendItem" type="{http://tempuri.org/}WebServiceSendItem" maxOccurs="unbounded" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "ArrayOfWebServiceSendItem", propOrder = { |
| | | "webServiceSendItem" |
| | | }) |
| | | public class ArrayOfWebServiceSendItem { |
| | | |
| | | @XmlElement(name = "WebServiceSendItem", nillable = true) |
| | | protected List<WebServiceSendItem> webServiceSendItem; |
| | | |
| | | /** |
| | | * Gets the value of the webServiceSendItem property. |
| | | * |
| | | * <p> |
| | | * This accessor method returns a reference to the live list, |
| | | * not a snapshot. Therefore any modification you make to the |
| | | * returned list will be present inside the JAXB object. |
| | | * This is why there is not a <CODE>set</CODE> method for the webServiceSendItem property. |
| | | * |
| | | * <p> |
| | | * For example, to add a new item, do as follows: |
| | | * <pre> |
| | | * getWebServiceSendItem().add(newItem); |
| | | * </pre> |
| | | * |
| | | * |
| | | * <p> |
| | | * Objects of the following type(s) are allowed in the list |
| | | * {@link WebServiceSendItem } |
| | | * |
| | | * |
| | | */ |
| | | public List<WebServiceSendItem> getWebServiceSendItem() { |
| | | if (webServiceSendItem == null) { |
| | | webServiceSendItem = new ArrayList<>(); |
| | | } |
| | | return this.webServiceSendItem; |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlRootElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="sFactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="sStockRecord" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "sFactoryCode", |
| | | "sStockRecord" |
| | | }) |
| | | @XmlRootElement(name = "DeliOrderDelete") |
| | | @Getter |
| | | @Setter |
| | | public class DeliOrderDelete { |
| | | |
| | | protected String sFactoryCode; |
| | | protected String sStockRecord; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlRootElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "") |
| | | @XmlRootElement(name = "HelloWorld") |
| | | public class HelloWorld { |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.*; |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="oMESScanItemList" type="{http://tempuri.org/}ArrayOfWebServiceSendItem" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "omesScanItemList" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveMESScanItemList") |
| | | @Getter |
| | | @Setter |
| | | @XmlRootElement(name = "ReceiveMESScanItemList") |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class ReceiveMESScanItemList implements Serializable { |
| | | public class ReceiveMESScanItemList { |
| | | |
| | | @XmlElementWrapper(name = "ArrayOfWebServiceSendItem") |
| | | @XmlElement(name = "WebServiceSendItem") |
| | | private List<WebServiceSendItem> items; |
| | | @XmlElement(name = "oMESScanItemList") |
| | | protected ArrayOfWebServiceSendItem omesScanItemList; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlRootElement; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>anonymous complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="oWebReservationOrder" type="{http://tempuri.org/}WebReservationOrder" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "oWebReservationOrder" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveReservation") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveReservation { |
| | | |
| | | protected WebReservationOrder oWebReservationOrder; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.xml.bind.annotation.*; |
| | | import java.util.List; |
| | | |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "", propOrder = { |
| | | "wmsWebServiceSendItemList" |
| | | }) |
| | | @XmlRootElement(name = "ReceiveWMSScanItemList") |
| | | @Getter |
| | | @Setter |
| | | public class ReceiveWMSScanItemList { |
| | | |
| | | @XmlElementWrapper(name = "ArrayOfWMSWebServiceSendItem") |
| | | @XmlElement(name = "WMSWebServiceSendItem", nillable = true) |
| | | protected List<WMSWebServiceSendItem> wmsWebServiceSendItemList; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | 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 |
| | | @XmlType(name = "WMSWebServiceSendItem", propOrder = { |
| | | "factoryCode", |
| | | "skuCode", |
| | | "reservationOrder", |
| | | "align", |
| | | "pallet", |
| | | "packageNo", |
| | | "trackLot", |
| | | "series", |
| | | "mesStockID", |
| | | "quantity", |
| | | "sapTrackLot", |
| | | "section", |
| | | "destSection", |
| | | "supplierCode", |
| | | "supplierTrackLot", |
| | | "stageID", |
| | | "remark", |
| | | "orderCode" |
| | | }) |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class WMSWebServiceSendItem { |
| | | |
| | | /**å·¥åç¼ç */ |
| | | @XmlElement(name = "FactoryCode") |
| | | private String factoryCode; |
| | | /** ç©æç¼ç */ |
| | | @XmlElement(name = "SkuCode") |
| | | private String skuCode; |
| | | /** é¢çå· */ |
| | | @XmlElement(name = "ReservationOrder") |
| | | private String reservationOrder; |
| | | /** 坹齿¹å¼ */ |
| | | @XmlElement(name = "Align") |
| | | private String align; |
| | | /** æå· */ |
| | | @XmlElement(name = "Pallet") |
| | | private String pallet; |
| | | /** å
è£
ç¼ç */ |
| | | @XmlElement(name = "PackageNo") |
| | | private String packageNo; |
| | | /** æ¹æ¬¡å· */ |
| | | @XmlElement(name = "TrackLot") |
| | | private String trackLot; |
| | | /** ç³»åå· */ |
| | | @XmlElement(name = "Series") |
| | | private String series; |
| | | /** MESåºåID */ |
| | | @XmlElement(name = "MesStockID") |
| | | private String mesStockID; |
| | | /** æ°é */ |
| | | @XmlElement(name = "Quantity") |
| | | private String quantity; |
| | | /** SAPæ¹æ¬¡å· */ |
| | | @XmlElement(name = "SapTrackLot") |
| | | private String sapTrackLot; |
| | | /** åéåºåå° */ |
| | | @XmlElement(name = "Section") |
| | | private String section; |
| | | /** ç®æ åºåå° */ |
| | | @XmlElement(name = "DestSection") |
| | | private String destSection; |
| | | /** ä¾åºå代ç */ |
| | | @XmlElement(name = "SupplierCode") |
| | | private String supplierCode; |
| | | /** ä¾åºåæ¹æ¬¡å· */ |
| | | @XmlElement(name = "SupplierTrackLot") |
| | | private String supplierTrackLot; |
| | | /** é¶æ®µID */ |
| | | @XmlElement(name = "StageID") |
| | | private String stageID; |
| | | /** 夿³¨ */ |
| | | @XmlElement(name = "Remark") |
| | | private String remark; |
| | | /** 订åç¼ç */ |
| | | @XmlElement(name = "OrderCode") |
| | | private String orderCode; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | 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; |
| | | import java.math.BigDecimal; |
| | | |
| | | |
| | | /** |
| | | * <p>WebReservationOrder complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType name="WebReservationOrder"> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="FactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="ReservationOrder" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Total" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "WebReservationOrder", propOrder = { |
| | | "factoryCode", |
| | | "reservationOrder", |
| | | "total" |
| | | }) |
| | | @Getter |
| | | @Setter |
| | | public class WebReservationOrder { |
| | | |
| | | @XmlElement(name = "FactoryCode") |
| | | protected String factoryCode; |
| | | @XmlElement(name = "ReservationOrder") |
| | | protected String reservationOrder; |
| | | @XmlElement(name = "Total", required = true) |
| | | protected BigDecimal total; |
| | | } |
| | |
| | | |
| | | package org.jeecg.modules.wms.request; |
| | | |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.math.BigDecimal; |
| | | import javax.xml.bind.annotation.XmlAccessType; |
| | | import javax.xml.bind.annotation.XmlAccessorType; |
| | | import javax.xml.bind.annotation.XmlElement; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import javax.xml.bind.annotation.XmlType; |
| | | |
| | | |
| | | /** |
| | | * <p>WebServiceSendItem complex typeç Java ç±»ã |
| | | * |
| | | * <p>以䏿¨¡å¼ç段æå®å
å«å¨æ¤ç±»ä¸ç颿å
容ã |
| | | * |
| | | * <pre> |
| | | * <complexType name="WebServiceSendItem"> |
| | | * <complexContent> |
| | | * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
| | | * <sequence> |
| | | * <element name="FactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="SkuCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Align" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Pallet" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="PackageNo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="TrackLot" type="{http://www.w3.org/2001/XMLSchema}long"/> |
| | | * <element name="Series" type="{http://www.w3.org/2001/XMLSchema}long"/> |
| | | * <element name="MesStockID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Quantity" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
| | | * <element name="SapTrackLot" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Section" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="DestSection" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="SupplierCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="SupplierTrackLot" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="StageID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * <element name="OrderCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
| | | * </sequence> |
| | | * </restriction> |
| | | * </complexContent> |
| | | * </complexType> |
| | | * </pre> |
| | | * |
| | | * |
| | | */ |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | @XmlType(name = "WebServiceSendItem", propOrder = { |
| | | "factoryCode", |
| | | "skuCode", |
| | | "align", |
| | | "pallet", |
| | | "packageNo", |
| | | "trackLot", |
| | | "series", |
| | | "mesStockID", |
| | | "quantity", |
| | | "sapTrackLot", |
| | | "section", |
| | | "destSection", |
| | | "supplierCode", |
| | | "supplierTrackLot", |
| | | "stageID", |
| | | "remark", |
| | | "orderCode" |
| | | }) |
| | | @Getter |
| | | @Setter |
| | | @XmlAccessorType(XmlAccessType.FIELD) |
| | | public class WebServiceSendItem implements Serializable { |
| | | /**å·¥åç¼ç */ |
| | | public class WebServiceSendItem { |
| | | |
| | | @XmlElement(name = "FactoryCode") |
| | | private String factoryCode; |
| | | /** ç©æç¼ç */ |
| | | protected String factoryCode; |
| | | @XmlElement(name = "SkuCode") |
| | | private String skuCode; |
| | | /** é¢çå· */ |
| | | @XmlElement(name = "ReservationOrder") |
| | | private String reservationOrder; |
| | | /** 坹齿¹å¼ */ |
| | | protected String skuCode; |
| | | @XmlElement(name = "Align") |
| | | private String align; |
| | | /** æå· */ |
| | | protected String align; |
| | | @XmlElement(name = "Pallet") |
| | | private String pallet; |
| | | /** å
è£
ç¼ç */ |
| | | protected String pallet; |
| | | @XmlElement(name = "PackageNo") |
| | | private String packageNo; |
| | | /** æ¹æ¬¡å· */ |
| | | protected String packageNo; |
| | | @XmlElement(name = "TrackLot") |
| | | private String trackLot; |
| | | /** ç³»åå· */ |
| | | protected long trackLot; |
| | | @XmlElement(name = "Series") |
| | | private String series; |
| | | /** MESåºåID */ |
| | | protected long series; |
| | | @XmlElement(name = "MesStockID") |
| | | private String mesStockID; |
| | | /** æ°é */ |
| | | @XmlElement(name = "Quantity") |
| | | private BigDecimal quantity; |
| | | /** SAPæ¹æ¬¡å· */ |
| | | protected String mesStockID; |
| | | @XmlElement(name = "Quantity", required = true) |
| | | protected BigDecimal quantity; |
| | | @XmlElement(name = "SapTrackLot") |
| | | private String sapTrackLot; |
| | | /** åéåºåå° */ |
| | | protected String sapTrackLot; |
| | | @XmlElement(name = "Section") |
| | | private String section; |
| | | /** ç®æ åºåå° */ |
| | | protected String section; |
| | | @XmlElement(name = "DestSection") |
| | | private String destSection; |
| | | /** ä¾åºå代ç */ |
| | | protected String destSection; |
| | | @XmlElement(name = "SupplierCode") |
| | | private String supplierCode; |
| | | /** ä¾åºåæ¹æ¬¡å· */ |
| | | protected String supplierCode; |
| | | @XmlElement(name = "SupplierTrackLot") |
| | | private String supplierTrackLot; |
| | | /** é¶æ®µID */ |
| | | protected String supplierTrackLot; |
| | | @XmlElement(name = "StageID") |
| | | private String stageID; |
| | | /** 夿³¨ */ |
| | | protected String stageID; |
| | | @XmlElement(name = "Remark") |
| | | private String remark; |
| | | /** 订åç¼ç */ |
| | | protected String remark; |
| | | @XmlElement(name = "OrderCode") |
| | | private String orderCode; |
| | | protected 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.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 |
| | | * @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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms.service; |
| | | |
| | | import org.jeecg.modules.wms.WMSObjectFactory; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.request.ArrayOfWebServiceSendItem; |
| | | import org.jeecg.modules.wms.request.WebReservationOrder; |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * This class was generated by Apache CXF 3.5.5 |
| | | * 2025-08-15T16:30:13.468+08:00 |
| | | * Generated source version: 3.5.5 |
| | | * |
| | | */ |
| | | @WebService(targetNamespace = "http://tempuri.org/", name = "WebServiceSoap") |
| | | @XmlSeeAlso({WMSObjectFactory.class}) |
| | | public interface WebServiceSoap { |
| | | |
| | | @WebMethod(operationName = "ReceiveReservation", action = "http://tempuri.org/ReceiveReservation") |
| | | @RequestWrapper(localName = "ReceiveReservation", targetNamespace = "http://tempuri.org/", className = "ReceiveReservation") |
| | | @ResponseWrapper(localName = "ReceiveReservationResponse", targetNamespace = "http://tempuri.org/", className = "ReceiveReservationResponse") |
| | | @WebResult(name = "ReceiveReservationResult", targetNamespace = "http://tempuri.org/") |
| | | WSResponse receiveReservation( |
| | | |
| | | @WebParam(name = "oWebReservationOrder", targetNamespace = "http://tempuri.org/") |
| | | WebReservationOrder oWebReservationOrder |
| | | ); |
| | | |
| | | @WebMethod(operationName = "HelloWorld", action = "http://tempuri.org/HelloWorld") |
| | | @RequestWrapper(localName = "HelloWorld", targetNamespace = "http://tempuri.org/", className = "HelloWorld") |
| | | @ResponseWrapper(localName = "HelloWorldResponse", targetNamespace = "http://tempuri.org/", className = "HelloWorldResponse") |
| | | @WebResult(name = "HelloWorldResult", targetNamespace = "http://tempuri.org/") |
| | | String helloWorld(); |
| | | |
| | | @WebMethod(operationName = "ReceiveMESScanItemList", action = "http://tempuri.org/ReceiveMESScanItemList") |
| | | @RequestWrapper(localName = "ReceiveMESScanItemList", targetNamespace = "http://tempuri.org/", className = "ReceiveMESScanItemList") |
| | | @ResponseWrapper(localName = "ReceiveMESScanItemListResponse", targetNamespace = "http://tempuri.org/", className = "ReceiveMESScanItemListResponse") |
| | | @WebResult(name = "ReceiveMESScanItemListResult", targetNamespace = "http://tempuri.org/") |
| | | WSResponse receiveMESScanItemList( |
| | | |
| | | @WebParam(name = "oMESScanItemList", targetNamespace = "http://tempuri.org/") |
| | | ArrayOfWebServiceSendItem oMESScanItemList |
| | | ); |
| | | |
| | | @WebMethod(operationName = "DeliOrderDelete", action = "http://tempuri.org/DeliOrderDelete") |
| | | @RequestWrapper(localName = "DeliOrderDelete", targetNamespace = "http://tempuri.org/", className = "DeliOrderDelete") |
| | | @ResponseWrapper(localName = "DeliOrderDeleteResponse", targetNamespace = "http://tempuri.org/", className = "DeliOrderDeleteResponse") |
| | | @WebResult(name = "DeliOrderDeleteResult", targetNamespace = "http://tempuri.org/") |
| | | WSResponse deliOrderDelete( |
| | | |
| | | @WebParam(name = "sFactoryCode", targetNamespace = "http://tempuri.org/") |
| | | String sFactoryCode, |
| | | @WebParam(name = "sStockRecord", targetNamespace = "http://tempuri.org/") |
| | | String sStockRecord |
| | | ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.wms.service.impl; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.aspect.annotation.ApiLog; |
| | | import org.jeecg.common.constant.ApiLogCategoryEnum; |
| | | import org.jeecg.modules.wms.dto.WSResponse; |
| | | import org.jeecg.modules.wms.request.ReceiveWMSScanItemList; |
| | | import org.jeecg.modules.wms.service.MESWebServiceSoap; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | 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; |
| | | |
| | | |
| | | @Slf4j |
| | | @Service |
| | | @WebService(name = "MESWebServiceSoap", targetNamespace = "http://xhj008.server.webservice.com", endpointInterface = "org.jeecg.modules.wms.service.MESWebServiceSoap") |
| | | public class MESWebServiceSoapImpl implements MESWebServiceSoap { |
| | | |
| | | @Override |
| | | @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) { |
| | | log.error("11111111111"); |
| | | WSResponse response = new WSResponse(); |
| | | response.setErrorCode("-1"); |
| | | response.setErrorDesc("ææ¶ç»æé"); |
| | | return response; |
| | | } |
| | | } |
| | |
| | | include-stacktrace: ALWAYS |
| | | include-message: ALWAYS |
| | | servlet: |
| | | context-path: /jeecg-boot |
| | | context-path: |
| | | compression: |
| | | enabled: true |
| | | min-response-size: 1024 |
| | |
| | | connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 |
| | | datasource: |
| | | master: |
| | | url: jdbc:sqlserver://192.168.1.118:1433;databasename=LXZN_TEST_XHJ;nullCatalogMeansCurrent=true |
| | | url: jdbc:sqlserver://192.168.0.118:1433;databasename=LXZN_TEST_XHJ;nullCatalogMeansCurrent=true |
| | | username: sa |
| | | password: 123 |
| | | driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> |
| | | <wsdl:types> |
| | | <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> |
| | | <s:element name="ReceiveMESScanItemList"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="oMESScanItemList" type="tns:ArrayOfWebServiceSendItem" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:complexType name="ArrayOfWebServiceSendItem"> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="unbounded" name="WebServiceSendItem" nillable="true" type="tns:WebServiceSendItem" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | <s:complexType name="WebServiceSendItem"> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="FactoryCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="SkuCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="Align" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="Pallet" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="PackageNo" type="s:string" /> |
| | | <s:element minOccurs="1" maxOccurs="1" name="TrackLot" type="s:long" /> |
| | | <s:element minOccurs="1" maxOccurs="1" name="Series" type="s:long" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="MesStockID" type="s:string" /> |
| | | <s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:decimal" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="SapTrackLot" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="Section" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="DestSection" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="SupplierCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="SupplierTrackLot" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="StageID" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="Remark" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="OrderCode" type="s:string" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | <s:element name="ReceiveMESScanItemListResponse"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="ReceiveMESScanItemListResult" type="tns:WSResponse" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:complexType name="WSResponse"> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="ErrorDesc" type="s:string" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | <s:element name="DeliOrderDelete"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="sFactoryCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="sStockRecord" type="s:string" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:element name="DeliOrderDeleteResponse"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="DeliOrderDeleteResult" type="tns:WSResponse" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:element name="ReceiveReservation"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="oWebReservationOrder" type="tns:WebReservationOrder" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:complexType name="WebReservationOrder"> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="FactoryCode" type="s:string" /> |
| | | <s:element minOccurs="0" maxOccurs="1" name="ReservationOrder" type="s:string" /> |
| | | <s:element minOccurs="1" maxOccurs="1" name="Total" type="s:decimal" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | <s:element name="ReceiveReservationResponse"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="ReceiveReservationResult" type="tns:WSResponse" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | <s:element name="HelloWorld"> |
| | | <s:complexType /> |
| | | </s:element> |
| | | <s:element name="HelloWorldResponse"> |
| | | <s:complexType> |
| | | <s:sequence> |
| | | <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" /> |
| | | </s:sequence> |
| | | </s:complexType> |
| | | </s:element> |
| | | </s:schema> |
| | | </wsdl:types> |
| | | <wsdl:message name="ReceiveMESScanItemListSoapIn"> |
| | | <wsdl:part name="parameters" element="tns:ReceiveMESScanItemList" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="ReceiveMESScanItemListSoapOut"> |
| | | <wsdl:part name="parameters" element="tns:ReceiveMESScanItemListResponse" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="DeliOrderDeleteSoapIn"> |
| | | <wsdl:part name="parameters" element="tns:DeliOrderDelete" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="DeliOrderDeleteSoapOut"> |
| | | <wsdl:part name="parameters" element="tns:DeliOrderDeleteResponse" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="ReceiveReservationSoapIn"> |
| | | <wsdl:part name="parameters" element="tns:ReceiveReservation" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="ReceiveReservationSoapOut"> |
| | | <wsdl:part name="parameters" element="tns:ReceiveReservationResponse" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="HelloWorldSoapIn"> |
| | | <wsdl:part name="parameters" element="tns:HelloWorld" /> |
| | | </wsdl:message> |
| | | <wsdl:message name="HelloWorldSoapOut"> |
| | | <wsdl:part name="parameters" element="tns:HelloWorldResponse" /> |
| | | </wsdl:message> |
| | | <wsdl:portType name="WebServiceSoap"> |
| | | <wsdl:operation name="ReceiveMESScanItemList"> |
| | | <wsdl:input message="tns:ReceiveMESScanItemListSoapIn" /> |
| | | <wsdl:output message="tns:ReceiveMESScanItemListSoapOut" /> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="DeliOrderDelete"> |
| | | <wsdl:input message="tns:DeliOrderDeleteSoapIn" /> |
| | | <wsdl:output message="tns:DeliOrderDeleteSoapOut" /> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="ReceiveReservation"> |
| | | <wsdl:input message="tns:ReceiveReservationSoapIn" /> |
| | | <wsdl:output message="tns:ReceiveReservationSoapOut" /> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="HelloWorld"> |
| | | <wsdl:input message="tns:HelloWorldSoapIn" /> |
| | | <wsdl:output message="tns:HelloWorldSoapOut" /> |
| | | </wsdl:operation> |
| | | </wsdl:portType> |
| | | <wsdl:binding name="WebServiceSoap" type="tns:WebServiceSoap"> |
| | | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> |
| | | <wsdl:operation name="ReceiveMESScanItemList"> |
| | | <soap:operation soapAction="http://tempuri.org/ReceiveMESScanItemList" style="document" /> |
| | | <wsdl:input> |
| | | <soap:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="DeliOrderDelete"> |
| | | <soap:operation soapAction="http://tempuri.org/DeliOrderDelete" style="document" /> |
| | | <wsdl:input> |
| | | <soap:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="ReceiveReservation"> |
| | | <soap:operation soapAction="http://tempuri.org/ReceiveReservation" style="document" /> |
| | | <wsdl:input> |
| | | <soap:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="HelloWorld"> |
| | | <soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" /> |
| | | <wsdl:input> |
| | | <soap:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | </wsdl:binding> |
| | | <wsdl:binding name="WebServiceSoap12" type="tns:WebServiceSoap"> |
| | | <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> |
| | | <wsdl:operation name="ReceiveMESScanItemList"> |
| | | <soap12:operation soapAction="http://tempuri.org/ReceiveMESScanItemList" style="document" /> |
| | | <wsdl:input> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="DeliOrderDelete"> |
| | | <soap12:operation soapAction="http://tempuri.org/DeliOrderDelete" style="document" /> |
| | | <wsdl:input> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="ReceiveReservation"> |
| | | <soap12:operation soapAction="http://tempuri.org/ReceiveReservation" style="document" /> |
| | | <wsdl:input> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | <wsdl:operation name="HelloWorld"> |
| | | <soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document" /> |
| | | <wsdl:input> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:input> |
| | | <wsdl:output> |
| | | <soap12:body use="literal" /> |
| | | </wsdl:output> |
| | | </wsdl:operation> |
| | | </wsdl:binding> |
| | | <wsdl:service name="WebService"> |
| | | <wsdl:port name="WebServiceSoap" binding="tns:WebServiceSoap"> |
| | | <soap:address location="http://10.101.0.182:8002/MesWebService/WebService.asmx" /> |
| | | </wsdl:port> |
| | | <wsdl:port name="WebServiceSoap12" binding="tns:WebServiceSoap12"> |
| | | <soap12:address location="http://10.101.0.182:8002/MesWebService/WebService.asmx" /> |
| | | </wsdl:port> |
| | | </wsdl:service> |
| | | </wsdl:definitions> |