Commit c43e3d7dced66fd10b4a4aa3feadf87539aeff62

Authored by 谭毅彬
2 parents 0c28427e f77197e3

Merge branch 'develop' of http://www.huahengrobot.com:90/wms/wms4.git

into develop

Conflicts:
	ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderHistoryList.vue
Showing 53 changed files with 327 additions and 329 deletions
ant-design-vue-jeecg/src/views/system/config/AddressList.vue
... ... @@ -32,9 +32,6 @@
32 32 @change="handleImportExcel">
33 33 <a-button type="primary" icon="import">导入</a-button>
34 34 </a-upload>
35   - <!-- 高级查询区域 -->
36   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
37   - @handleSuperQuery="handleSuperQuery"></j-super-query>
38 35 <a-dropdown v-if="selectedRowKeys.length > 0">
39 36 <a-menu slot="overlay" v-has="'address:deleteBatch'">
40 37 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/AgvPortList.vue
... ... @@ -36,8 +36,6 @@
36 36 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
37 37 <a-button type="primary" icon="import">导入</a-button>
38 38 </a-upload>
39   - <!-- 高级查询区域 -->
40   - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
41 39 <a-dropdown v-if="selectedRowKeys.length > 0">
42 40 <a-menu slot="overlay">
43 41 <a-menu-item key="1" v-has="'agvPort:delete'" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
... ...
ant-design-vue-jeecg/src/views/system/config/BomHeaderList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 </div>
44 41  
45 42 <!-- table区域-begin -->
... ...
ant-design-vue-jeecg/src/views/system/config/CarrierList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'carrier:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/CompanyList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'company:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ContainerCapacityList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 48 <a-menu slot="overlay" v-has="'containerCapacity:deleteBatch'">
52 49 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ContainerList.vue
... ... @@ -60,9 +60,6 @@
60 60 <a-button type="primary" icon="import">导入</a-button>
61 61 <a-button v-has="'container:print'" @click="batchPrint()" type="primary">打印</a-button>
62 62 </a-upload>
63   - <!-- 高级查询区域 -->
64   -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
65   -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
66 63 <a-dropdown v-if="selectedRowKeys.length > 0">
67 64 <a-menu slot="overlay" v-has="'container:deleteBatch'">
68 65 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ContainerTypeList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'containerType:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/CustomerList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'customer:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/CycleCountPreferenceList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'cycleCountPreference:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/LocationHighList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'locationHigh:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/LocationList.vue
... ... @@ -113,9 +113,6 @@
113 113 <a-button type="primary" icon="import">导入</a-button>
114 114 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button>
115 115 </a-upload>
116   - <!-- 高级查询区域 -->
117   -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
118   -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
119 116 <a-dropdown v-if="selectedRowKeys.length > 0">
120 117 <a-menu slot="overlay" v-has="'location:deleteBatch'">
121 118 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/LocationTypeList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'locationType:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialAreaList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'materialArea:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialList.vue
... ... @@ -45,9 +45,6 @@
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button>
47 47 </a-upload>
48   - <!-- 高级查询区域 -->
49   -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
50   -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
51 48 <a-dropdown v-if="selectedRowKeys.length > 0">
52 49 <a-menu slot="overlay" v-has="'material:deleteBatch'">
53 50 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialMultipleList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'materialMultiple:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialTypeList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'materialType:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialUnitList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 48 <a-menu slot="overlay" v-has="'materialUnit:deleteBatch'">
52 49 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/MaterialWarningList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'materialWarning:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ParameterConfigurationList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 48 <a-menu slot="overlay" v-has="'ParameterConfiguration:deleteBatch'">
52 49 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/PortList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 48 <a-menu slot="overlay" v-has="'port:deleteBatch'">
52 49 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ReceiptTypeList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'receiptType:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/ShipmentTypeList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'shipmentType:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/SupplierList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 48 <a-menu slot="overlay" v-has="'supplier:deleteBatch'">
52 49 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/SysUserWarehouseList.vue
... ... @@ -17,9 +17,6 @@
17 17 @change="handleImportExcel">
18 18 <a-button type="primary" icon="import">导入</a-button>
19 19 </a-upload>
20   - <!-- 高级查询区域 -->
21   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
22   - @handleSuperQuery="handleSuperQuery"></j-super-query>
23 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 21 <a-menu slot="overlay" v-has="'sysUserWarehouse:deleteBatch'">
25 22 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/config/WarehouseList.vue
... ... @@ -44,9 +44,6 @@
44 44 @change="handleImportExcel">
45 45 <a-button type="primary" icon="import">导入</a-button>
46 46 </a-upload>
47   - <!-- 高级查询区域 -->
48   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
49   - @handleSuperQuery="handleSuperQuery"></j-super-query>
50 47 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
51 48 <!-- <a-menu slot="overlay">-->
52 49 <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
... ...
ant-design-vue-jeecg/src/views/system/config/ZoneList.vue
... ... @@ -37,9 +37,6 @@
37 37 @change="handleImportExcel">
38 38 <a-button type="primary" icon="import">导入</a-button>
39 39 </a-upload>
40   - <!-- 高级查询区域 -->
41   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
42   - @handleSuperQuery="handleSuperQuery"></j-super-query>
43 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 41 <a-menu slot="overlay" v-has="'zone:deleteBatch'">
45 42 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
... ... @@ -64,18 +64,15 @@
64 64 @change="handleImportExcel">
65 65 <a-button type="primary" icon="import">导入</a-button>
66 66 </a-upload>
67   - <!-- 高级查询区域 -->
68   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
69   - @handleSuperQuery="handleSuperQuery"></j-super-query>
70 67 </div>
71 68  
72 69 <!-- table区域-begin -->
73 70 <div>
74   - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
75   - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
76   - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
77   - <a style="margin-left: 24px" @click="onClearSelected">清空</a>
78   - </div>
  71 +<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
  72 +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a-->
  73 +<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
  74 +<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
  75 +<!-- </div>-->
79 76  
80 77 <a-table
81 78 ref="table"
... ...
ant-design-vue-jeecg/src/views/system/inventory/InventoryMaterialSummaryList.vue
... ... @@ -16,16 +16,14 @@
16 16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
17 17 <a-button type="primary" icon="import">导入</a-button>
18 18 </a-upload>
19   - <!-- 高级查询区域 -->
20   - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
21 19 </div>
22 20  
23 21 <!-- table区域-begin -->
24 22 <div>
25   - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
26   - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
27   - <a style="margin-left: 24px" @click="onClearSelected">清空</a>
28   - </div>
  23 +<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
  24 +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
  25 +<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
  26 +<!-- </div>-->
