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,9 +32,6 @@
32 @change="handleImportExcel"> 32 @change="handleImportExcel">
33 <a-button type="primary" icon="import">导入</a-button> 33 <a-button type="primary" icon="import">导入</a-button>
34 </a-upload> 34 </a-upload>
35 - <!-- 高级查询区域 -->  
36 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
37 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
38 <a-dropdown v-if="selectedRowKeys.length > 0"> 35 <a-dropdown v-if="selectedRowKeys.length > 0">
39 <a-menu slot="overlay" v-has="'address:deleteBatch'"> 36 <a-menu slot="overlay" v-has="'address:deleteBatch'">
40 <a-menu-item key="1" @click="batchDel"> 37 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/AgvPortList.vue
@@ -36,8 +36,6 @@ @@ -36,8 +36,6 @@
36 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 36 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
37 <a-button type="primary" icon="import">导入</a-button> 37 <a-button type="primary" icon="import">导入</a-button>
38 </a-upload> 38 </a-upload>
39 - <!-- 高级查询区域 -->  
40 - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>  
41 <a-dropdown v-if="selectedRowKeys.length > 0"> 39 <a-dropdown v-if="selectedRowKeys.length > 0">
42 <a-menu slot="overlay"> 40 <a-menu slot="overlay">
43 <a-menu-item key="1" v-has="'agvPort:delete'" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> 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,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 </div> 40 </div>
44 41
45 <!-- table区域-begin --> 42 <!-- table区域-begin -->
ant-design-vue-jeecg/src/views/system/config/CarrierList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'carrier:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'carrier:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/CompanyList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'company:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'company:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ContainerCapacityList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <a-dropdown v-if="selectedRowKeys.length > 0"> 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 <a-menu slot="overlay" v-has="'containerCapacity:deleteBatch'"> 48 <a-menu slot="overlay" v-has="'containerCapacity:deleteBatch'">
52 <a-menu-item key="1" @click="batchDel"> 49 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ContainerList.vue
@@ -60,9 +60,6 @@ @@ -60,9 +60,6 @@
60 <a-button type="primary" icon="import">导入</a-button> 60 <a-button type="primary" icon="import">导入</a-button>
61 <a-button v-has="'container:print'" @click="batchPrint()" type="primary">打印</a-button> 61 <a-button v-has="'container:print'" @click="batchPrint()" type="primary">打印</a-button>
62 </a-upload> 62 </a-upload>
63 - <!-- 高级查询区域 -->  
64 -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->  
65 -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->  
66 <a-dropdown v-if="selectedRowKeys.length > 0"> 63 <a-dropdown v-if="selectedRowKeys.length > 0">
67 <a-menu slot="overlay" v-has="'container:deleteBatch'"> 64 <a-menu slot="overlay" v-has="'container:deleteBatch'">
68 <a-menu-item key="1" @click="batchDel"> 65 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ContainerTypeList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'containerType:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'containerType:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/CustomerList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'customer:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'customer:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/CycleCountPreferenceList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'cycleCountPreference:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'cycleCountPreference:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/LocationHighList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'locationHigh:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'locationHigh:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/LocationList.vue
@@ -113,9 +113,6 @@ @@ -113,9 +113,6 @@
113 <a-button type="primary" icon="import">导入</a-button> 113 <a-button type="primary" icon="import">导入</a-button>
114 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button> 114 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button>
115 </a-upload> 115 </a-upload>
116 - <!-- 高级查询区域 -->  
117 -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->  
118 -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->  
119 <a-dropdown v-if="selectedRowKeys.length > 0"> 116 <a-dropdown v-if="selectedRowKeys.length > 0">
120 <a-menu slot="overlay" v-has="'location:deleteBatch'"> 117 <a-menu slot="overlay" v-has="'location:deleteBatch'">
121 <a-menu-item key="1" @click="batchDel"> 118 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/LocationTypeList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'locationType:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'locationType:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialAreaList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'materialArea:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'materialArea:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialList.vue
@@ -45,9 +45,6 @@ @@ -45,9 +45,6 @@
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button> 46 <a-button v-has="'material:print'" @click="batchPrint()" type="primary">打印</a-button>
47 </a-upload> 47 </a-upload>
48 - <!-- 高级查询区域 -->  
49 -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->  
50 -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->  
51 <a-dropdown v-if="selectedRowKeys.length > 0"> 48 <a-dropdown v-if="selectedRowKeys.length > 0">
52 <a-menu slot="overlay" v-has="'material:deleteBatch'"> 49 <a-menu slot="overlay" v-has="'material:deleteBatch'">
53 <a-menu-item key="1" @click="batchDel"> 50 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialMultipleList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'materialMultiple:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'materialMultiple:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialTypeList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'materialType:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'materialType:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialUnitList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <a-dropdown v-if="selectedRowKeys.length > 0"> 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 <a-menu slot="overlay" v-has="'materialUnit:deleteBatch'"> 48 <a-menu slot="overlay" v-has="'materialUnit:deleteBatch'">
52 <a-menu-item key="1" @click="batchDel"> 49 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/MaterialWarningList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'materialWarning:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'materialWarning:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ParameterConfigurationList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <a-dropdown v-if="selectedRowKeys.length > 0"> 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 <a-menu slot="overlay" v-has="'ParameterConfiguration:deleteBatch'"> 48 <a-menu slot="overlay" v-has="'ParameterConfiguration:deleteBatch'">
52 <a-menu-item key="1" @click="batchDel"> 49 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/PortList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <a-dropdown v-if="selectedRowKeys.length > 0"> 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 <a-menu slot="overlay" v-has="'port:deleteBatch'"> 48 <a-menu slot="overlay" v-has="'port:deleteBatch'">
52 <a-menu-item key="1" @click="batchDel"> 49 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ReceiptTypeList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'receiptType:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'receiptType:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/ShipmentTypeList.vue
@@ -37,9 +37,6 @@ @@ -37,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'shipmentType:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'shipmentType:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/SupplierList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <a-dropdown v-if="selectedRowKeys.length > 0"> 47 <a-dropdown v-if="selectedRowKeys.length > 0">
51 <a-menu slot="overlay" v-has="'supplier:deleteBatch'"> 48 <a-menu slot="overlay" v-has="'supplier:deleteBatch'">
52 <a-menu-item key="1" @click="batchDel"> 49 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/SysUserWarehouseList.vue
@@ -17,9 +17,6 @@ @@ -17,9 +17,6 @@
17 @change="handleImportExcel"> 17 @change="handleImportExcel">
18 <a-button type="primary" icon="import">导入</a-button> 18 <a-button type="primary" icon="import">导入</a-button>
19 </a-upload> 19 </a-upload>
20 - <!-- 高级查询区域 -->  
21 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
22 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
23 <a-dropdown v-if="selectedRowKeys.length > 0"> 20 <a-dropdown v-if="selectedRowKeys.length > 0">
24 <a-menu slot="overlay" v-has="'sysUserWarehouse:deleteBatch'"> 21 <a-menu slot="overlay" v-has="'sysUserWarehouse:deleteBatch'">
25 <a-menu-item key="1" @click="batchDel"> 22 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/config/WarehouseList.vue
@@ -44,9 +44,6 @@ @@ -44,9 +44,6 @@
44 @change="handleImportExcel"> 44 @change="handleImportExcel">
45 <a-button type="primary" icon="import">导入</a-button> 45 <a-button type="primary" icon="import">导入</a-button>
46 </a-upload> 46 </a-upload>
47 - <!-- 高级查询区域 -->  
48 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
49 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
50 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> 47 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
51 <!-- <a-menu slot="overlay">--> 48 <!-- <a-menu slot="overlay">-->
52 <!-- <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>--> 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,9 +37,6 @@
37 @change="handleImportExcel"> 37 @change="handleImportExcel">
38 <a-button type="primary" icon="import">导入</a-button> 38 <a-button type="primary" icon="import">导入</a-button>
39 </a-upload> 39 </a-upload>
40 - <!-- 高级查询区域 -->  
41 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
42 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
43 <a-dropdown v-if="selectedRowKeys.length > 0"> 40 <a-dropdown v-if="selectedRowKeys.length > 0">
44 <a-menu slot="overlay" v-has="'zone:deleteBatch'"> 41 <a-menu slot="overlay" v-has="'zone:deleteBatch'">
45 <a-menu-item key="1" @click="batchDel"> 42 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue
@@ -64,18 +64,15 @@ @@ -64,18 +64,15 @@
64 @change="handleImportExcel"> 64 @change="handleImportExcel">
65 <a-button type="primary" icon="import">导入</a-button> 65 <a-button type="primary" icon="import">导入</a-button>
66 </a-upload> 66 </a-upload>
67 - <!-- 高级查询区域 -->  
68 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
69 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
70 </div> 67 </div>
71 68
72 <!-- table区域-begin --> 69 <!-- table区域-begin -->
73 <div> 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 <a-table 77 <a-table
81 ref="table" 78 ref="table"
ant-design-vue-jeecg/src/views/system/inventory/InventoryMaterialSummaryList.vue
@@ -16,16 +16,14 @@ @@ -16,16 +16,14 @@
16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
17 <a-button type="primary" icon="import">导入</a-button> 17 <a-button type="primary" icon="import">导入</a-button>
18 </a-upload> 18 </a-upload>
19 - <!-- 高级查询区域 -->  
20 - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>  
21 </div> 19 </div>
22 20
23 <!-- table区域-begin --> 21 <!-- table区域-begin -->
24 <div> 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 <a-table 28 <a-table
31 ref="table" 29 ref="table"
ant-design-vue-jeecg/src/views/system/inventory/InventoryTransactionList.vue
@@ -104,9 +104,6 @@ @@ -104,9 +104,6 @@
104 @change="handleImportExcel"> 104 @change="handleImportExcel">
105 <a-button type="primary" icon="import">导入</a-button> 105 <a-button type="primary" icon="import">导入</a-button>
106 </a-upload> 106 </a-upload>
107 - <!-- 高级查询区域 -->  
108 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
109 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
110 <a-dropdown v-if="selectedRowKeys.length > 0"> 107 <a-dropdown v-if="selectedRowKeys.length > 0">
111 <a-menu slot="overlay" v-has="'inventoryTransaction:deleteBatch'"> 108 <a-menu slot="overlay" v-has="'inventoryTransaction:deleteBatch'">
112 <a-menu-item key="1" @click="batchDel"> 109 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/monitor/ApiLogList.vue
@@ -78,9 +78,6 @@ @@ -78,9 +78,6 @@
78 @change="handleImportExcel"> 78 @change="handleImportExcel">
79 <a-button type="primary" icon="import">导入</a-button> 79 <a-button type="primary" icon="import">导入</a-button>
80 </a-upload> 80 </a-upload>
81 - <!-- 高级查询区域 -->  
82 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
83 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
84 <a-dropdown v-if="selectedRowKeys.length > 0"> 81 <a-dropdown v-if="selectedRowKeys.length > 0">
85 <a-menu slot="overlay" v-has="'apiLog:deleteBatch'"> 82 <a-menu slot="overlay" v-has="'apiLog:deleteBatch'">
86 <a-menu-item key="1" @click="batchDel"> 83 <a-menu-item key="1" @click="batchDel">
ant-design-vue-jeecg/src/views/system/receipt/ReceiptContainerHeaderList.vue
@@ -20,7 +20,6 @@ @@ -20,7 +20,6 @@
20 </a-form-item> 20 </a-form-item>
21 </a-col> 21 </a-col>
22 <template v-if="toggleSearchStatus"> 22 <template v-if="toggleSearchStatus">
23 - <a-col :xl="6" :lg="7" :md="8" :sm="24">  
24 <a-form-item label="起始库位"> 23 <a-form-item label="起始库位">
25 <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input> 24 <a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input>
26 </a-form-item> 25 </a-form-item>
@@ -67,9 +66,6 @@ @@ -67,9 +66,6 @@
67 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 66 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
68 <a-button type="primary" icon="import">导入</a-button> 67 <a-button type="primary" icon="import">导入</a-button>
69 </a-upload> 68 </a-upload>
70 - <!-- 高级查询区域 -->  
71 -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->  
72 -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->  
73 </div> 69 </div>
74 70
75 <!-- table区域-begin --> 71 <!-- table区域-begin -->
@@ -105,19 +101,27 @@ @@ -105,19 +101,27 @@
105 type="primary" 101 type="primary"
106 icon="download" 102 icon="download"
107 size="small" 103 size="small"
108 - @click="downloadFile(text)">下载 104 + @click="downloadFile(text)">
  105 + 下载
109 </a-button> 106 </a-button>
110 </template> 107 </template>
111 108
112 - <span slot="action" slot-scope="text, record"> 109 + <span slot="action" slot-scope="text, record">
113 <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)">生成任务</a> 110 <a v-if="record.status == 0 && record.taskType == 200" @click="selectPort(record)">生成任务</a>
114 <a v-else-if="record.status == 0" @click="createTask(record)">生成任务</a> 111 <a v-else-if="record.status == 0" @click="createTask(record)">生成任务</a>
115 <a-divider type="vertical"/> 112 <a-divider type="vertical"/>
116 <a-popconfirm v-if="record.status == 0" v-has="'receiptContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)"> 113 <a-popconfirm v-if="record.status == 0" v-has="'receiptContainerHeader:delete'" title="确定取消配盘吗?" @confirm="() => handleDelete(record.id)">
117 - <a>取消配盘</a> 114 + <a>取消配盘</a>
118 </a-popconfirm> 115 </a-popconfirm>
119 <a-divider type="vertical"/> 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 </span> 125 </span>
122 126
123 </a-table> 127 </a-table>
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderHistoryList.vue
@@ -107,9 +107,6 @@ @@ -107,9 +107,6 @@
107 @change='handleImportExcel'> 107 @change='handleImportExcel'>
108 <!-- <a-button type="primary" icon="import">导入</a-button>--> 108 <!-- <a-button type="primary" icon="import">导入</a-button>-->
109 </a-upload> 109 </a-upload>
110 - <!-- 高级查询区域 -->  
111 -<!-- <j-super-query :fieldList='superFieldList' ref='superQueryModal'-->  
112 -<!-- @handleSuperQuery='handleSuperQuery'></j-super-query>-->  
113 </div> 110 </div>
114 111
115 <!-- table区域-begin --> 112 <!-- table区域-begin -->
ant-design-vue-jeecg/src/views/system/receipt/ReceiptHeaderList.vue
@@ -106,9 +106,6 @@ @@ -106,9 +106,6 @@
106 <a-button type="primary" icon="import">导入</a-button> 106 <a-button type="primary" icon="import">导入</a-button>
107 <a-button v-has="'receiptHeader:print'" @click="batchPrint()" type="primary">打印</a-button> 107 <a-button v-has="'receiptHeader:print'" @click="batchPrint()" type="primary">打印</a-button>
108 </a-upload> 108 </a-upload>
109 - <!-- 高级查询区域 -->  
110 -<!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal"-->  
111 -<!-- @handleSuperQuery="handleSuperQuery"></j-super-query>-->  
112 </div> 109 </div>
113 110
114 <!-- table区域-begin --> 111 <!-- table区域-begin -->
ant-design-vue-jeecg/src/views/system/shipment/ShipmentContainerHeaderList.vue
@@ -74,18 +74,15 @@ @@ -74,18 +74,15 @@
74 @change="handleImportExcel"> 74 @change="handleImportExcel">
75 <a-button type="primary" icon="import">导入</a-button> 75 <a-button type="primary" icon="import">导入</a-button>
76 </a-upload> 76 </a-upload>
77 - <!-- 高级查询区域 -->  
78 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
79 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
80 </div> 77 </div>
81 78
82 <!-- table区域-begin --> 79 <!-- table区域-begin -->
83 <div> 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 <a-table 87 <a-table
91 ref="table" 88 ref="table"
@@ -124,17 +121,17 @@ @@ -124,17 +121,17 @@
124 </template> 121 </template>
125 122
126 <span slot="action" slot-scope="text, record"> 123 <span slot="action" slot-scope="text, record">
127 - <a v-has="'shipmentContainerHeader:edit'" @click="handleEdit(record)">编辑</a>  
128 - <a-divider type="vertical"/>  
129 <a v-if="record.status == 0" @click="selectPort(record)">生成任务</a> 124 <a v-if="record.status == 0" @click="selectPort(record)">生成任务</a>
130 <a-divider type="vertical"/> 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 <a-dropdown> 130 <a-dropdown>
132 <a class="ant-dropdown-link">更多 <a-icon type="down"/></a> 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 <a-menu-item> 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 </a-menu-item> 135 </a-menu-item>
139 </a-menu> 136 </a-menu>
140 </a-dropdown> 137 </a-dropdown>
ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderHistoryList.vue
@@ -109,9 +109,6 @@ @@ -109,9 +109,6 @@
109 @change="handleImportExcel"> 109 @change="handleImportExcel">
110 <!-- <a-button type="primary" icon="import">导入</a-button>--> 110 <!-- <a-button type="primary" icon="import">导入</a-button>-->
111 </a-upload> 111 </a-upload>
112 - <!-- 高级查询区域 -->  
113 - <j-super-query :fieldList="superFieldList" ref="superQueryModal"  
114 - @handleSuperQuery="handleSuperQuery"></j-super-query>  
115 </div> 112 </div>
116 113
117 <!-- table区域-begin --> 114 <!-- table区域-begin -->
ant-design-vue-jeecg/src/views/system/shipment/ShipmentHeaderList.vue
@@ -121,11 +121,11 @@ @@ -121,11 +121,11 @@
121 121
122 <!-- table区域-begin --> 122 <!-- table区域-begin -->
123 <div> 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 <a-table 130 <a-table
131 ref="table" 131 ref="table"
ant-design-vue-jeecg/src/views/system/stocktaking/CycleCountHeaderList.vue
@@ -16,8 +16,6 @@ @@ -16,8 +16,6 @@
16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 16 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
17 <a-button type="primary" icon="import">导入</a-button> 17 <a-button type="primary" icon="import">导入</a-button>
18 </a-upload> 18 </a-upload>
19 - <!-- 高级查询区域 -->  
20 - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>  
21 <a-dropdown v-if="selectedRowKeys.length > 0"> 19 <a-dropdown v-if="selectedRowKeys.length > 0">
22 <a-menu slot="overlay"> 20 <a-menu slot="overlay">
23 <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item> 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,8 +53,6 @@
53 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> 53 <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
54 <a-button type="primary" icon="import">导入</a-button> 54 <a-button type="primary" icon="import">导入</a-button>
55 </a-upload> 55 </a-upload>
56 - <!-- 高级查询区域 -->  
57 - <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>  
58 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">--> 56 <!-- <a-dropdown v-if="selectedRowKeys.length > 0">-->
59 <!-- <a-menu slot="overlay">--> 57 <!-- <a-menu slot="overlay">-->
60 <!-- <a-menu-item key="1" v-has="'agvTask:delete'" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>--> 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 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" 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 <modelVersion>4.0.0</modelVersion> 4 <modelVersion>4.0.0</modelVersion>
5 5
6 <parent> 6 <parent>
@@ -79,6 +79,12 @@ @@ -79,6 +79,12 @@
79 <artifactId>jimureport-spring-boot-starter</artifactId> 79 <artifactId>jimureport-spring-boot-starter</artifactId>
80 <version>1.4.32</version> 80 <version>1.4.32</version>
81 </dependency> 81 </dependency>
  82 +
  83 + <dependency>
  84 + <groupId>org.springframework.boot</groupId>
  85 + <artifactId>spring-boot-starter-validation</artifactId>
  86 + </dependency>
  87 +