29 27  
30 28 <a-table
31 29 ref="table"
... ...
ant-design-vue-jeecg/src/views/system/inventory/InventoryTransactionList.vue
... ... @@ -104,9 +104,6 @@
104 104 @change="handleImportExcel">
105 105 <a-button type="primary" icon="import">导入</a-button>
106 106 </a-upload>
107   - <!-- 高级查询区域 -->
108   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
109   - @handleSuperQuery="handleSuperQuery"></j-super-query>
110 107 <a-dropdown v-if="selectedRowKeys.length > 0">
111 108 <a-menu slot="overlay" v-has="'inventoryTransaction:deleteBatch'">
112 109 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue
... ... @@ -78,9 +78,6 @@
78 78 @change="handleImportExcel">
79 79 <a-button type="primary" icon="import">导入</a-button>
80 80 </a-upload>
81   - <!-- 高级查询区域 -->
82   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
83   - @handleSuperQuery="handleSuperQuery"></j-super-query>
84 81 <a-dropdown v-if="selectedRowKeys.length > 0">
85 82 <a-menu slot="overlay" v-has="'apiLog:deleteBatch'">
86 83 <a-menu-item key="1" @click="batchDel">
... ...
ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue
... ... @@ -20,7 +20,6 @@
20 20 </a-form-item>
21 21 </a-col>
22 22 <template v-if="toggleSearchStatus">
23   - <a-col :xl="6" :lg="7" :md="8" :sm="24">
24 23 <a-form-item label="起始库位">
25 24 <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input>
26 25 </a-form-item>
... ... @@ -67,9 +66,6 @@
67 66 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
68 67 <a-button type="primary" icon="import">导入</a-button>
69 68 </a-upload>
70   - <!-- 高级查询区域 -->
71   -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
72   -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
73 69 </div>
74 70  
75 71 <!-- table区域-begin -->
... ... @@ -105,19 +101,27 @@
105 101 type="primary"
106 102 icon="download"
107 103 size="small"
108   - @click="downloadFile(text)">下载
  104 + @click="downloadFile(text)">
  105 + 下载
109 106 </a-button>
110 107 </template>
111 108  
112   - <span slot="action" slot-scope="text, record">
  109 + <span slot="action" slot-scope="text, record">
113 110 <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)">生成任务</a>
114 111 <a v-else-if="record.status == 0" @click="createTask(record)">生成任务</a>
115 112 <a-divider type="vertical"/>
116 113 <a-popconfirm v-if="record.status == 0" v-has="'receiptContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)">
117   - <a>取消配盘</a>
  114 + <a>取消配盘</a>
118 115 </a-popconfirm>
119 116 <a-divider type="vertical"/>
120   - <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a>
  117 + <a-dropdown>
  118 + <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
  119 + <a-menu slot="overlay">
  120 + <a-menu-item>
  121 + <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a>
  122 + </a-menu-item>
  123 + </a-menu>
  124 + </a-dropdown>
121 125 </span>
122 126  
123 127 </a-table>
... ...
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderHistoryList.vue
... ... @@ -107,9 +107,6 @@
107 107 @change='handleImportExcel'>
108 108 <!-- <a-button type="primary" icon="import">导入</a-button>-->
109 109 </a-upload>
110   - <!-- 高级查询区域 -->
111   -<!-- <j-super-query :fieldList='superFieldList' ref='superQueryModal'-->
112   -<!-- @handleSuperQuery='handleSuperQuery'></j-super-query>-->
113 110 </div>
114 111  
115 112 <!-- table区域-begin -->
... ...
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue
... ... @@ -106,9 +106,6 @@
106 106 <a-button type="primary" icon="import">导入</a-button>
107 107 <a-button v-has="'receiptHeader:print'" @click="batchPrint()" type="primary">打印</a-button>
108 108 </a-upload>
109   - <!-- 高级查询区域 -->
110   -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->
111   -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->
112 109 </div>
113 110  
114 111 <!-- table区域-begin -->
... ...
ant-design-vue-jeecg/src/views/system/shipment/ShipmentContainerHeaderList.vue
... ... @@ -74,18 +74,15 @@
74 74 @change="handleImportExcel">
75 75 <a-button type="primary" icon="import">导入</a-button>
76 76 </a-upload>
77   - <!-- 高级查询区域 -->
78   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
79   - @handleSuperQuery="handleSuperQuery"></j-super-query>
80 77 </div>
81 78  
82 79 <!-- table区域-begin -->
83 80 <div>
84   - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
85   - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
86   - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
87   - <a style="margin-left: 24px" @click="onClearSelected">清空</a>
88   - </div>
  81 +<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
  82 +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a-->
  83 +<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
  84 +<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
  85 +<!-- </div>-->
89 86  
90 87 <a-table
91 88 ref="table"
... ... @@ -124,17 +121,17 @@
124 121 </template>
125 122  
126 123 <span slot="action" slot-scope="text, record">
127   - <a v-has="'shipmentContainerHeader:edit'" @click="handleEdit(record)">编辑</a>
128   - <a-divider type="vertical"/>
129 124 <a v-if="record.status == 0" @click="selectPort(record)">生成任务</a>
130 125 <a-divider type="vertical"/>
  126 + <a-popconfirm v-if="record.status == 0" v-has="'shipmentContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)">
  127 + <a>取消配盘</a>
  128 + </a-popconfirm>
  129 + <a-divider type="vertical"/>
131 130 <a-dropdown>
132 131 <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
133   - <a-menu slot="overlay" v-has="'shipmentContainerHeader:delete'">
  132 + <a-menu slot="overlay" >
134 133 <a-menu-item>
135   - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
136   - <a>删除</a>
137   - </a-popconfirm>
  134 + <a v-has="'receiptContainerHeader:edit'" @click="handleEdit(record)">编辑</a>
138 135 </a-menu-item>
139 136 </a-menu>
140 137 </a-dropdown>
... ...
ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderHistoryList.vue
... ... @@ -109,9 +109,6 @@
109 109 @change="handleImportExcel">
110 110 <!-- <a-button type="primary" icon="import">导入</a-button>-->
111 111 </a-upload>
112   - <!-- 高级查询区域 -->
113   - <j-super-query :fieldList="superFieldList" ref="superQueryModal"
114   - @handleSuperQuery="handleSuperQuery"></j-super-query>
115 112 </div>
116 113  
117 114 <!-- table区域-begin -->
... ...
ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue
... ... @@ -121,11 +121,11 @@
121 121  
122 122 <!-- table区域-begin -->
123 123 <div>
124   - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
125   - <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
126   - style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
127   - <a style="margin-left: 24px" @click="onClearSelected">清空</a>
128   - </div>
  124 +<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
  125 +<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a-->
  126 +<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
  127 +<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
  128 +<!-- </div>-->
129 129  
130 130 <a-table
131 131 ref="table"
... ...
ant-design-vue-jeecg/src/views/system/stocktaking/CycleCountHeaderList.vue
... ... @@ -16,8 +16,6 @@
16 16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
17 17 <a-button type="primary" icon="import">导入</a-button>
18 18 </a-upload>
19   - <!-- 高级查询区域 -->
20   - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
21 19 <a-dropdown v-if="selectedRowKeys.length > 0">
22 20 <a-menu slot="overlay">
23 21 <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
... ...
ant-design-vue-jeecg/src/views/system/task/AgvTaskList.vue
... ... @@ -53,8 +53,6 @@
53 53 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
54 54 <a-button type="primary" icon="import">导入</a-button>
55 55 </a-upload>
56   - <!-- 高级查询区域 -->
57   - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
58 56 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
59 57 <!-- <a-menu slot="overlay">-->
60 58 <!-- <a-menu-item key="1" v-has="'agvTask:delete'" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>-->
... ...
huaheng-wms-core/pom.xml
1 1 <?xml version="1.0"?>
2 2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
3   - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  3 + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 4 <modelVersion>4.0.0</modelVersion>
5 5  
6 6 <parent>
... ... @@ -79,6 +79,12 @@
79 79 <artifactId>jimureport-spring-boot-starter</artifactId>
80 80 <version>1.4.32</version>
81 81 </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.springframework.boot</groupId>
  85 + <artifactId>spring-boot-starter-validation</artifactId>
  86 + </dependency>
  87 +
82 88 </dependencies>
83 89  
84 90 <build>
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/service/impl/MaterialServiceImpl.java
1 1 package org.jeecg.modules.wms.config.material.service.impl;
2 2  
3   -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4   -import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5   -import org.jeecg.common.api.vo.Result;
  3 +import java.util.List;
  4 +
6 5 import org.jeecg.modules.wms.config.material.entity.Material;
7 6 import org.jeecg.modules.wms.config.material.mapper.MaterialMapper;
8 7 import org.jeecg.modules.wms.config.material.service.IMaterialService;
9 8 import org.jeecg.utils.StringUtils;
  9 +import org.jeecg.utils.constant.QuantityConstant;
10 10 import org.springframework.stereotype.Service;
11 11  
  12 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  13 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