82 </dependencies> 88 </dependencies>
83 89
84 <build> 90 <build>
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/material/service/impl/MaterialServiceImpl.java
1 package org.jeecg.modules.wms.config.material.service.impl; 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 import org.jeecg.modules.wms.config.material.entity.Material; 5 import org.jeecg.modules.wms.config.material.entity.Material;
7 import org.jeecg.modules.wms.config.material.mapper.MaterialMapper; 6 import org.jeecg.modules.wms.config.material.mapper.MaterialMapper;
8 import org.jeecg.modules.wms.config.material.service.IMaterialService; 7 import org.jeecg.modules.wms.config.material.service.IMaterialService;
9 import org.jeecg.utils.StringUtils; 8 import org.jeecg.utils.StringUtils;
  9 +import org.jeecg.utils.constant.QuantityConstant;
10 import org.springframework.stereotype.Service; 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 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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 * @Description: 物料管理 17 * @Description: 物料管理
19 * @Author: jeecg-boot 18 * @Author: jeecg-boot
@@ -29,7 +28,7 @@ public class MaterialServiceImpl extends ServiceImpl&lt;MaterialMapper, Material&gt; i @@ -29,7 +28,7 @@ public class MaterialServiceImpl extends ServiceImpl&lt;MaterialMapper, Material&gt; i
29 return null; 28 return null;
30 } 29 }
31 LambdaQueryWrapper<Material> materialLambdaQueryWrapper = Wrappers.lambdaQuery(); 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 Material material = this.getOne(materialLambdaQueryWrapper); 32 Material material = this.getOne(materialLambdaQueryWrapper);
34 return material; 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,12 +338,13 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
338 List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(id); 338 List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(id);
339 for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) { 339 for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) {
340 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); 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 if (!receiptContainerDetailService.removeById(receiptContainerDetail.getId())) { 349 if (!receiptContainerDetailService.removeById(receiptContainerDetail.getId())) {
349 throw new ServiceException("取消组盘失败, 删除入库组盘明细表失败id是" + receiptContainerDetail.getId()); 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,8 +45,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
45 import org.springframework.web.servlet.ModelAndView; 45 import org.springframework.web.servlet.ModelAndView;
46 46
47 import com.alibaba.fastjson.JSON; 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 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 49 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
51 import com.baomidou.mybatisplus.core.metadata.IPage; 50 import com.baomidou.mybatisplus.core.metadata.IPage;
52 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 51 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java
1 package org.jeecg.modules.wms.receipt.receiptHeader.entity; 1 package org.jeecg.modules.wms.receipt.receiptHeader.entity;
2 2
3 import java.io.Serializable; 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 import com.baomidou.mybatisplus.annotation.IdType; 9 import com.baomidou.mybatisplus.annotation.IdType;
5 import com.baomidou.mybatisplus.annotation.TableId; 10 import com.baomidou.mybatisplus.annotation.TableId;
6 import com.baomidou.mybatisplus.annotation.TableName; 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 import io.swagger.annotations.ApiModel; 13 import io.swagger.annotations.ApiModel;
14 import io.swagger.annotations.ApiModelProperty; 14 import io.swagger.annotations.ApiModelProperty;
15 -import java.io.UnsupportedEncodingException; 15 +import lombok.Data;
16 16
17 /** 17 /**
18 * @Description: 入库单详情 18 * @Description: 入库单详情
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptDetailService.java
1 package org.jeecg.modules.wms.receipt.receiptHeader.service; 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 import org.jeecg.common.api.vo.Result; 5 import org.jeecg.common.api.vo.Result;
5 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; 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 * @Description: 入库单详情 11 * @Description: 入库单详情
@@ -18,4 +18,8 @@ public interface IReceiptDetailService extends IService&lt;ReceiptDetail&gt; { @@ -18,4 +18,8 @@ public interface IReceiptDetailService extends IService&lt;ReceiptDetail&gt; {
18 public List<ReceiptDetail> selectByMainId(String mainId); 18 public List<ReceiptDetail> selectByMainId(String mainId);
19 19
20 public Result saveReceiptDetail(ReceiptDetail receiptDetail); 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 package org.jeecg.modules.wms.receipt.receiptHeader.service.impl; 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 import org.jeecg.common.api.vo.Result; 9 import org.jeecg.common.api.vo.Result;
6 import org.jeecg.modules.wms.config.material.entity.Material; 10 import org.jeecg.modules.wms.config.material.entity.Material;
7 import org.jeecg.modules.wms.config.material.service.IMaterialService; 11 import org.jeecg.modules.wms.config.material.service.IMaterialService;
@@ -13,20 +17,23 @@ import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService @@ -13,20 +17,23 @@ import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService
13 import org.jeecg.utils.HuahengJwtUtil; 17 import org.jeecg.utils.HuahengJwtUtil;
14 import org.jeecg.utils.StringUtils; 18 import org.jeecg.utils.StringUtils;
15 import org.jeecg.utils.constant.QuantityConstant; 19 import org.jeecg.utils.constant.QuantityConstant;
  20 +import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.stereotype.Service; 21 import org.springframework.stereotype.Service;
  22 +import org.springframework.transaction.annotation.Transactional;
17 23
18 import java.util.ArrayList; 24 import java.util.ArrayList;
  25 +import java.util.List;
  26 +import java.util.ArrayList;
19 import java.util.Collections; 27 import java.util.Collections;
20 import java.util.List; 28 import java.util.List;
  29 +
  30 +import com.alibaba.fastjson.JSON;
  31 +import com.aliyun.oss.ServiceException;
21 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 32 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
22 33
23 import cn.monitor4all.logRecord.annotation.OperationLog; 34 import cn.monitor4all.logRecord.annotation.OperationLog;
24 import cn.monitor4all.logRecord.context.LogRecordContext; 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 * @Description: 入库单详情 38 * @Description: 入库单详情
32 * @Author: jeecg-boot 39 * @Author: jeecg-boot
@@ -50,9 +57,16 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R @@ -50,9 +57,16 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
50 return receiptDetailMapper.selectByMainId(mainId); 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 @Override 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 ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); 70 ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId());
57 if (receiptHeader == null) { 71 if (receiptHeader == null) {
58 return Result.error("添加失败,没有找到入库单头"); 72 return Result.error("添加失败,没有找到入库单头");
@@ -92,4 +106,43 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R @@ -92,4 +106,43 @@ public class ReceiptDetailServiceImpl extends ServiceImpl&lt;ReceiptDetailMapper, R
92 LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(receiptDetail)));// 操作日志收集 106 LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(receiptDetail)));// 操作日志收集
93 return Result.OK("添加成功!"); 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 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.controller; 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 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletRequest;
14 import javax.servlet.http.HttpServletResponse; 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 import org.jeecg.common.util.oConvertUtils; 19 import org.jeecg.common.util.oConvertUtils;
18 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail; 20 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
19 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader; 21 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
20 -import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;  
21 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService; 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 import org.jeecgframework.poi.excel.ExcelImportUtil; 24 import org.jeecgframework.poi.excel.ExcelImportUtil;
28 import org.jeecgframework.poi.excel.def.NormalExcelConstants; 25 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
29 import org.jeecgframework.poi.excel.entity.ExportParams; 26 import org.jeecgframework.poi.excel.entity.ExportParams;
30 import org.jeecgframework.poi.excel.entity.ImportParams; 27 import org.jeecgframework.poi.excel.entity.ImportParams;
31 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; 28 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
  29 +import org.springframework.beans.factory.annotation.Autowired;
  30 +import org.springframework.web.bind.annotation.*;
32 import org.springframework.web.multipart.MultipartFile; 31 import org.springframework.web.multipart.MultipartFile;
33 import org.springframework.web.multipart.MultipartHttpServletRequest; 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 * @Description: 出库组盘 44 * @Description: 出库组盘
@@ -114,8 +118,8 @@ public class ShipmentContainerHeaderController extends JeecgController&lt;ShipmentC @@ -114,8 +118,8 @@ public class ShipmentContainerHeaderController extends JeecgController&lt;ShipmentC
114 @RequiresPermissions("shipmentContainerHeader:delete") 118 @RequiresPermissions("shipmentContainerHeader:delete")
115 @DeleteMapping(value = "/delete") 119 @DeleteMapping(value = "/delete")
116 public Result<String> delete(@RequestParam(name = "id", required = true) String id) { 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,8 +132,10 @@ public class ShipmentContainerHeaderController extends JeecgController&lt;ShipmentC
128 @RequiresPermissions("shipmentContainerHeader:deleteBatch") 132 @RequiresPermissions("shipmentContainerHeader:deleteBatch")
129 @DeleteMapping(value = "/deleteBatch") 133 @DeleteMapping(value = "/deleteBatch")
130 public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { 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 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.service; 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 import java.io.Serializable; 3 import java.io.Serializable;
8 import java.util.Collection; 4 import java.util.Collection;
9 import java.util.List; 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 * @Description: 出库组盘 13 * @Description: 出库组盘
13 * @Author: jeecg-boot 14 * @Author: jeecg-boot
@@ -41,4 +42,16 @@ public interface IShipmentContainerHeaderService extends IService&lt;ShipmentContai @@ -41,4 +42,16 @@ public interface IShipmentContainerHeaderService extends IService&lt;ShipmentContai
41 * @return 42 * @return
42 */ 43 */
43 boolean cancelShipmentTask(Integer shipmentContainerHeaderId); 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 package org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.impl; 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 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail; 14 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
  15 +import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
11 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerDetailMapper; 16 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerDetailMapper;
12 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerHeaderMapper; 17 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.mapper.ShipmentContainerHeaderMapper;
13 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService; 18 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerDetailService;
14 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService; 19 import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
15 import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; 20 import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
16 -import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentHeader;  
17 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService; 21 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentDetailService;
18 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService; 22 import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderService;
19 import org.jeecg.utils.constant.QuantityConstant; 23 import org.jeecg.utils.constant.QuantityConstant;
20 -import org.springframework.stereotype.Service;  
21 -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
22 import org.springframework.beans.factory.annotation.Autowired; 24 import org.springframework.beans.factory.annotation.Autowired;
  25 +import org.springframework.stereotype.Service;
23 import org.springframework.transaction.annotation.Transactional; 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 * @Description: 出库组盘 34 * @Description: 出库组盘
@@ -49,6 +50,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont @@ -49,6 +50,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
49 private IShipmentHeaderService shipmentHeaderService; 50 private IShipmentHeaderService shipmentHeaderService;
50 @Resource 51 @Resource
51 private IShipmentContainerDetailService shipmentContainerDetailService; 52 private IShipmentContainerDetailService shipmentContainerDetailService;
  53 + @Resource
  54 + private IInventoryDetailService inventoryDetailService;
52 55
53 @Override 56 @Override
54 @Transactional 57 @Transactional
@@ -164,4 +167,53 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont @@ -164,4 +167,53 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
164 return true; 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,6 +3,8 @@ package org.jeecg.modules.wms.task.taskHeader.entity;
3 import java.io.Serializable; 3 import java.io.Serializable;
4 import java.util.Date; 4 import java.util.Date;
5 5
  6 +import javax.validation.constraints.NotEmpty;
  7 +
6 import org.jeecg.common.aspect.annotation.Dict; 8 import org.jeecg.common.aspect.annotation.Dict;
7 import org.jeecgframework.poi.excel.annotation.Excel; 9 import org.jeecgframework.poi.excel.annotation.Excel;
8 10
@@ -45,6 +47,7 @@ public class TaskHeader implements Serializable { @@ -45,6 +47,7 @@ public class TaskHeader implements Serializable {
45 /** 仓库 */ 47 /** 仓库 */
46 @Excel(name = "仓库", width = 15) 48 @Excel(name = "仓库", width = 15)
47 @ApiModelProperty(value = "仓库") 49 @ApiModelProperty(value = "仓库")
  50 + @NotEmpty(message = "仓库编码不能为空")
48 private String warehouseCode; 51 private String warehouseCode;
49 /** 货主 */ 52 /** 货主 */
50 @Excel(name = "货主", width = 15) 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,16 +6,13 @@ import java.util.ArrayList;
6 import java.util.Collection; 6 import java.util.Collection;
7 import java.util.Date; 7 import java.util.Date;
8 import java.util.List; 8 import java.util.List;
9 -import java.util.concurrent.CopyOnWriteArrayList;  
10 import java.util.stream.Collectors; 9 import java.util.stream.Collectors;
11 10
12 import javax.annotation.Resource; 11 import javax.annotation.Resource;
13 12
14 -import org.apache.poi.hpsf.Decimal;  
15 import org.apache.shiro.SecurityUtils; 13 import org.apache.shiro.SecurityUtils;
16 import org.jeecg.common.api.vo.Result; 14 import org.jeecg.common.api.vo.Result;
17 import org.jeecg.common.system.vo.LoginUser; 15 import org.jeecg.common.system.vo.LoginUser;
18 -import org.jeecg.modules.system.entity.SysDepartRolePermission;  
19 import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService; 16 import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService;
20 import org.jeecg.modules.wms.api.wcs.service.WcsService; 17 import org.jeecg.modules.wms.api.wcs.service.WcsService;
21 import org.jeecg.modules.wms.config.container.entity.Container; 18 import org.jeecg.modules.wms.config.container.entity.Container;
@@ -26,7 +23,6 @@ import org.jeecg.modules.wms.config.locationHigh.entity.LocationHigh; @@ -26,7 +23,6 @@ import org.jeecg.modules.wms.config.locationHigh.entity.LocationHigh;
26 import org.jeecg.modules.wms.config.locationHigh.service.ILocationHighService; 23 import org.jeecg.modules.wms.config.locationHigh.service.ILocationHighService;
27 import org.jeecg.modules.wms.config.locationType.entity.LocationType; 24 import org.jeecg.modules.wms.config.locationType.entity.LocationType;
28 import org.jeecg.modules.wms.config.locationType.service.ILocationTypeService; 25 import org.jeecg.modules.wms.config.locationType.service.ILocationTypeService;
29 -import org.jeecg.modules.wms.config.material.service.IMaterialService;  
30 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService; 26 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService;
31 import org.jeecg.modules.wms.config.port.entity.Port; 27 import org.jeecg.modules.wms.config.port.entity.Port;
32 import org.jeecg.modules.wms.config.port.service.IPortService; 28 import org.jeecg.modules.wms.config.port.service.IPortService;
@@ -63,7 +59,6 @@ import org.jeecg.modules.wms.task.taskHeader.mapper.TaskDetailMapper; @@ -63,7 +59,6 @@ import org.jeecg.modules.wms.task.taskHeader.mapper.TaskDetailMapper;
63 import org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper; 59 import org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper;
64 import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService; 60 import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService;
65 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; 61 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
66 -import org.jeecg.utils.HuahengJwtUtil;  
67 import org.jeecg.utils.StringUtils; 62 import org.jeecg.utils.StringUtils;
68 import org.jeecg.utils.constant.QuantityConstant; 63 import org.jeecg.utils.constant.QuantityConstant;
69 import org.springframework.beans.factory.annotation.Autowired; 64 import org.springframework.beans.factory.annotation.Autowired;
@@ -1395,7 +1390,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1395,7 +1390,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1395 if (!success) { 1390 if (!success) {
1396 throw new ServiceException("完成分拣出库任务,更新目标库位失败"); 1391 throw new ServiceException("完成分拣出库任务,更新目标库位失败");
1397 } 1392 }
1398 - success = containerService.updateLocationCodeAndStatus(containerCode, toLocationCode, containerStatus, warehouseCode); 1393 + success = containerService.updateStatus(containerCode, containerStatus, warehouseCode);
1399 if (!success) { 1394 if (!success) {
1400 throw new ServiceException("完成分拣出库任务,更新容器失败"); 1395 throw new ServiceException("完成分拣出库任务,更新容器失败");
1401 } 1396 }
@@ -1515,73 +1510,62 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1515,73 +1510,62 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1515 return Result.OK("完成空托盘入库成功"); 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 * @return 1517 * @return
1526 */ 1518 */
1527 @Transactional(rollbackFor = Exception.class) 1519 @Transactional(rollbackFor = Exception.class)
1528 public Result completeCycleCountTask(TaskHeader taskHeader) { 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 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); 1527 taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
1534 - //更新用户 1528 + // 更新用户
1535 taskHeader.setUpdateBy(sysUser.getUsername()); 1529 taskHeader.setUpdateBy(sysUser.getUsername());
1536 - //更新时间 1530 + // 更新时间
1537 taskHeader.setUpdateTime(new Date()); 1531 taskHeader.setUpdateTime(new Date());
1538 1532
1539 -  
1540 - //1.先拿到盘点单主单据 1533 + // 1.先拿到盘点单主单据
1541 CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(taskHeader.getShipmentContainerHeaderId()); 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 LambdaQueryWrapper<CycleCountDetailChild> childLambdaQueryWrapper = new LambdaQueryWrapper<CycleCountDetailChild>(); 1541 LambdaQueryWrapper<CycleCountDetailChild> childLambdaQueryWrapper = new LambdaQueryWrapper<CycleCountDetailChild>();
1550 - childLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailid,cycleCountDetail.getId()); 1542 + childLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailid, cycleCountDetail.getId());
1551 List<CycleCountDetailChild> children = cycleCountDetailChildService.list(childLambdaQueryWrapper); 1543 List<CycleCountDetailChild> children = cycleCountDetailChildService.list(childLambdaQueryWrapper);
1552 1544
1553 - //3.单据list如果差异数量+生成入库单,差异数-生成出库单进行回传类型其他出库单  
1554 - 1545 + // 3.单据list如果差异数量+生成入库单,差异数-生成出库单进行回传类型其他出库单
1555 1546
1556 InventoryHeader inventoryHeader = inventoryHeaderService.getById(cycleCountDetail.getInventoryHeaderId()); 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 throw new ServiceException("当前任务里面还有没有进行登记的数据,不能完成任务"); 1556 throw new ServiceException("当前任务里面还有没有进行登记的数据,不能完成任务");
1569 } 1557 }
1570 1558
1571 -  
1572 - if (child.getInventoryDetaiId()!=null)  
1573 - { 1559 + if (child.getInventoryDetaiId() != null) {
1574 InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId()); 1560 InventoryDetail inventoryDetail = inventoryDetailService.getById(child.getInventoryDetaiId());
1575 - if (inventoryDetail==null)  
1576 - { 1561 + if (inventoryDetail == null) {
1577 throw new ServiceException("盘点还没完成 库存明细单据就不存在了 可能出现了问题或者所容器没成功"); 1562 throw new ServiceException("盘点还没完成 库存明细单据就不存在了 可能出现了问题或者所容器没成功");
1578 } 1563 }
1579 inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(child.getGapQty())); 1564 inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(child.getGapQty()));
1580 inventoryDetail.setQty(child.getCountedQty()); 1565 inventoryDetail.setQty(child.getCountedQty());
1581 inventoryDetailService.updateById(inventoryDetail); 1566 inventoryDetailService.updateById(inventoryDetail);
1582 - }else  
1583 - {  
1584 - InventoryDetail inventoryDetail=new InventoryDetail(); 1567 + } else {
  1568 + InventoryDetail inventoryDetail = new InventoryDetail();
1585 inventoryDetail.setInventoryHeaderId(inventoryHeader.getId()); 1569 inventoryDetail.setInventoryHeaderId(inventoryHeader.getId());
1586 inventoryDetail.setWarehouseCode(inventoryHeader.getWarehouseCode()); 1570 inventoryDetail.setWarehouseCode(inventoryHeader.getWarehouseCode());
1587 inventoryDetail.setCompanyCode(inventoryHeader.getCompanyCode()); 1571 inventoryDetail.setCompanyCode(inventoryHeader.getCompanyCode());
@@ -1600,30 +1584,27 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1600,30 +1584,27 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1600 child.setInventoryDetaiId(inventoryDetail.getId()); 1584 child.setInventoryDetaiId(inventoryDetail.getId());
1601 } 1585 }
1602 1586
1603 -  
1604 child.setChildStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); 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 ReceiptHeader receiptHeader = new ReceiptHeader(); 1590 ReceiptHeader receiptHeader = new ReceiptHeader();
1609 receiptHeader.setWarehouseCode(taskHeader.getWarehouseCode()); 1591 receiptHeader.setWarehouseCode(taskHeader.getWarehouseCode());
1610 receiptHeader.setCompanyCode(taskHeader.getCompanyCode()); 1592 receiptHeader.setCompanyCode(taskHeader.getCompanyCode());
1611 receiptHeader.setType(QuantityConstant.RECEIPT_BILL_TYPE_OR); 1593 receiptHeader.setType(QuantityConstant.RECEIPT_BILL_TYPE_OR);
1612 - receiptHeader.setRemark("盘盈 单号"+cycleCountDetail.getCycleCountHeadCode()); 1594 + receiptHeader.setRemark("盘盈 单号" + cycleCountDetail.getCycleCountHeadCode());
1613 Result result = receiptHeaderService.saveReceiptHeader(receiptHeader); 1595 Result result = receiptHeaderService.saveReceiptHeader(receiptHeader);
1614 - if (result.getCode() != 200)  
1615 - { 1596 + if (result.getCode() != 200) {
1616 return result; 1597 return result;
1617 } 1598 }
1618 receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1599 receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1619 receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1600 receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1620 receiptHeaderService.updateById(receiptHeader); 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 ReceiptDetail receiptDetail = new ReceiptDetail(); 1608 ReceiptDetail receiptDetail = new ReceiptDetail();
1628 receiptDetail.setReceiptId(warehousingOrderId); 1609 receiptDetail.setReceiptId(warehousingOrderId);
1629 receiptDetail.setReceiptCode(warehousingOrderCode); 1610 receiptDetail.setReceiptCode(warehousingOrderCode);
@@ -1641,8 +1622,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1641,8 +1622,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1641 receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1622 receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1642 receiptDetailService.save(receiptDetail); 1623 receiptDetailService.save(receiptDetail);
1643 1624
1644 - //增加库存交易记录  
1645 - InventoryTransaction inventoryTransaction=new InventoryTransaction(); 1625 + // 增加库存交易记录
  1626 + InventoryTransaction inventoryTransaction = new InventoryTransaction();