12 14 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13 15  
14   -import javax.annotation.Resource;
15   -import java.util.List;
16   -
17 16 /**
18 17 * @Description: 物料管理
19 18 * @Author: jeecg-boot
... ... @@ -29,7 +28,7 @@ public class MaterialServiceImpl extends ServiceImpl&lt;MaterialMapper, Material&gt; i
29 28 return null;
30 29 }
31 30 LambdaQueryWrapper<Material> materialLambdaQueryWrapper = Wrappers.lambdaQuery();
32   - materialLambdaQueryWrapper.eq(Material::getCode, code);
  31 + materialLambdaQueryWrapper.eq(Material::getCode, code).eq(Material::getEnable, QuantityConstant.STATUS_DISABLE);
33 32 Material material = this.getOne(materialLambdaQueryWrapper);
34 33 return material;
35 34 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
... ... @@ -338,12 +338,13 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
338 338 List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(id);
339 339 for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) {
340 340 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId());
341   - if (receiptDetail != null) {
342   - receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
343   - receiptDetail.setTaskQty(receiptDetail.getTaskQty().subtract(receiptContainerDetail.getQty()));
344   - if (!receiptDetailService.updateById(receiptDetail)) {
345   - throw new ServiceException("取消组盘失败, 更新入库明细失败id是" + receiptContainerDetail.getReceiptDetailId());
346   - }
  341 + if (receiptDetail == null) {
  342 + throw new ServiceException("取消组盘失败, 没有找到入库组盘详情id是" + receiptContainerDetail.getReceiptDetailId());
  343 + }
  344 + receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
  345 + receiptDetail.setTaskQty(receiptDetail.getTaskQty().subtract(receiptContainerDetail.getQty()));
  346 + if (!receiptDetailService.updateById(receiptDetail)) {
  347 + throw new ServiceException("取消组盘失败, 更新入库明细失败id是" + receiptContainerDetail.getReceiptDetailId());
347 348 }
348 349 if (!receiptContainerDetailService.removeById(receiptContainerDetail.getId())) {
349 350 throw new ServiceException("取消组盘失败, 删除入库组盘明细表失败id是" + receiptContainerDetail.getId());
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
... ... @@ -45,8 +45,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
45 45 import org.springframework.web.servlet.ModelAndView;
46 46  
47 47 import com.alibaba.fastjson.JSON;
48   -import com.aliyun.oss.ServiceException;
49   -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  48 +import com.aliyun.oss.ServiceException;import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
50 49 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
51 50 import com.baomidou.mybatisplus.core.metadata.IPage;
52 51 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java
1 1 package org.jeecg.modules.wms.receipt.receiptHeader.entity;
2 2  
3 3 import java.io.Serializable;
  4 +import java.util.Date;
  5 +
  6 +import org.jeecg.common.aspect.annotation.Dict;
  7 +import org.jeecgframework.poi.excel.annotation.Excel;
  8 +
4 9 import com.baomidou.mybatisplus.annotation.IdType;
5 10 import com.baomidou.mybatisplus.annotation.TableId;
6 11 import com.baomidou.mybatisplus.annotation.TableName;
7   -import org.jeecg.common.aspect.annotation.Dict;
8   -import lombok.Data;
9   -import com.fasterxml.jackson.annotation.JsonFormat;
10   -import org.springframework.format.annotation.DateTimeFormat;
11   -import org.jeecgframework.poi.excel.annotation.Excel;
12   -import java.util.Date;
  12 +
13 13 import io.swagger.annotations.ApiModel;
14 14 import io.swagger.annotations.ApiModelProperty;
15   -import java.io.UnsupportedEncodingException;
  15 +import lombok.Data;
16 16  
17 17 /**
18 18 * @Description: 入库单详情
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java
1 1 package org.jeecg.modules.wms.receipt.receiptHeader.service;
2 2  
3   -import com.baomidou.mybatisplus.extension.service.IService;
  3 +import java.util.List;
  4 +
4 5 import org.jeecg.common.api.vo.Result;
5 6 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
6   -import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
7 7  
8   -import java.util.List;
  8 +import com.baomidou.mybatisplus.extension.service.IService;
9 9  
10 10 /**
11 11 * @Description: 入库单详情
... ... @@ -18,4 +18,8 @@ public interface IReceiptDetailService extends IService&lt;ReceiptDetail&gt; {
18 18 public List<ReceiptDetail> selectByMainId(String mainId);
19 19  
20 20 public Result saveReceiptDetail(ReceiptDetail receiptDetail);
  21 +
  22 + public Result removeDetailById(String id);
  23 +
  24 + public Result removeDetailListById(List<String> idList);
21 25 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
1 1 package org.jeecg.modules.wms.receipt.receiptHeader.service.impl;
2 2  
3   -import com.alibaba.fastjson.JSON;
4   -import com.aliyun.oss.ServiceException;
  3 +import java.math.BigDecimal;
  4 +import java.util.ArrayList;
  5 +import java.util.List;
  6 +
  7 +import javax.annotation.Resource;
  8 +
5 9 import org.jeecg.common.api.vo.Result;
6 10 import org.jeecg.modules.wms.config.material.entity.Material;
7 11 import org.jeecg.modules.wms.config.material.service.IMaterialService;
... ... @@ -13,20 +17,23 @@ import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService
13 17 import org.jeecg.utils.HuahengJwtUtil;
14 18 import org.jeecg.utils.StringUtils;
15 19 import org.jeecg.utils.constant.QuantityConstant;
  20 +import org.springframework.beans.factory.annotation.Autowired;
16 21 import org.springframework.stereotype.Service;
  22 +import org.springframework.transaction.annotation.Transactional;
17 23  
18 24 import java.util.ArrayList;
  25 +import java.util.List;
  26 +import java.util.ArrayList;
19 27 import java.util.Collections;
20 28 import java.util.List;
  29 +
  30 +import com.alibaba.fastjson.JSON;
  31 +import com.aliyun.oss.ServiceException;
21 32 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
22 33  
23 34 import cn.monitor4all.logRecord.annotation.OperationLog;
24 35 import cn.monitor4all.logRecord.context.LogRecordContext;
25 36  
26   -import org.springframework.beans.factory.annotation.Autowired;
27   -
28   -import javax.annotation.Resource;
29   -
30 37 /**
31 38 * @Description: 入库单详情
32 39 * @Author: jeecg-boot
... ... @@ -50,9 +57,16 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
50 57 return receiptDetailMapper.selectByMainId(mainId);
51 58 }
52 59  
  60 + @Override
  61 + public boolean save(ReceiptDetail entity) {
  62 + BigDecimal qty = entity.getQty();
  63 + if (qty.compareTo(BigDecimal.ZERO) < 0) {
  64 + throw new ServiceException("单据数量不能小于0");
  65 + }
  66 + return super.save(entity);
  67 + }
53 68 @Override
54   - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库详情添加'", extra = "#extraJsonString", msg = "''", recordReturnValue = true)
55   - public Result saveReceiptDetail(ReceiptDetail receiptDetail) {
  69 + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库详情添加'", extra = "#extraJsonString", msg = "''", operatorId = "#username", recordReturnValue = true) public Result saveReceiptDetail(ReceiptDetail receiptDetail) {
56 70 ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId());
57 71 if (receiptHeader == null) {
58 72 return Result.error("添加失败,没有找到入库单头");
... ... @@ -92,4 +106,43 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
92 106 LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(receiptDetail)));// 操作日志收集
93 107 return Result.OK("添加成功!");
94 108 }
  109 +
  110 + @Override
  111 + @Transactional(rollbackFor = ServiceException.class)
  112 + public Result removeDetailById(String id) {
  113 + ReceiptDetail receiptDetail = receiptDetailService.getById(id);
  114 + if (receiptDetail == null) {
  115 + return Result.error("删除失败, 没有找到入库单详情");
  116 + }
  117 + BigDecimal taskQty = receiptDetail.getTaskQty();
  118 + if (taskQty.compareTo(BigDecimal.ZERO) != 0) {
  119 + return Result.error("删除失败, 收货数量不为0");
  120 + }
  121 + ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId());
  122 + if (receiptHeader == null) {
  123 + return Result.error("删除失败, 没有找到入库单");
  124 + }
  125 + if (receiptHeader.getFirstStatus().intValue() != QuantityConstant.RECEIPT_HEADER_BUILD) {
  126 + return Result.error("删除失败, 入库单必须是新建状态才能删除详情");
  127 + }
  128 + boolean success = receiptDetailService.removeById(id);
  129 + if (!success) {
  130 + throw new ServiceException("删除详情失败");
  131 + }
  132 + success = receiptHeaderService.updateReceiptHeader(receiptDetail.getReceiptId());
  133 + if (!success) {
  134 + throw new ServiceException("更新入库单头数量失败");
  135 + }
  136 + return Result.OK("删除成功!");
  137 + }
  138 +
  139 + @Override
  140 + @Transactional(rollbackFor = ServiceException.class)
  141 + public Result removeDetailListById(List<String> idList) {
  142 + Result result = null;
  143 + for (String id : idList) {
  144 + result = removeDetailById(id);
  145 + }
  146 + return result;
  147 + }
95 148 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/controller/ShipmentContainerHeaderController.java
1 1 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.controller;
2 2  
3   -import org.apache.shiro.authz.annotation.RequiresPermissions;
4   -import org.jeecg.common.system.query.QueryGenerator;
5   -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
6   -import com.baomidou.mybatisplus.core.metadata.IPage;
7   -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
8   -import lombok.extern.slf4j.Slf4j;
9   -import org.jeecg.common.system.base.controller.JeecgController;
10   -import org.jeecg.common.api.vo.Result;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.*;
  3 +import java.io.IOException;
  4 +import java.util.Arrays;
  5 +import java.util.List;
  6 +import java.util.Map;
  7 +import java.util.stream.Collectors;
  8 +
13 9 import javax.servlet.http.HttpServletRequest;
14 10 import javax.servlet.http.HttpServletResponse;
15   -import org.springframework.web.servlet.ModelAndView;
16   -import java.util.Arrays;
  11 +
  12 +import org.apache.shiro.SecurityUtils;
  13 +import org.apache.shiro.authz.annotation.RequiresPermissions;
  14 +import org.jeecg.common.api.vo.Result;
  15 +import org.jeecg.common.aspect.annotation.AutoLog;
  16 +import org.jeecg.common.system.base.controller.JeecgController;
  17 +import org.jeecg.common.system.query.QueryGenerator;
  18 +import org.jeecg.common.system.vo.LoginUser;
17 19 import org.jeecg.common.util.oConvertUtils;
18 20 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
19 21 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
20   -import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
21 22 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService;
22   -import io.swagger.annotations.Api;
23   -import io.swagger.annotations.ApiOperation;
24   -import org.jeecg.common.aspect.annotation.AutoLog;
25   -import org.apache.shiro.SecurityUtils;
26   -import org.jeecg.common.system.vo.LoginUser;
  23 +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
27 24 import org.jeecgframework.poi.excel.ExcelImportUtil;
28 25 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
29 26 import org.jeecgframework.poi.excel.entity.ExportParams;
30 27 import org.jeecgframework.poi.excel.entity.ImportParams;
31 28 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
  29 +import org.springframework.beans.factory.annotation.Autowired;
  30 +import org.springframework.web.bind.annotation.*;
32 31 import org.springframework.web.multipart.MultipartFile;
33 32 import org.springframework.web.multipart.MultipartHttpServletRequest;
34   -import java.io.IOException;
35   -import java.util.List;
36   -import java.util.Map;
37   -import java.util.stream.Collectors;
  33 +import org.springframework.web.servlet.ModelAndView;
  34 +
  35 +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  36 +import com.baomidou.mybatisplus.core.metadata.IPage;
  37 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  38 +
  39 +import io.swagger.annotations.Api;
  40 +import io.swagger.annotations.ApiOperation;
  41 +import lombok.extern.slf4j.Slf4j;
38 42  
39 43 /**
40 44 * @Description: 出库组盘
... ... @@ -114,8 +118,8 @@ public class ShipmentContainerHeaderController extends JeecgController&lt;ShipmentC
114 118 @RequiresPermissions("shipmentContainerHeader:delete")
115 119 @DeleteMapping(value = "/delete")
116 120 public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
117   - shipmentContainerHeaderService.delMain(id);
118   - return Result.OK("删除成功!");
  121 + Result result = shipmentContainerHeaderService.cancelCombine(Integer.parseInt(id));
  122 + return result;
119 123 }
120 124  
121 125 /**
... ... @@ -128,8 +132,10 @@ public class ShipmentContainerHeaderController extends JeecgController&lt;ShipmentC
128 132 @RequiresPermissions("shipmentContainerHeader:deleteBatch")
129 133 @DeleteMapping(value = "/deleteBatch")
130 134 public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
131   - this.shipmentContainerHeaderService.delBatchMain(Arrays.asList(ids.split(",")));
132   - return Result.OK("批量删除成功!");
  135 + List<String> idList = Arrays.asList(ids.split(","));
  136 + List<Integer> idInterList = idList.stream().map(Integer::parseInt).collect(Collectors.toList());
  137 + Result result = shipmentContainerHeaderService.cancelCombine(idInterList);
  138 + return result;
133 139 }
134 140  
135 141 /**
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/IShipmentContainerHeaderService.java
1 1 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.service;
2 2  
3   -import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
4   -import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
5   -import com.baomidou.mybatisplus.extension.service.IService;
6   -import org.springframework.beans.factory.annotation.Autowired;
7 3 import java.io.Serializable;
8 4 import java.util.Collection;
9 5 import java.util.List;
10 6  
  7 +import org.jeecg.common.api.vo.Result;
  8 +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
  9 +
  10 +import com.baomidou.mybatisplus.extension.service.IService;
  11 +
11 12 /**
12 13 * @Description: 出库组盘
13 14 * @Author: jeecg-boot
... ... @@ -41,4 +42,16 @@ public interface IShipmentContainerHeaderService extends IService&lt;ShipmentContai
41 42 * @return
42 43 */
43 44 boolean cancelShipmentTask(Integer shipmentContainerHeaderId);
  45 +
  46 + /**
  47 + * 取消配盘
  48 + * @return
  49 + */
  50 + Result cancelCombine(Integer id);
  51 +
  52 + /**
  53 + * 取消配盘
  54 + * @return
  55 + */
  56 + Result cancelCombine(List<Integer> ids);
44 57 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java
1 1 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.impl;
2 2  
3   -import com.aliyun.oss.ServiceException;
4   -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
5   -import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6   -import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerDetail;
7   -import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
8   -import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
9   -import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
  3 +import java.io.Serializable;
  4 +import java.util.ArrayList;
  5 +import java.util.Collection;
  6 +import java.util.List;
  7 +import java.util.stream.Collectors;
  8 +
  9 +import javax.annotation.Resource;
  10 +
  11 +import org.jeecg.common.api.vo.Result;
  12 +import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
  13 +import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService;
10 14 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
  15 +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
11 16 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerDetailMapper;
12 17 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerHeaderMapper;
13 18 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService;
14 19 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
15 20 import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
16   -import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader;
17 21 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService;
18 22 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService;
19 23 import org.jeecg.utils.constant.QuantityConstant;
20   -import org.springframework.stereotype.Service;
21   -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
22 24 import org.springframework.beans.factory.annotation.Autowired;
  25 +import org.springframework.stereotype.Service;
23 26 import org.springframework.transaction.annotation.Transactional;
24 27  
25   -import javax.annotation.Resource;
26   -import java.io.Serializable;
27   -import java.util.ArrayList;
28   -import java.util.List;
29   -import java.util.Collection;
30   -import java.util.stream.Collectors;
  28 +import com.aliyun.oss.ServiceException;
  29 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  30 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  31 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
31 32  
32 33 /**
33 34 * @Description: 出库组盘
... ... @@ -49,6 +50,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
49 50 private IShipmentHeaderService shipmentHeaderService;
50 51 @Resource
51 52 private IShipmentContainerDetailService shipmentContainerDetailService;
  53 + @Resource
  54 + private IInventoryDetailService inventoryDetailService;
52 55  
53 56 @Override
54 57 @Transactional
... ... @@ -164,4 +167,53 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
164 167 return true;
165 168 }
166 169  
  170 + @Override
  171 + @Transactional(rollbackFor = ServiceException.class)
  172 + public Result cancelCombine(Integer id) {
  173 + ShipmentContainerHeader shipmentContainerHeader = this.getById(id);
  174 + if (shipmentContainerHeader == null) {
  175 + return Result.error("取消出库配盘失败, 没有找到出库组盘头id是" + id);
  176 + }
  177 + int status = shipmentContainerHeader.getStatus();
  178 + if (status >= QuantityConstant.SHIPMENT_CONTAINER_TASK) {
  179 + return Result.error("取消出库配盘失败,已经生成出库任务");
  180 + }
  181 + List<ShipmentContainerDetail> shipmentContainerDetailList = shipmentContainerDetailService.getShipmentContainerDetailListByHeaderId(id);
  182 + for (ShipmentContainerDetail shipmentContainerDetail : shipmentContainerDetailList) {
  183 + ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentContainerDetail.getShipmentDetailId());
  184 + if (shipmentDetail == null) {
  185 + throw new ServiceException("取消出库配盘失败, 没有找到出库单详情id是" + shipmentContainerDetail.getShipmentDetailId());
  186 + }
  187 + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
  188 + shipmentDetail.setTaskQty(shipmentDetail.getTaskQty().subtract(shipmentContainerDetail.getQty()));
  189 + if (!shipmentDetailService.updateById(shipmentDetail)) {
  190 + throw new ServiceException("取消出库配盘失败, 更新出库明细失败id是" + shipmentContainerDetail.getShipmentDetailId());
  191 + }
  192 + if (!shipmentContainerDetailService.removeById(shipmentContainerDetail.getId())) {
  193 + throw new ServiceException("取消出库配盘失败, 删除出库组盘明细表失败id是" + shipmentContainerDetail.getId());
  194 + }
  195 + if (!shipmentHeaderService.updateShipmentHeaderStatus(shipmentDetail.getShipmentId())) {
  196 + throw new ServiceException("取消出库配盘失败, 更新出库单头失败");
  197 + }
  198 + InventoryDetail inventoryDetail = inventoryDetailService.getById(shipmentContainerDetail.getInventoryDetailId());
  199 + inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().subtract(shipmentContainerDetail.getQty()));
  200 + if (!inventoryDetailService.updateById(inventoryDetail)) {
  201 + throw new ServiceException("取消出库配盘失败, 解锁库存详情失败");
  202 + }
  203 + }
  204 + if (!this.removeById(id)) {
  205 + throw new ServiceException("取消出库配盘失败, 删除出库组盘头表失败id是" + id);
  206 + }
  207 + return Result.ok("取消配盘成功");
  208 + }
  209 +
  210 + @Override
  211 + public Result cancelCombine(List<Integer> ids) {
  212 + Result result = null;
  213 + for (Integer id : ids) {
  214 + result = cancelCombine(id);
  215 + }
  216 + return result;
  217 + }
  218 +
167 219 }
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskHeader.java
... ... @@ -3,6 +3,8 @@ package org.jeecg.modules.wms.task.taskHeader.entity;
3 3 import java.io.Serializable;
4 4 import java.util.Date;
5 5  
  6 +import javax.validation.constraints.NotEmpty;
  7 +
6 8 import org.jeecg.common.aspect.annotation.Dict;
7 9 import org.jeecgframework.poi.excel.annotation.Excel;
8 10  
... ... @@ -45,6 +47,7 @@ public class TaskHeader implements Serializable {
45 47 /** 仓库 */
46 48 @Excel(name = "仓库", width = 15)
47 49 @ApiModelProperty(value = "仓库")
  50 + @NotEmpty(message = "仓库编码不能为空")