1646 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode()); 1627 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode());
1647 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode()); 1628 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode());
1648 inventoryTransaction.setContainerCode(child.getContainerCode()); 1629 inventoryTransaction.setContainerCode(child.getContainerCode());
@@ -1662,38 +1643,31 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -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 inventoryDetailService.removeById(child.getInventoryDetaiId()); 1649 inventoryDetailService.removeById(child.getInventoryDetaiId());
1673 } 1650 }
1674 1651
1675 -  
1676 - if (outboundOrderId==0)  
1677 - { 1652 + if (outboundOrderId == 0) {
1678 ShipmentHeader shipmentHeader = new ShipmentHeader(); 1653 ShipmentHeader shipmentHeader = new ShipmentHeader();
1679 shipmentHeader.setWarehouseCode(taskHeader.getWarehouseCode()); 1654 shipmentHeader.setWarehouseCode(taskHeader.getWarehouseCode());
1680 shipmentHeader.setCompanyCode(taskHeader.getCompanyCode()); 1655 shipmentHeader.setCompanyCode(taskHeader.getCompanyCode());
1681 shipmentHeader.setType(QuantityConstant.SHIPMENT_BILL_TYPE_OS); 1656 shipmentHeader.setType(QuantityConstant.SHIPMENT_BILL_TYPE_OS);
1682 - shipmentHeader.setRemark("盘亏 单号"+cycleCountDetail.getCycleCountHeadCode()); 1657 + shipmentHeader.setRemark("盘亏 单号" + cycleCountDetail.getCycleCountHeadCode());
1683 Result result = shipmentHeaderService.saveShipmentHeader(shipmentHeader); 1658 Result result = shipmentHeaderService.saveShipmentHeader(shipmentHeader);
1684 - if (result.getCode() != 200)  
1685 - { 1659 + if (result.getCode() != 200) {
1686 return result; 1660 return result;
1687 } 1661 }
1688 shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1662 shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1689 shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1663 shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1690 shipmentHeaderService.updateById(shipmentHeader); 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 ShipmentDetail shipmentDetail = new ShipmentDetail(); 1671 ShipmentDetail shipmentDetail = new ShipmentDetail();
1698 shipmentDetail.setShipmentId(outboundOrderId); 1672 shipmentDetail.setShipmentId(outboundOrderId);
1699 shipmentDetail.setShipmentCode(outboundOrderCode); 1673 shipmentDetail.setShipmentCode(outboundOrderCode);
@@ -1711,7 +1685,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1711,7 +1685,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1711 shipmentDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED); 1685 shipmentDetail.setStatus(QuantityConstant.RECEIPT_HEADER_COMPLETED);
1712 shipmentDetailService.save(shipmentDetail); 1686 shipmentDetailService.save(shipmentDetail);
1713 1687
1714 - InventoryTransaction inventoryTransaction=new InventoryTransaction(); 1688 + InventoryTransaction inventoryTransaction = new InventoryTransaction();
1715 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode()); 1689 inventoryTransaction.setWarehouseCode(taskHeader.getWarehouseCode());
1716 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode()); 1690 inventoryTransaction.setCompanyCode(taskHeader.getCompanyCode());
1717 inventoryTransaction.setContainerCode(child.getContainerCode()); 1691 inventoryTransaction.setContainerCode(child.getContainerCode());
@@ -1732,45 +1706,33 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -1732,45 +1706,33 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
1732 cycleCountDetailChildService.updateById(child); 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 inventoryHeaderService.removeById(inventoryHeader); 1710 inventoryHeaderService.removeById(inventoryHeader);
1739 } 1711 }
1740 1712
1741 inventoryHeaderService.updateById(inventoryHeader); 1713 inventoryHeaderService.updateById(inventoryHeader);
1742 1714
1743 - //4.完成当前任务 1715 + // 4.完成当前任务
1744 if (!taskHeaderService.saveOrUpdate(taskHeader)) { 1716 if (!taskHeaderService.saveOrUpdate(taskHeader)) {
1745 throw new ServiceException("盘点任务单据状态更新失败!"); 1717 throw new ServiceException("盘点任务单据状态更新失败!");
1746 } 1718 }
1747 - //盘点明细状态 1719 + // 盘点明细状态
1748 cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); 1720 cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED);
1749 cycleCountDetail.setCompletedBy(sysUser.getUsername()); 1721 cycleCountDetail.setCompletedBy(sysUser.getUsername());
1750 cycleCountDetail.setCompletedAt(new Date()); 1722 cycleCountDetail.setCompletedAt(new Date());
1751 cycleCountDetailService.updateById(cycleCountDetail); 1723 cycleCountDetailService.updateById(cycleCountDetail);
1752 - //更新主单状态 1724 + // 更新主单状态
1753 cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode()); 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 return Result.OK("完成盘点任务成功"); 1733 return Result.OK("完成盘点任务成功");
1765 } 1734 }
1766 1735
1767 -  
1768 -  
1769 -  
1770 -  
1771 -  
1772 -  
1773 -  
1774 /** 1736 /**
1775 * 完成空托盘出库任务 1737 * 完成空托盘出库任务
1776 * @param taskHeader 任务 1738 * @param taskHeader 任务
huaheng-wms-core/src/main/java/org/jeecg/utils/constant/QuantityConstant.java
1 package org.jeecg.utils.constant; 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 * 16、请求类型 19 * 16、请求类型
20 * @author ricard 20 * @author ricard
21 */ 21 */
22 public class QuantityConstant { 22 public class QuantityConstant {
23 /** 23 /**
24 - 24 +
25 */ 25 */
26 26
27 // 1、入库单状态 27 // 1、入库单状态
@@ -544,7 +544,9 @@ public class QuantityConstant { @@ -544,7 +544,9 @@ public class QuantityConstant {
544 public static final String BILL_TYPE_NAME_RN = "退货通知单"; 544 public static final String BILL_TYPE_NAME_RN = "退货通知单";
545 public static final String BILL_TYPE_NAME_SO = "出库申请单"; 545 public static final String BILL_TYPE_NAME_SO = "出库申请单";
546 546
  547 + /* 可用 */
547 public static final int STATUS_ENABLE = 1; 548 public static final int STATUS_ENABLE = 1;
  549 + /* 不可用 */
548 public static final int STATUS_DISABLE = 0; 550 public static final int STATUS_DISABLE = 0;
549 551
550 public static final int HTTP_OK = 200; 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,6 +12,7 @@ import org.apache.ibatis.plugin.*;
12 import org.apache.shiro.SecurityUtils; 12 import org.apache.shiro.SecurityUtils;
13 import org.jeecg.common.system.vo.LoginUser; 13 import org.jeecg.common.system.vo.LoginUser;
14 import org.jeecg.common.util.oConvertUtils; 14 import org.jeecg.common.util.oConvertUtils;
  15 +import org.jeecg.utils.HuahengJwtUtil;
15 import org.springframework.stereotype.Component; 16 import org.springframework.stereotype.Component;
16 17
17 import lombok.extern.slf4j.Slf4j; 18 import lombok.extern.slf4j.Slf4j;
@@ -113,7 +114,7 @@ public class HuahengBatisInterceptor implements Interceptor { @@ -113,7 +114,7 @@ public class HuahengBatisInterceptor implements Interceptor {
113 if (sysUser != null) { 114 if (sysUser != null) {
114 // 登录账号 115 // 登录账号
115 field.setAccessible(true); 116 field.setAccessible(true);
116 - field.set(parameter, sysUser.getRealname()); 117 + field.set(parameter, HuahengJwtUtil.getCurrentOperator());
117 field.setAccessible(false); 118 field.setAccessible(false);
118 } 119 }
119 } 120 }