48 51 private String warehouseCode;
49 52 /** 货主 */
50 53 @Excel(name = "货主", width = 15)
... ...
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
... ... @@ -6,16 +6,13 @@ import java.util.ArrayList;
6 6 import java.util.Collection;
7 7 import java.util.Date;
8 8 import java.util.List;
9   -import java.util.concurrent.CopyOnWriteArrayList;
10 9 import java.util.stream.Collectors;
11 10  
12 11 import javax.annotation.Resource;
13 12  
14   -import org.apache.poi.hpsf.Decimal;
15 13 import org.apache.shiro.SecurityUtils;
16 14 import org.jeecg.common.api.vo.Result;
17 15 import org.jeecg.common.system.vo.LoginUser;
18   -import org.jeecg.modules.system.entity.SysDepartRolePermission;
19 16 import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService;
20 17 import org.jeecg.modules.wms.api.wcs.service.WcsService;
21 18 import org.jeecg.modules.wms.config.container.entity.Container;
... ... @@ -26,7 +23,6 @@ import org.jeecg.modules.wms.config.locationHigh.entity.LocationHigh;
26 23 import org.jeecg.modules.wms.config.locationHigh.service.ILocationHighService;
27 24 import org.jeecg.modules.wms.config.locationType.entity.LocationType;
28 25 import org.jeecg.modules.wms.config.locationType.service.ILocationTypeService;
29   -import org.jeecg.modules.wms.config.material.service.IMaterialService;
30 26 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService;
31 27 import org.jeecg.modules.wms.config.port.entity.Port;
32 28 import org.jeecg.modules.wms.config.port.service.IPortService;
... ... @@ -63,7 +59,6 @@ import org.jeecg.modules.wms.task.taskHeader.mapper.TaskDetailMapper;
63 59 import org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper;
64 60 import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService;
65 61 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
66   -import org.jeecg.utils.HuahengJwtUtil;
67 62 import org.jeecg.utils.StringUtils;
68 63 import org.jeecg.utils.constant.QuantityConstant;
69 64 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -1395,7 +1390,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1395 1390 if (!success) {
1396 1391 throw new ServiceException("完成分拣出库任务,更新目标库位失败");
1397 1392 }
1398   - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, containerStatus, warehouseCode);
  1393 + success = containerService.updateStatus(containerCode, containerStatus, warehouseCode);
1399 1394 if (!success) {
1400 1395 throw new ServiceException("完成分拣出库任务,更新容器失败");
1401 1396 }
... ... @@ -1515,73 +1510,62 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1515 1510 return Result.OK("完成空托盘入库成功");
1516 1511 }
1517 1512  
1518   -
1519   -
1520   -
1521 1513 /**
1522 1514 * 盘点完成
1523   - *盘点有差异完成时状态为105
1524   - * @param taskHeader
  1515 + * 盘点有差异完成时状态为105
  1516 + * @param taskHeader
1525 1517 * @return
1526 1518 */
1527 1519 @Transactional(rollbackFor = Exception.class)
1528 1520 public Result completeCycleCountTask(TaskHeader taskHeader) {
1529   - /*盘点完成,传入任务主单,查出任务明细,通过任务明细查找盘点的明细单,
1530   - 完成任务同时,修改盘点细单和主单的状态,完成后库存锁复位*/
  1521 + /*
  1522 + * 盘点完成,传入任务主单,查出任务明细,通过任务明细查找盘点的明细单,
  1523 + * 完成任务同时,修改盘点细单和主单的状态,完成后库存锁复位
  1524 + */
1531 1525  
1532   - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
  1526 + LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
1533 1527 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
1534   - //更新用户
  1528 + // 更新用户
1535 1529 taskHeader.setUpdateBy(sysUser.getUsername());
1536   - //更新时间
  1530 + // 更新时间
1537 1531 taskHeader.setUpdateTime(new Date());
1538 1532  
1539   -
1540   - //1.先拿到盘点单主单据
  1533 + // 1.先拿到盘点单主单据
1541 1534 CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(taskHeader.getShipmentContainerHeaderId());
1542 1535  
1543   - if ((cycleCountDetail.getCountedQty().add(cycleCountDetail.getGapQty())).compareTo(BigDecimal.ZERO)==0)
1544   - {
1545   - return Result.error("盘点单据系统实盘数量跟差异数量0,不能完成 单据号" +cycleCountDetail.getCycleCountHeadCode());
  1536 + if ((cycleCountDetail.getCountedQty().add(cycleCountDetail.getGapQty())).compareTo(BigDecimal.ZERO) == 0) {
  1537 + return Result.error("盘点单据系统实盘数量跟差异数量0,不能完成 单据号" + cycleCountDetail.getCycleCountHeadCode());
1546 1538 }
1547 1539  
1548   - //2.盘点单主单据查明细单据list
  1540 + // 2.盘点单主单据查明细单据list
1549 1541 LambdaQueryWrapper<CycleCountDetailChild> childLambdaQueryWrapper = new LambdaQueryWrapper<CycleCountDetailChild>();
1550   - childLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailid,cycleCountDetail.getId());
  1542 + childLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailid, cycleCountDetail.getId());
1551 1543 List<CycleCountDetailChild> children = cycleCountDetailChildService.list(childLambdaQueryWrapper);
1552 1544  
1553   - //3.单据list如果差异数量+生成入库单,差异数-生成出库单进行回传类型其他出库单
1554   -
  1545 + // 3.单据list如果差异数量+生成入库单,差异数-生成出库单进行回传类型其他出库单
1555 1546  
1556 1547 InventoryHeader inventoryHeader = inventoryHeaderService.getById(cycleCountDetail.getInventoryHeaderId());
1557 1548  
1558   - int outboundOrderId=0;
1559   - String outboundOrderCode=null;
1560   - int warehousingOrderId=0;
1561   - String warehousingOrderCode=null;
  1549 + int outboundOrderId = 0;
  1550 + String outboundOrderCode = null;
  1551 + int warehousingOrderId = 0;
  1552 + String warehousingOrderCode = null;
1562 1553  
1563   -
1564   - for (CycleCountDetailChild child : children)
1565   - {
1566   - if (!child.getChildStatus().equals(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED))
1567   - {
  1554 + for (CycleCountDetailChild child : children) {
  1555 + if (!child.getChildStatus().equals(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED)) {
1568 1556 throw new ServiceException("当前任务里面还有没有进行登记的数据,不能完成任务");
1569 1557 }
1570 1558  
1571   -
1572   - if (child.getInventoryDetaiId()!=null)
1573   - {
  1559 + if (child.getInventoryDetaiId() != null) {
1574 1560 InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId());
1575   - if (inventoryDetail==null)
1576   - {
  1561 + if (inventoryDetail == null) {
1577 1562 throw new ServiceException("盘点还没完成 库存明细单据就不存在了 可能出现了问题或者所容器没成功");
1578 1563 }
1579 1564 inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(child.getGapQty()));
1580 1565 inventoryDetail.setQty(child.getCountedQty());
1581 1566 inventoryDetailService.updateById(inventoryDetail);
1582   - }else
1583   - {
1584   - InventoryDetail inventoryDetail=new InventoryDetail();
  1567 + } else {
  1568 + InventoryDetail inventoryDetail = new InventoryDetail();
1585 1569 inventoryDetail.setInventoryHeaderId(inventoryHeader.getId());
1586 1570 inventoryDetail.setWarehouseCode(inventoryHeader.getWarehouseCode());
1587 1571 inventoryDetail.setCompanyCode(inventoryHeader.getCompanyCode());
... ... @@ -1600,30 +1584,27 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1600 1584 child.setInventoryDetaiId(inventoryDetail.getId());
1601 1585 }
1602 1586  
1603   -
1604 1587 child.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED);
1605   - if (child.getGapQty().compareTo(BigDecimal.ZERO) == 1)
1606   - {
1607   - if (warehousingOrderId==0) {
  1588 + if (child.getGapQty().compareTo(BigDecimal.ZERO) == 1) {
  1589 + if (warehousingOrderId == 0) {
1608 1590 ReceiptHeader receiptHeader = new ReceiptHeader();
1609 1591 receiptHeader.setWarehouseCode(taskHeader.getWarehouseCode());
1610 1592 receiptHeader.setCompanyCode(taskHeader.getCompanyCode());
1611 1593 receiptHeader.setType(QuantityConstant.RECEIPT_BILL_TYPE_OR);
1612   - receiptHeader.setRemark("盘盈 单号"+cycleCountDetail.getCycleCountHeadCode());
  1594 + receiptHeader.setRemark("盘盈 单号" + cycleCountDetail.getCycleCountHeadCode());
1613 1595 Result result = receiptHeaderService.saveReceiptHeader(receiptHeader);
1614   - if (result.getCode() != 200)
1615   - {
  1596 + if (result.getCode() != 200) {
1616 1597 return result;
1617 1598 }
1618 1599 receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1619 1600 receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1620 1601 receiptHeaderService.updateById(receiptHeader);
1621   - //生成入库单并且赋值给warehousingOrderId
1622   - warehousingOrderId=receiptHeader.getId();
1623   - warehousingOrderCode=receiptHeader.getCode();
  1602 + // 生成入库单并且赋值给warehousingOrderId
  1603 + warehousingOrderId = receiptHeader.getId();
  1604 + warehousingOrderCode = receiptHeader.getCode();
1624 1605 }
1625 1606  
1626   - //生成明细
  1607 + // 生成明细
1627 1608 ReceiptDetail receiptDetail = new ReceiptDetail();
1628 1609 receiptDetail.setReceiptId(warehousingOrderId);
1629 1610 receiptDetail.setReceiptCode(warehousingOrderCode);
... ... @@ -1641,8 +1622,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1641 1622 receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1642 1623 receiptDetailService.save(receiptDetail);
1643 1624  
1644   - //增加库存交易记录
1645   - InventoryTransaction inventoryTransaction=new InventoryTransaction();
  1625 + // 增加库存交易记录
  1626 + InventoryTransaction inventoryTransaction = new InventoryTransaction();
1646 1627 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode());
1647 1628 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode());
1648 1629 inventoryTransaction.setContainerCode(child.getContainerCode());
... ... @@ -1662,38 +1643,31 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1662 1643  
1663 1644 }
1664 1645  
  1646 + if (child.getGapQty().compareTo(BigDecimal.ZERO) == -1) {
1665 1647  
1666   -
1667   - if (child.getGapQty().compareTo(BigDecimal.ZERO) == -1)
1668   - {
1669   -
1670   - if (child.getGapQty().abs().compareTo(child.getSystemQty()) > -1)
1671   - {
  1648 + if (child.getGapQty().abs().compareTo(child.getSystemQty()) > -1) {
1672 1649 inventoryDetailService.removeById(child.getInventoryDetaiId());
1673 1650 }
1674 1651  
1675   -
1676   - if (outboundOrderId==0)
1677   - {
  1652 + if (outboundOrderId == 0) {
1678 1653 ShipmentHeader shipmentHeader = new ShipmentHeader();
1679 1654 shipmentHeader.setWarehouseCode(taskHeader.getWarehouseCode());
1680 1655 shipmentHeader.setCompanyCode(taskHeader.getCompanyCode());
1681 1656 shipmentHeader.setType(QuantityConstant.SHIPMENT_BILL_TYPE_OS);
1682   - shipmentHeader.setRemark("盘亏 单号"+cycleCountDetail.getCycleCountHeadCode());
  1657 + shipmentHeader.setRemark("盘亏 单号" + cycleCountDetail.getCycleCountHeadCode());
1683 1658 Result result = shipmentHeaderService.saveShipmentHeader(shipmentHeader);
1684   - if (result.getCode() != 200)
1685   - {
  1659 + if (result.getCode() != 200) {
1686 1660 return result;
1687 1661 }
1688 1662 shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1689 1663 shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1690 1664 shipmentHeaderService.updateById(shipmentHeader);
1691   - //生成出库单并且赋值给outboundOrderId
1692   - outboundOrderId=shipmentHeader.getId();
1693   - outboundOrderCode=shipmentHeader.getCode();
  1665 + // 生成出库单并且赋值给outboundOrderId
  1666 + outboundOrderId = shipmentHeader.getId();
  1667 + outboundOrderCode = shipmentHeader.getCode();
1694 1668  
1695 1669 }
1696   - //生成明细
  1670 + // 生成明细
1697 1671 ShipmentDetail shipmentDetail = new ShipmentDetail();
1698 1672 shipmentDetail.setShipmentId(outboundOrderId);
1699 1673 shipmentDetail.setShipmentCode(outboundOrderCode);
... ... @@ -1711,7 +1685,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1711 1685 shipmentDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1712 1686 shipmentDetailService.save(shipmentDetail);
1713 1687  
1714   - InventoryTransaction inventoryTransaction=new InventoryTransaction();
  1688 + InventoryTransaction inventoryTransaction = new InventoryTransaction();
1715 1689 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode());
1716 1690 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode());
1717 1691 inventoryTransaction.setContainerCode(child.getContainerCode());
... ... @@ -1732,45 +1706,33 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1732 1706 cycleCountDetailChildService.updateById(child);
1733 1707 }
1734 1708  
1735   -
1736   - if (inventoryHeader.getTotalQty().compareTo(BigDecimal.ZERO)<1)
1737   - {
  1709 + if (inventoryHeader.getTotalQty().compareTo(BigDecimal.ZERO) < 1) {
1738 1710 inventoryHeaderService.removeById(inventoryHeader);
1739 1711 }
1740 1712  
1741 1713 inventoryHeaderService.updateById(inventoryHeader);
1742 1714  
1743   - //4.完成当前任务
  1715 + // 4.完成当前任务
1744 1716 if (!taskHeaderService.saveOrUpdate(taskHeader)) {
1745 1717 throw new ServiceException("盘点任务单据状态更新失败!");
1746 1718 }
1747   - //盘点明细状态
  1719 + // 盘点明细状态
1748 1720 cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED);
1749 1721 cycleCountDetail.setCompletedBy(sysUser.getUsername());
1750 1722 cycleCountDetail.setCompletedAt(new Date());
1751 1723 cycleCountDetailService.updateById(cycleCountDetail);
1752   - //更新主单状态
  1724 + // 更新主单状态
1753 1725 cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode());
1754 1726  
  1727 + // 释放库位
  1728 + locationService.updateStatus(cycleCountDetail.getLocationCode(), QuantityConstant.STATUS_LOCATION_EMPTY, taskHeader.getWarehouseCode());
1755 1729  
1756   - //释放库位
1757   - locationService.updateStatus(cycleCountDetail.getLocationCode(),
1758   - QuantityConstant.STATUS_LOCATION_EMPTY, taskHeader.getWarehouseCode());
1759   -
1760   -
1761   - //还原容器状态
1762   - containerService.restoreContainer(cycleCountDetail.getContainerCode(),taskHeader.getWarehouseCode());
  1730 + // 还原容器状态
  1731 + containerService.restoreContainer(cycleCountDetail.getContainerCode(), taskHeader.getWarehouseCode());
1763 1732  
1764 1733 return Result.OK("完成盘点任务成功");
1765 1734 }
1766 1735  
1767   -
1768   -
1769   -
1770   -
1771   -
1772   -
1773   -
1774 1736 /**
1775 1737 * 完成空托盘出库任务
1776 1738 * @param taskHeader 任务
... ...
huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
1 1 package org.jeecg.utils.constant;
2 2  
3 3 /**
4   - * 数字自定义常量
5   - * 1、入库单状态
6   - * 2、出库单状态
7   - * 3、单据上传状态
8   - * 4、入库组盘状态
9   - * 5、出库组盘状态
10   - * 6、任务类型
11   - * 7、任务状态
12   - * 8、波次状态
13   - * 9、质检状态
14   - * 10、盘点状态
15   - * 11、INVENTORY_TRANSACTION_RECEIPT
16   - * 12、调整单状态
17   - * 13、任务内部类型
18   - * 14、质检单类型
  4 + * 数字自定义常量
  5 + * 1、入库单状态
  6 + * 2、出库单状态
  7 + * 3、单据上传状态
  8 + * 4、入库组盘状态
  9 + * 5、出库组盘状态
  10 + * 6、任务类型
  11 + * 7、任务状态
  12 + * 8、波次状态
  13 + * 9、质检状态
  14 + * 10、盘点状态
  15 + * 11、INVENTORY_TRANSACTION_RECEIPT
  16 + * 12、调整单状态
  17 + * 13、任务内部类型
  18 + * 14、质检单类型
19 19 * 16、请求类型
20 20 * @author ricard
21 21 */
22 22 public class QuantityConstant {
23 23 /**
24   -
  24 +
25 25 */
26 26  
27 27 // 1、入库单状态
... ... @@ -544,7 +544,9 @@ public class QuantityConstant {
544 544 public static final String BILL_TYPE_NAME_RN = "退货通知单";
545 545 public static final String BILL_TYPE_NAME_SO = "出库申请单";
546 546  
  547 + /* 可用 */
547 548 public static final int STATUS_ENABLE = 1;
  549 + /* 不可用 */
548 550 public static final int STATUS_DISABLE = 0;
549 551  
550 552 public static final int HTTP_OK = 200;
... ...
huaheng-wms-core/src/main/java/org/jeecg/utils/interceptor/HuahengBatisInterceptor.java
... ... @@ -12,6 +12,7 @@ import org.apache.ibatis.plugin.*;
12 12 import org.apache.shiro.SecurityUtils;
13 13 import org.jeecg.common.system.vo.LoginUser;
14 14 import org.jeecg.common.util.oConvertUtils;
  15 +import org.jeecg.utils.HuahengJwtUtil;
15 16 import org.springframework.stereotype.Component;
16 17  
17 18 import lombok.extern.slf4j.Slf4j;
... ... @@ -113,7 +114,7 @@ public class HuahengBatisInterceptor implements Interceptor {
113 114 if (sysUser != null) {
114 115 // 登录账号
115 116 field.setAccessible(true);
116   - field.set(parameter, sysUser.getRealname());
  117 + field.set(parameter, HuahengJwtUtil.getCurrentOperator());
117 118 field.setAccessible(false);
118 119 }
119 120 }
... ...