Commit 619c0db3debe54179e277adebca78c1bd1bba080
Merge branch 'develop' of http://172.16.29.40:8010/wms/wms4 into develop
Showing
18 changed files
with
451 additions
and
164 deletions
ant-design-vue-jeecg/src/views/system/report/InventoryClassificationDetail.vue
0 → 100644
1 | +<template> | ||
2 | + <a-card :bordered="false" :class="'cust-erp-sub-tab'"> | ||
3 | + <!-- 操作按钮区域 --> | ||
4 | + <!-- <div class="table-operator" v-if="mainId"> | ||
5 | + <a-button type="primary" icon="download" @click="handleExportXls('库存分类报表详情')">导出</a-button> | ||
6 | + </div>--> | ||
7 | + | ||
8 | + <!-- table区域-begin --> | ||
9 | + <div> | ||
10 | + <a-table | ||
11 | + ref="table" | ||
12 | + size="middle" | ||
13 | + bordered | ||
14 | + :rowKey="(record,index) => {return record.zoneCode + '_' + record.materialCode + '_' + record.materialSpec + '_' + record.materialUnit}" | ||
15 | + class="j-table-force-nowrap" | ||
16 | + :scroll="{x:true}" | ||
17 | + :columns="columns" | ||
18 | + :dataSource="dataSource" | ||
19 | + :pagination="ipagination" | ||
20 | + :loading="loading" | ||
21 | + @change="handleTableChange"> | ||
22 | + | ||
23 | + <span slot="inventoryStatus_dictText" slot-scope="inventoryStatus_dictText"> | ||
24 | + <a-tag :key="inventoryStatus_dictText" :color="getStatusColor(inventoryStatus_dictText)"> | ||
25 | + {{ inventoryStatus_dictText }} | ||
26 | + </a-tag> | ||
27 | + </span> | ||
28 | + | ||
29 | + <span slot="companyCode" slot-scope="companyCode"> | ||
30 | + <a-tag :key="companyCode" color="blue"> | ||
31 | + {{ solutionCompany(companyCode) }} | ||
32 | + </a-tag> | ||
33 | + </span> | ||
34 | + | ||
35 | + <span slot="zoneCode" slot-scope="zoneCode"> | ||
36 | + <a-tag :key="zoneCode" color="blue"> | ||
37 | + {{ solutionZoneCode(zoneCode) }} | ||
38 | + </a-tag> | ||
39 | + </span> | ||
40 | + </a-table> | ||
41 | + </div> | ||
42 | + | ||
43 | + <inventoryDetail-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></inventoryDetail-modal> | ||
44 | + </a-card> | ||
45 | +</template> | ||
46 | + | ||
47 | +<script> | ||
48 | + | ||
49 | +import {JeecgListMixin} from '@/mixins/JeecgListMixin' | ||
50 | +import InventoryDetailModal from '@views/system/inventory/modules/InventoryDetailModal' | ||
51 | +import {getCompanyList} from '@/api/api' | ||
52 | + | ||
53 | +export default { | ||
54 | + name: 'InventoryClassificationDetail', | ||
55 | + mixins: [JeecgListMixin], | ||
56 | + components: {InventoryDetailModal}, | ||
57 | + props: { | ||
58 | + mainId: { | ||
59 | + type: String, | ||
60 | + default: '', | ||
61 | + required: false | ||
62 | + } | ||
63 | + }, | ||
64 | + watch: { | ||
65 | + mainId: { | ||
66 | + immediate: true, | ||
67 | + handler(val) { | ||
68 | + if (!this.mainId) { | ||
69 | + this.clearList() | ||
70 | + } else { | ||
71 | + this.queryParam['materialTypeCode'] = val.split("_")[0]; | ||
72 | + this.loadData(1) | ||
73 | + } | ||
74 | + } | ||
75 | + } | ||
76 | + }, | ||
77 | + data() { | ||
78 | + return { | ||
79 | + description: '库存分类报表详情页面', | ||
80 | + disableMixinCreated: true, | ||
81 | + companyList: [], | ||
82 | + zoneList: [], | ||
83 | + // 表头 | ||
84 | + columns: [ | ||
85 | + { | ||
86 | + title: '物料编码', | ||
87 | + align: "center", | ||
88 | + dataIndex: 'materialCode' | ||
89 | + }, | ||
90 | + { | ||
91 | + title: '物料名称', | ||
92 | + align: "center", | ||
93 | + dataIndex: 'materialName' | ||
94 | + }, | ||
95 | + { | ||
96 | + title: '物料规格', | ||
97 | + align: "center", | ||
98 | + dataIndex: 'materialSpec' | ||
99 | + }, | ||
100 | + { | ||
101 | + title: '物料单位', | ||
102 | + align: "center", | ||
103 | + dataIndex: 'materialUnit' | ||
104 | + }, | ||
105 | + { | ||
106 | + title: '库存总数量', | ||
107 | + align: "center", | ||
108 | + dataIndex: 'qty' | ||
109 | + } | ||
110 | + ], | ||
111 | + url: { | ||
112 | + list: '/report/listInventoryClassificationDetail', | ||
113 | + }, | ||
114 | + dictOptions: { | ||
115 | + containerStatus: [] | ||
116 | + } | ||
117 | + } | ||
118 | + }, | ||
119 | + created() { | ||
120 | + this.loadFrom(); | ||
121 | + }, | ||
122 | + computed: { | ||
123 | + importExcelUrl() { | ||
124 | + return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}` | ||
125 | + } | ||
126 | + }, | ||
127 | + methods: { | ||
128 | + getStatusColor(status) { | ||
129 | + const colors = { | ||
130 | + '良品': 'green', | ||
131 | + '报废品': 'purple', | ||
132 | + '待确认 ': 'grey', | ||
133 | + '次品': 'red', | ||
134 | + default: 'blue' | ||
135 | + }; | ||
136 | + return colors[status] || colors.default; | ||
137 | + }, | ||
138 | + loadFrom() { | ||
139 | + getCompanyList().then(res => { | ||
140 | + if (res.success) { | ||
141 | + this.companyList = res.result | ||
142 | + } | ||
143 | + }) | ||
144 | + }, | ||
145 | + solutionCompany(value) { | ||
146 | + let actions = [] | ||
147 | + Object.keys(this.companyList).some(key => { | ||
148 | + if (this.companyList[key].code === '' + value) { | ||
149 | + actions.push(this.companyList[key].name) | ||
150 | + return true | ||
151 | + } | ||
152 | + }) | ||
153 | + return actions.join('') | ||
154 | + }, | ||
155 | + clearList() { | ||
156 | + this.dataSource = [] | ||
157 | + this.selectedRowKeys = [] | ||
158 | + this.ipagination.current = 1 | ||
159 | + } | ||
160 | + } | ||
161 | +} | ||
162 | +</script> | ||
163 | +<style scoped> | ||
164 | +@import '~@assets/less/common.less'; | ||
165 | +</style> |
ant-design-vue-jeecg/src/views/system/report/ReportInventoryClassificationList.vue
@@ -5,17 +5,17 @@ | @@ -5,17 +5,17 @@ | ||
5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> | 5 | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
6 | <a-row :gutter="24"> | 6 | <a-row :gutter="24"> |
7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> | 7 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
8 | - <a-form-item label="物料类别"> | ||
9 | - <a-select | ||
10 | - show-search | ||
11 | - placeholder="请选择物料类别" | ||
12 | - option-filter-prop="children" | ||
13 | - v-model="queryParam.materialTypeCode"> | ||
14 | - <a-select-option v-for="item in materialTypeList" :key="item.code" :value="item.code"> | ||
15 | - {{ item.code }} {{ item.name }} | ||
16 | - </a-select-option> | ||
17 | - </a-select> | ||
18 | - </a-form-item> | 8 | + <a-form-item label="物料类别"> |
9 | + <a-select | ||
10 | + show-search | ||
11 | + placeholder="请选择物料类别" | ||
12 | + option-filter-prop="children" | ||
13 | + v-model="queryParam.materialTypeCode"> | ||
14 | + <a-select-option v-for="item in materialTypeList" :key="item.code" :value="item.code"> | ||
15 | + {{ item.code }} {{ item.name }} | ||
16 | + </a-select-option> | ||
17 | + </a-select> | ||
18 | + </a-form-item> | ||
19 | </a-col> | 19 | </a-col> |
20 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> | 20 | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
21 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | 21 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
@@ -34,12 +34,14 @@ | @@ -34,12 +34,14 @@ | ||
34 | size="middle" | 34 | size="middle" |
35 | :scroll="{x:true}" | 35 | :scroll="{x:true}" |
36 | bordered | 36 | bordered |
37 | - rowKey="id" | 37 | + rowKey="materialTypeCode" |
38 | :columns="columns" | 38 | :columns="columns" |
39 | :dataSource="dataSource" | 39 | :dataSource="dataSource" |
40 | :pagination="ipagination" | 40 | :pagination="ipagination" |
41 | :loading="loading" | 41 | :loading="loading" |
42 | class="j-table-force-nowrap" | 42 | class="j-table-force-nowrap" |
43 | + :customRow="clickThenSelect" | ||
44 | + :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }" | ||
43 | @change="handleTableChange"> | 45 | @change="handleTableChange"> |
44 | 46 | ||
45 | <span slot="zoneCode" slot-scope="zoneCode"> | 47 | <span slot="zoneCode" slot-scope="zoneCode"> |
@@ -52,6 +54,12 @@ | @@ -52,6 +54,12 @@ | ||
52 | </template> | 54 | </template> |
53 | </a-table> | 55 | </a-table> |
54 | </div> | 56 | </div> |
57 | + | ||
58 | + <a-tabs defaultActiveKey="1"> | ||
59 | + <a-tab-pane tab="库存分类详情" key="1"> | ||
60 | + <InventoryClassificationDetail :mainId="selectedMainId"/> | ||
61 | + </a-tab-pane> | ||
62 | + </a-tabs> | ||
55 | </a-card> | 63 | </a-card> |
56 | </template> | 64 | </template> |
57 | 65 | ||
@@ -61,14 +69,16 @@ import '@/assets/less/TableExpand.less' | @@ -61,14 +69,16 @@ import '@/assets/less/TableExpand.less' | ||
61 | import {mixinDevice} from '@/utils/mixin' | 69 | import {mixinDevice} from '@/utils/mixin' |
62 | import {JeecgListMixin} from '@/mixins/JeecgListMixin' | 70 | import {JeecgListMixin} from '@/mixins/JeecgListMixin' |
63 | import {getMaterialTypeList, getZoneList} from '@/api/api' | 71 | import {getMaterialTypeList, getZoneList} from '@/api/api' |
72 | +import InventoryClassificationDetail from "./InventoryClassificationDetail"; | ||
64 | 73 | ||
65 | export default { | 74 | export default { |
66 | name: 'ReportInventoryClassificationList', | 75 | name: 'ReportInventoryClassificationList', |
67 | mixins: [JeecgListMixin, mixinDevice], | 76 | mixins: [JeecgListMixin, mixinDevice], |
68 | - components: {}, | 77 | + components: {InventoryClassificationDetail}, |
69 | data() { | 78 | data() { |
70 | return { | 79 | return { |
71 | description: '库存分类报表页面', | 80 | description: '库存分类报表页面', |
81 | + selectedMainId: '', | ||
72 | zoneList: [], | 82 | zoneList: [], |
73 | zoneOptions: [], | 83 | zoneOptions: [], |
74 | materialTypeList: [], | 84 | materialTypeList: [], |
@@ -130,6 +140,15 @@ export default { | @@ -130,6 +140,15 @@ export default { | ||
130 | }, | 140 | }, |
131 | }, | 141 | }, |
132 | methods: { | 142 | methods: { |
143 | + searchQuery() { | ||
144 | + this.loadData(1); | ||
145 | + this.onClearSelected(); | ||
146 | + }, | ||
147 | + searchReset() { | ||
148 | + this.queryParam = {} | ||
149 | + this.loadData(1); | ||
150 | + this.onClearSelected(); | ||
151 | + }, | ||
133 | loadFrom() { | 152 | loadFrom() { |
134 | getMaterialTypeList().then((res) => { | 153 | getMaterialTypeList().then((res) => { |
135 | if (res.success) { | 154 | if (res.success) { |
@@ -159,7 +178,26 @@ export default { | @@ -159,7 +178,26 @@ export default { | ||
159 | } | 178 | } |
160 | }) | 179 | }) |
161 | return actions.join('') | 180 | return actions.join('') |
162 | - } | 181 | + }, |
182 | + clickThenSelect(record) { | ||
183 | + return { | ||
184 | + on: { | ||
185 | + click: () => { | ||
186 | + this.onSelectChange(record.materialTypeCode.split(','), [record]) | ||
187 | + } | ||
188 | + } | ||
189 | + } | ||
190 | + }, | ||
191 | + onSelectChange(selectedRowKeys, selectionRows) { | ||
192 | + this.selectedMainId = selectionRows[0].materialTypeCode | ||
193 | + this.selectedRowKeys = selectedRowKeys | ||
194 | + this.selectionRows = selectionRows | ||
195 | + }, | ||
196 | + onClearSelected() { | ||
197 | + this.selectedMainId = '' | ||
198 | + this.selectedRowKeys = [] | ||
199 | + this.selectionRows = [] | ||
200 | + }, | ||
163 | } | 201 | } |
164 | } | 202 | } |
165 | </script> | 203 | </script> |
ant-design-vue-jeecg/src/views/system/report/ReportInventoryDailyList.vue
ant-design-vue-jeecg/src/views/system/report/ReportPerformanceAssessmentList.vue
@@ -26,7 +26,7 @@ | @@ -26,7 +26,7 @@ | ||
26 | size="middle" | 26 | size="middle" |
27 | :scroll="{x:true}" | 27 | :scroll="{x:true}" |
28 | bordered | 28 | bordered |
29 | - rowKey="id" | 29 | + rowKey="userName" |
30 | :columns="columns" | 30 | :columns="columns" |
31 | :dataSource="dataSource" | 31 | :dataSource="dataSource" |
32 | :pagination="ipagination" | 32 | :pagination="ipagination" |
@@ -55,12 +55,12 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin' | @@ -55,12 +55,12 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin' | ||
55 | import {getMaterialTypeList, getZoneList} from '@/api/api' | 55 | import {getMaterialTypeList, getZoneList} from '@/api/api' |
56 | 56 | ||
57 | export default { | 57 | export default { |
58 | - name: 'ReportInventoryClassificationList', | 58 | + name: 'ReportPerformanceAssessmentList', |
59 | mixins: [JeecgListMixin, mixinDevice], | 59 | mixins: [JeecgListMixin, mixinDevice], |
60 | components: {}, | 60 | components: {}, |
61 | data() { | 61 | data() { |
62 | return { | 62 | return { |
63 | - description: '库存分类报表页面', | 63 | + description: '绩效考核报表页面', |
64 | zoneList: [], | 64 | zoneList: [], |
65 | zoneOptions: [], | 65 | zoneOptions: [], |
66 | materialTypeList: [], | 66 | materialTypeList: [], |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/mapper/InventoryDetailMapper.java
@@ -25,4 +25,11 @@ public interface InventoryDetailMapper extends BaseMapper<InventoryDetail> { | @@ -25,4 +25,11 @@ public interface InventoryDetailMapper extends BaseMapper<InventoryDetail> { | ||
25 | * @return 库存分类报表信息 | 25 | * @return 库存分类报表信息 |
26 | */ | 26 | */ |
27 | List<ReportInventoryClassificationDto> selectReportClassification(@Param("materialTypeCode") String materialTypeCode); | 27 | List<ReportInventoryClassificationDto> selectReportClassification(@Param("materialTypeCode") String materialTypeCode); |
28 | + | ||
29 | + /** | ||
30 | + * 根据物料类别查询库存详情 | ||
31 | + * @param materialTypeCode 物料类别编码 | ||
32 | + * @return 库存详情信息 | ||
33 | + */ | ||
34 | + List<InventoryDetail> selectByMaterialTypeCode(String materialTypeCode); | ||
28 | } | 35 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/mapper/xml/InventoryDetailMapper.xml
@@ -29,4 +29,21 @@ | @@ -29,4 +29,21 @@ | ||
29 | </if> | 29 | </if> |
30 | GROUP BY type | 30 | GROUP BY type |
31 | </select> | 31 | </select> |
32 | + | ||
33 | + <select id="selectByMaterialTypeCode" | ||
34 | + resultType="org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail"> | ||
35 | + SELECT | ||
36 | + inventory_detail.material_code, | ||
37 | + inventory_detail.material_name, | ||
38 | + inventory_detail.material_unit, | ||
39 | + inventory_detail.material_spec, | ||
40 | + SUM( qty ) AS qty | ||
41 | + FROM inventory_detail | ||
42 | + INNER JOIN material ON material.code = inventory_detail.material_code | ||
43 | + <if test="materialTypeCode != null and materialTypeCode !=''"> | ||
44 | + and material.type = #{materialTypeCode} | ||
45 | + </if> | ||
46 | + INNER JOIN material_type ON material_type.code = material.type | ||
47 | + GROUP BY inventory_detail.material_code | ||
48 | + </select> | ||
32 | </mapper> | 49 | </mapper> |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
@@ -140,4 +140,12 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { | @@ -140,4 +140,12 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { | ||
140 | * @return 库存分类报表信息 | 140 | * @return 库存分类报表信息 |
141 | */ | 141 | */ |
142 | List<ReportInventoryClassificationDto> getInventoryClassifyReport(String materialTypeCode); | 142 | List<ReportInventoryClassificationDto> getInventoryClassifyReport(String materialTypeCode); |
143 | + | ||
144 | + /** | ||
145 | + * 库存分类详情报表查询 | ||
146 | + * | ||
147 | + * @param materialTypeCode 物料类别编码 | ||
148 | + * @return 库存分类报表信息 | ||
149 | + */ | ||
150 | + List<InventoryDetail> getByMaterialTypeCode(String materialTypeCode); | ||
143 | } | 151 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
@@ -11,6 +11,7 @@ import java.util.stream.Collectors; | @@ -11,6 +11,7 @@ import java.util.stream.Collectors; | ||
11 | 11 | ||
12 | import javax.annotation.Resource; | 12 | import javax.annotation.Resource; |
13 | 13 | ||
14 | +import cn.hutool.core.util.StrUtil; | ||
14 | import org.jeecg.common.api.vo.Result; | 15 | import org.jeecg.common.api.vo.Result; |
15 | import org.jeecg.common.exception.JeecgBootException; | 16 | import org.jeecg.common.exception.JeecgBootException; |
16 | import org.jeecg.modules.wms.config.container.entity.Container; | 17 | import org.jeecg.modules.wms.config.container.entity.Container; |
@@ -495,4 +496,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe | @@ -495,4 +496,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe | ||
495 | public List<ReportInventoryClassificationDto> getInventoryClassifyReport(String materialTypeCode) { | 496 | public List<ReportInventoryClassificationDto> getInventoryClassifyReport(String materialTypeCode) { |
496 | return super.baseMapper.selectReportClassification(materialTypeCode); | 497 | return super.baseMapper.selectReportClassification(materialTypeCode); |
497 | } | 498 | } |
499 | + | ||
500 | + @Override | ||
501 | + public List<InventoryDetail> getByMaterialTypeCode(String materialTypeCode) { | ||
502 | + return super.baseMapper.selectByMaterialTypeCode(materialTypeCode); | ||
503 | + } | ||
498 | } | 504 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/controller/ReportController.java
@@ -36,6 +36,7 @@ import org.jeecg.modules.wms.report.dto.ReportInventoryClassificationDto; | @@ -36,6 +36,7 @@ import org.jeecg.modules.wms.report.dto.ReportInventoryClassificationDto; | ||
36 | import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto; | 36 | import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto; |
37 | import org.jeecg.modules.wms.stocktaking.cycleCountDetail.service.ICycleCountDetailChildService; | 37 | import org.jeecg.modules.wms.stocktaking.cycleCountDetail.service.ICycleCountDetailChildService; |
38 | import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; | 38 | import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService; |
39 | +import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskHeaderHistoryService; | ||
39 | import org.jeecg.utils.HuahengJwtUtil; | 40 | import org.jeecg.utils.HuahengJwtUtil; |
40 | import org.jeecg.utils.StringUtils; | 41 | import org.jeecg.utils.StringUtils; |
41 | import org.jeecg.utils.constant.QuantityConstant; | 42 | import org.jeecg.utils.constant.QuantityConstant; |
@@ -67,7 +68,7 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv | @@ -67,7 +68,7 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv | ||
67 | @Resource | 68 | @Resource |
68 | private IMaterialService materialService; | 69 | private IMaterialService materialService; |
69 | @Resource | 70 | @Resource |
70 | - private ITaskHeaderService taskHeaderService; | 71 | + private ITaskHeaderHistoryService taskHeaderHistoryService; |
71 | @Resource | 72 | @Resource |
72 | private ILocationService locationService; | 73 | private ILocationService locationService; |
73 | @Resource | 74 | @Resource |
@@ -225,12 +226,24 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv | @@ -225,12 +226,24 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv | ||
225 | } | 226 | } |
226 | 227 | ||
227 | /** | 228 | /** |
229 | + * 库存分类报表列表详情查询 | ||
230 | + */ | ||
231 | + @GetMapping(value = "/listInventoryClassificationDetail") | ||
232 | + public Result listInventoryClassificationDetail(String materialTypeCode, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, | ||
233 | + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { | ||
234 | + List<InventoryDetail> inventoryClassifyReportList = inventoryDetailService.getByMaterialTypeCode(materialTypeCode); | ||
235 | + Page<InventoryDetail> page = new Page<>(pageNo, pageSize); | ||
236 | + page.setRecords(inventoryClassifyReportList); | ||
237 | + return Result.OK(page); | ||
238 | + } | ||
239 | + | ||
240 | + /** | ||
228 | * 绩效考核报表列表查询 | 241 | * 绩效考核报表列表查询 |
229 | */ | 242 | */ |
230 | @GetMapping(value = "/listPerformanceAssessment") | 243 | @GetMapping(value = "/listPerformanceAssessment") |
231 | public Result listPerformanceAssessment(String realName, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, | 244 | public Result listPerformanceAssessment(String realName, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
232 | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { | 245 | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { |
233 | - List<ReportPerformanceAssessmentDto> performanceAssessmentReportList = taskHeaderService.getPerformanceAssessmentReport(realName); | 246 | + List<ReportPerformanceAssessmentDto> performanceAssessmentReportList = taskHeaderHistoryService.getPerformanceAssessmentReport(realName); |
234 | Page<ReportPerformanceAssessmentDto> page = new Page<>(pageNo, pageSize); | 247 | Page<ReportPerformanceAssessmentDto> page = new Page<>(pageNo, pageSize); |
235 | page.setRecords(performanceAssessmentReportList); | 248 | page.setRecords(performanceAssessmentReportList); |
236 | return Result.OK(page); | 249 | return Result.OK(page); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/dto/ReportPerformanceAssessmentDto.java
@@ -16,7 +16,7 @@ public class ReportPerformanceAssessmentDto implements Serializable { | @@ -16,7 +16,7 @@ public class ReportPerformanceAssessmentDto implements Serializable { | ||
16 | private String realName; | 16 | private String realName; |
17 | 17 | ||
18 | /** | 18 | /** |
19 | - * 任务总数 | 19 | + * 任务总数(只包含入库类型与出库类的) |
20 | */ | 20 | */ |
21 | private Integer sumTaskQty; | 21 | private Integer sumTaskQty; |
22 | 22 |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/TaskHeaderMapper.java
@@ -15,10 +15,4 @@ import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; | @@ -15,10 +15,4 @@ import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; | ||
15 | */ | 15 | */ |
16 | public interface TaskHeaderMapper extends BaseMapper<TaskHeader> { | 16 | public interface TaskHeaderMapper extends BaseMapper<TaskHeader> { |
17 | 17 | ||
18 | - /** | ||
19 | - * 绩效考核报表查询 | ||
20 | - * @param realName 用户姓名 | ||
21 | - * @return 绩效考核报表信息 | ||
22 | - */ | ||
23 | - List<ReportPerformanceAssessmentDto> selectPerformanceAssessment(@Param("realName") String realName); | ||
24 | } | 18 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/xml/TaskHeaderMapper.xml
@@ -2,18 +2,4 @@ | @@ -2,18 +2,4 @@ | ||
2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | <mapper namespace="org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper"> | 3 | <mapper namespace="org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper"> |
4 | 4 | ||
5 | - <select id="selectPerformanceAssessment" | ||
6 | - resultType="org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto"> | ||
7 | - SELECT sys_user.realname, | ||
8 | - COUNT(task_header.create_by) AS sumTaskQty, | ||
9 | - COUNT(IF((task_header.task_type = 100 OR task_header.task_type = 200 OR task_header.task_type = 500), task_header.create_by, NULL)) AS receiptTaskQty, | ||
10 | - COUNT(IF((task_header.task_type = 300 OR task_header.task_type = 400 OR task_header.task_type = 600), task_header.create_by, NULL)) AS shipmentTaskQty | ||
11 | - FROM sys_user | ||
12 | - LEFT JOIN task_header ON sys_user.realname = task_header.create_by | ||
13 | - <if test="realName != null and realName != ''"> | ||
14 | - <bind name="realName" value="'%' + realName + '%'"/> | ||
15 | - WHERE sys_user.realname LIKE #{realName} | ||
16 | - </if> | ||
17 | - GROUP BY sys_user.realname | ||
18 | - </select> | ||
19 | </mapper> | 5 | </mapper> |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
@@ -454,11 +454,4 @@ public interface ITaskHeaderService extends IService<TaskHeader> { | @@ -454,11 +454,4 @@ public interface ITaskHeaderService extends IService<TaskHeader> { | ||
454 | List<String> findCommonData(List<String> dataList1, List<String> dataList2, boolean flag); | 454 | List<String> findCommonData(List<String> dataList1, List<String> dataList2, boolean flag); |
455 | 455 | ||
456 | boolean delMain (Integer id); | 456 | boolean delMain (Integer id); |
457 | - | ||
458 | - /** | ||
459 | - * 绩效考核报表查询 | ||
460 | - * @param realName 用户姓名 | ||
461 | - * @return 绩效考核报表信息 | ||
462 | - */ | ||
463 | - List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName); | ||
464 | } | 457 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
1 | package org.jeecg.modules.wms.task.taskHeader.service.impl; | 1 | package org.jeecg.modules.wms.task.taskHeader.service.impl; |
2 | 2 | ||
3 | -import java.io.Serializable; | ||
4 | -import java.math.BigDecimal; | ||
5 | -import java.util.*; | ||
6 | -import java.util.stream.Collectors; | ||
7 | - | ||
8 | -import javax.annotation.Resource; | ||
9 | - | 3 | +import cn.hutool.core.collection.ListUtil; |
4 | +import cn.monitor4all.logRecord.annotation.OperationLog; | ||
5 | +import cn.monitor4all.logRecord.context.LogRecordContext; | ||
6 | +import com.alibaba.fastjson.JSON; | ||
7 | +import com.aliyun.oss.ServiceException; | ||
8 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
9 | +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||
10 | +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; | ||
11 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
12 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||
13 | +import lombok.extern.slf4j.Slf4j; | ||
10 | import org.jeecg.common.api.vo.Result; | 14 | import org.jeecg.common.api.vo.Result; |
11 | import org.jeecg.common.exception.JeecgBootException; | 15 | import org.jeecg.common.exception.JeecgBootException; |
12 | import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService; | 16 | import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService; |
@@ -75,23 +79,17 @@ import org.springframework.beans.factory.annotation.Autowired; | @@ -75,23 +79,17 @@ import org.springframework.beans.factory.annotation.Autowired; | ||
75 | import org.springframework.stereotype.Service; | 79 | import org.springframework.stereotype.Service; |
76 | import org.springframework.transaction.annotation.Transactional; | 80 | import org.springframework.transaction.annotation.Transactional; |
77 | 81 | ||
78 | -import com.alibaba.fastjson.JSON; | ||
79 | -import com.aliyun.oss.ServiceException; | ||
80 | -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
81 | -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | ||
82 | -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; | ||
83 | -import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
84 | -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||
85 | - | ||
86 | -import cn.monitor4all.logRecord.annotation.OperationLog; | ||
87 | -import cn.monitor4all.logRecord.context.LogRecordContext; | ||
88 | -import lombok.extern.slf4j.Slf4j; | 82 | +import javax.annotation.Resource; |
83 | +import java.io.Serializable; | ||
84 | +import java.math.BigDecimal; | ||
85 | +import java.util.*; | ||
86 | +import java.util.stream.Collectors; | ||
89 | 87 | ||
90 | /** | 88 | /** |
91 | * @Description: 任务表 | 89 | * @Description: 任务表 |
92 | - * @Author: jeecg-boot | ||
93 | - * @Date: 2022-11-10 | ||
94 | - * @Version: V1.0 | 90 | + * @Author: jeecg-boot |
91 | + * @Date: 2022-11-10 | ||
92 | + * @Version: V1.0 | ||
95 | */ | 93 | */ |
96 | @Slf4j | 94 | @Slf4j |
97 | @Service | 95 | @Service |
@@ -217,7 +215,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -217,7 +215,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
217 | 215 | ||
218 | /** | 216 | /** |
219 | * 如果库位是锁定的,那么这个库位一定是被某个任务占用。 | 217 | * 如果库位是锁定的,那么这个库位一定是被某个任务占用。 |
220 | - * @param location | 218 | + * |
219 | + * @param location | ||
221 | * @return | 220 | * @return |
222 | */ | 221 | */ |
223 | @Override | 222 | @Override |
@@ -324,11 +323,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -324,11 +323,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
324 | } | 323 | } |
325 | 324 | ||
326 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_TRANSFER, containerCode, fromLocationCode, toLocationCode, | 325 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_TRANSFER, containerCode, fromLocationCode, toLocationCode, |
327 | - warehouseCode); | 326 | + warehouseCode); |
328 | if (!result.isSuccess()) { | 327 | if (!result.isSuccess()) { |
329 | throw new JeecgBootException(result.getMessage()); | 328 | throw new JeecgBootException(result.getMessage()); |
330 | } | 329 | } |
331 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 330 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
332 | String zoneCode = taskLockEntity.getZoneCode(); | 331 | String zoneCode = taskLockEntity.getZoneCode(); |
333 | // 4. 判断源库位旁边有托盘但是没有任务,那么不允许移库 | 332 | // 4. 判断源库位旁边有托盘但是没有任务,那么不允许移库 |
334 | TaskHeader taskHeader = new TaskHeader(); | 333 | TaskHeader taskHeader = new TaskHeader(); |
@@ -396,11 +395,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -396,11 +395,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
396 | toLocationCode = fromLocationCode; | 395 | toLocationCode = fromLocationCode; |
397 | } | 396 | } |
398 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CHECK_OUT, containerCode, fromLocationCode, toLocationCode, | 397 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CHECK_OUT, containerCode, fromLocationCode, toLocationCode, |
399 | - warehouseCode); | 398 | + warehouseCode); |
400 | if (!result.isSuccess()) { | 399 | if (!result.isSuccess()) { |
401 | throw new JeecgBootException(result.getMessage()); | 400 | throw new JeecgBootException(result.getMessage()); |
402 | } | 401 | } |
403 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 402 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
404 | String zoneCode = taskLockEntity.getZoneCode(); | 403 | String zoneCode = taskLockEntity.getZoneCode(); |
405 | Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode); | 404 | Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode); |
406 | if (port == null) { | 405 | if (port == null) { |
@@ -458,11 +457,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -458,11 +457,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
458 | toLocationCode = fromLocationCode; | 457 | toLocationCode = fromLocationCode; |
459 | } | 458 | } |
460 | Result result = | 459 | Result result = |
461 | - taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_QUALITY, containerCode, fromLocationCode, toLocationCode, warehouseCode); | 460 | + taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_QUALITY, containerCode, fromLocationCode, toLocationCode, warehouseCode); |
462 | if (!result.isSuccess()) { | 461 | if (!result.isSuccess()) { |
463 | throw new JeecgBootException(result.getMessage()); | 462 | throw new JeecgBootException(result.getMessage()); |
464 | } | 463 | } |
465 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 464 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
466 | String zoneCode = taskLockEntity.getZoneCode(); | 465 | String zoneCode = taskLockEntity.getZoneCode(); |
467 | Port port = portService.getPortByCode(toPortCode, QuantityConstant.PORT_TYPE_PICK, zoneCode, warehouseCode); | 466 | Port port = portService.getPortByCode(toPortCode, QuantityConstant.PORT_TYPE_PICK, zoneCode, warehouseCode); |
468 | if (port == null) { | 467 | if (port == null) { |
@@ -486,7 +485,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -486,7 +485,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
486 | } | 485 | } |
487 | LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | 486 | LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
488 | inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getContainerCode, containerCode).eq(InventoryDetail::getWarehouseCode, warehouseCode) | 487 | inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getContainerCode, containerCode).eq(InventoryDetail::getWarehouseCode, warehouseCode) |
489 | - .eq(InventoryDetail::getLocationCode, fromLocationCode); | 488 | + .eq(InventoryDetail::getLocationCode, fromLocationCode); |
490 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); | 489 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); |
491 | List<TaskDetail> taskDetailList = new ArrayList<>(); | 490 | List<TaskDetail> taskDetailList = new ArrayList<>(); |
492 | if (inventoryDetailList.size() != 0) { | 491 | if (inventoryDetailList.size() != 0) { |
@@ -545,7 +544,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -545,7 +544,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
545 | return Result.error("创建跨站任务时,起始站台和目标站台不能相同"); | 544 | return Result.error("创建跨站任务时,起始站台和目标站台不能相同"); |
546 | } | 545 | } |
547 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_OVER_STATION, containerCode, QuantityConstant.EMPTY_STRING, | 546 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_OVER_STATION, containerCode, QuantityConstant.EMPTY_STRING, |
548 | - QuantityConstant.EMPTY_STRING, warehouseCode); | 547 | + QuantityConstant.EMPTY_STRING, warehouseCode); |
549 | if (!result.isSuccess()) { | 548 | if (!result.isSuccess()) { |
550 | throw new JeecgBootException(result.getMessage()); | 549 | throw new JeecgBootException(result.getMessage()); |
551 | } | 550 | } |
@@ -621,7 +620,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -621,7 +620,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
621 | int high = locationHigh.getHigh(); | 620 | int high = locationHigh.getHigh(); |
622 | boolean bypass = false; | 621 | boolean bypass = false; |
623 | String toLocationCode = | 622 | String toLocationCode = |
624 | - allocationService.allocation(allocationRule, locationTypeCodeList, high, zoneCode, roadWays, warehouseCode, containerCode, null, null, bypass); | 623 | + allocationService.allocation(allocationRule, locationTypeCodeList, high, zoneCode, roadWays, warehouseCode, containerCode, null, null, bypass); |
625 | if (StringUtils.isEmpty(toLocationCode)) { | 624 | if (StringUtils.isEmpty(toLocationCode)) { |
626 | throw new JeecgBootException("创建空托盘组入库任务时,目标库位为空"); | 625 | throw new JeecgBootException("创建空托盘组入库任务时,目标库位为空"); |
627 | } | 626 | } |
@@ -643,11 +642,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -643,11 +642,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
643 | } | 642 | } |
644 | log.info("开始创建空托盘组入库任务,容器编码" + containerCode + ",库位编码" + toLocationCode); | 643 | log.info("开始创建空托盘组入库任务,容器编码" + containerCode + ",库位编码" + toLocationCode); |
645 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, containerCode, | 644 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, containerCode, |
646 | - QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); | 645 | + QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); |
647 | if (!result.isSuccess()) { | 646 | if (!result.isSuccess()) { |
648 | throw new JeecgBootException(result.getMessage()); | 647 | throw new JeecgBootException(result.getMessage()); |
649 | } | 648 | } |
650 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 649 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
651 | String zoneCode = taskLockEntity.getZoneCode(); | 650 | String zoneCode = taskLockEntity.getZoneCode(); |
652 | TaskHeader taskHeader = new TaskHeader(); | 651 | TaskHeader taskHeader = new TaskHeader(); |
653 | taskHeader.setWarehouseCode(warehouseCode); | 652 | taskHeader.setWarehouseCode(warehouseCode); |
@@ -680,11 +679,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -680,11 +679,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
680 | return Result.error("创建空托盘组出库任务时,仓库编码为空"); | 679 | return Result.error("创建空托盘组出库任务时,仓库编码为空"); |
681 | } | 680 | } |
682 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, containerCode, | 681 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, containerCode, |
683 | - QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); | 682 | + QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); |
684 | if (!result.isSuccess()) { | 683 | if (!result.isSuccess()) { |
685 | throw new JeecgBootException(result.getMessage()); | 684 | throw new JeecgBootException(result.getMessage()); |
686 | } | 685 | } |
687 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 686 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
688 | String zoneCode = taskLockEntity.getZoneCode(); | 687 | String zoneCode = taskLockEntity.getZoneCode(); |
689 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); | 688 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); |
690 | String fromLocationCode = container.getLocationCode(); | 689 | String fromLocationCode = container.getLocationCode(); |
@@ -757,13 +756,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -757,13 +756,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
757 | } | 756 | } |
758 | // 5、删除容器上的库位编码,并设置状态为空闲,填充度状态为空盘 | 757 | // 5、删除容器上的库位编码,并设置状态为空闲,填充度状态为空盘 |
759 | boolean success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, | 758 | boolean success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, |
760 | - QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode); | 759 | + QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode); |
761 | if (!success) { | 760 | if (!success) { |
762 | throw new JeecgBootException("处理空出失败, 更新容器状态失败"); | 761 | throw new JeecgBootException("处理空出失败, 更新容器状态失败"); |
763 | } | 762 | } |
764 | // 6、删除库位上的容器编码,并设置状态为空闲 | 763 | // 6、删除库位上的容器编码,并设置状态为空闲 |
765 | success = | 764 | success = |
766 | - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); | 765 | + locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); |
767 | if (!success) { | 766 | if (!success) { |
768 | throw new JeecgBootException("处理空出失败, 更新库位状态失败"); | 767 | throw new JeecgBootException("处理空出失败, 更新库位状态失败"); |
769 | } | 768 | } |
@@ -778,7 +777,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -778,7 +777,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
778 | // 8、删除库存详情失败 | 777 | // 8、删除库存详情失败 |
779 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode); | 778 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode); |
780 | if (inventoryDetailList.size() != 0) { | 779 | if (inventoryDetailList.size() != 0) { |
781 | - List<Integer> idList = inventoryDetailList.stream().map(InventoryDetail::getId).collect(Collectors.toList());; | 780 | + List<Integer> idList = inventoryDetailList.stream().map(InventoryDetail::getId).collect(Collectors.toList()); |
781 | + ; | ||
782 | success = inventoryDetailService.removeByIds(idList); | 782 | success = inventoryDetailService.removeByIds(idList); |
783 | if (!success) { | 783 | if (!success) { |
784 | throw new JeecgBootException("处理空出失败, 删除库存详情失败"); | 784 | throw new JeecgBootException("处理空出失败, 删除库存详情失败"); |
@@ -837,7 +837,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -837,7 +837,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
837 | } | 837 | } |
838 | } | 838 | } |
839 | } | 839 | } |
840 | - ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(taskHeader.getReceiptContainerHeaderId());; | 840 | + ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(taskHeader.getReceiptContainerHeaderId()); |
841 | + ; | ||
841 | if (receiptContainerHeader != null) { | 842 | if (receiptContainerHeader != null) { |
842 | success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, receiptContainerHeader.getId()); | 843 | success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, receiptContainerHeader.getId()); |
843 | if (!success) { | 844 | if (!success) { |
@@ -983,7 +984,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -983,7 +984,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
983 | public TaskHeader getUnCompleteTaskByFromLocationCode(String fromLocationCode, String warehouseCode) { | 984 | public TaskHeader getUnCompleteTaskByFromLocationCode(String fromLocationCode, String warehouseCode) { |
984 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 985 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
985 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getFromLocationCode, fromLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, | 986 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getFromLocationCode, fromLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, |
986 | - QuantityConstant.TASK_STATUS_COMPLETED); | 987 | + QuantityConstant.TASK_STATUS_COMPLETED); |
987 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); | 988 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); |
988 | return taskHeader; | 989 | return taskHeader; |
989 | } | 990 | } |
@@ -992,7 +993,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -992,7 +993,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
992 | public TaskHeader getUnCompleteTaskByToLocationCode(String toLocationCode, String warehouseCode) { | 993 | public TaskHeader getUnCompleteTaskByToLocationCode(String toLocationCode, String warehouseCode) { |
993 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 994 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
994 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getToLocationCode, toLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, | 995 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getToLocationCode, toLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, |
995 | - QuantityConstant.TASK_STATUS_COMPLETED); | 996 | + QuantityConstant.TASK_STATUS_COMPLETED); |
996 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); | 997 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); |
997 | return taskHeader; | 998 | return taskHeader; |
998 | } | 999 | } |
@@ -1010,7 +1011,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1010,7 +1011,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1010 | public TaskHeader getUnCompleteTaskByContainerCode(String containerCode, String warehouseCode) { | 1011 | public TaskHeader getUnCompleteTaskByContainerCode(String containerCode, String warehouseCode) { |
1011 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 1012 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
1012 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, | 1013 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, |
1013 | - QuantityConstant.TASK_STATUS_COMPLETED); | 1014 | + QuantityConstant.TASK_STATUS_COMPLETED); |
1014 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); | 1015 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); |
1015 | return taskHeader; | 1016 | return taskHeader; |
1016 | } | 1017 | } |
@@ -1019,7 +1020,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1019,7 +1020,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1019 | public TaskHeader getUnCompleteTaskByPreTaskNo(int preTaskNo, String warehouseCode) { | 1020 | public TaskHeader getUnCompleteTaskByPreTaskNo(int preTaskNo, String warehouseCode) { |
1020 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 1021 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
1021 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getPreTaskNo, preTaskNo).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, | 1022 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getPreTaskNo, preTaskNo).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus, |
1022 | - QuantityConstant.TASK_STATUS_COMPLETED); | 1023 | + QuantityConstant.TASK_STATUS_COMPLETED); |
1023 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); | 1024 | TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); |
1024 | return taskHeader; | 1025 | return taskHeader; |
1025 | } | 1026 | } |
@@ -1215,9 +1216,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1215,9 +1216,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1215 | * 创建空托盘入库 | 1216 | * 创建空托盘入库 |
1216 | * 1. 判断托盘号、库位编码是否满足要求 | 1217 | * 1. 判断托盘号、库位编码是否满足要求 |
1217 | * 2. 创建任务,锁定容器、库位 | 1218 | * 2. 创建任务,锁定容器、库位 |
1218 | - * @param containerCode | ||
1219 | - * @param toLocationCode | ||
1220 | - * @param warehouseCode | 1219 | + * |
1220 | + * @param containerCode | ||
1221 | + * @param toLocationCode | ||
1222 | + * @param warehouseCode | ||
1221 | * @return | 1223 | * @return |
1222 | */ | 1224 | */ |
1223 | @Override | 1225 | @Override |
@@ -1243,7 +1245,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1243,7 +1245,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1243 | } | 1245 | } |
1244 | 1246 | ||
1245 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYRECEIPT, containerCode, QuantityConstant.EMPTY_STRING, | 1247 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYRECEIPT, containerCode, QuantityConstant.EMPTY_STRING, |
1246 | - toLocationCode, warehouseCode); | 1248 | + toLocationCode, warehouseCode); |
1247 | if (!result.isSuccess()) { | 1249 | if (!result.isSuccess()) { |
1248 | throw new JeecgBootException(result.getMessage()); | 1250 | throw new JeecgBootException(result.getMessage()); |
1249 | } | 1251 | } |
@@ -1274,9 +1276,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1274,9 +1276,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1274 | 1276 | ||
1275 | /** | 1277 | /** |
1276 | * 创建空托盘出库 | 1278 | * 创建空托盘出库 |
1277 | - * @param containerCode | ||
1278 | - * @param toPortCode | ||
1279 | - * @param warehouseCode | 1279 | + * |
1280 | + * @param containerCode | ||
1281 | + * @param toPortCode | ||
1282 | + * @param warehouseCode | ||
1280 | * @return | 1283 | * @return |
1281 | */ | 1284 | */ |
1282 | @Override | 1285 | @Override |
@@ -1295,11 +1298,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1295,11 +1298,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1295 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); | 1298 | Container container = containerService.getContainerByCode(containerCode, warehouseCode); |
1296 | String fromLocationCode = container.getLocationCode(); | 1299 | String fromLocationCode = container.getLocationCode(); |
1297 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, containerCode, QuantityConstant.EMPTY_STRING, | 1300 | Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, containerCode, QuantityConstant.EMPTY_STRING, |
1298 | - QuantityConstant.EMPTY_STRING, warehouseCode); | 1301 | + QuantityConstant.EMPTY_STRING, warehouseCode); |
1299 | if (!result.isSuccess()) { | 1302 | if (!result.isSuccess()) { |
1300 | throw new JeecgBootException(result.getMessage()); | 1303 | throw new JeecgBootException(result.getMessage()); |
1301 | } | 1304 | } |
1302 | - TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult(); | 1305 | + TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult(); |
1303 | String zoneCode = taskLockEntity.getZoneCode(); | 1306 | String zoneCode = taskLockEntity.getZoneCode(); |
1304 | Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode); | 1307 | Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode); |
1305 | if (port == null) { | 1308 | if (port == null) { |
@@ -1339,8 +1342,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1339,8 +1342,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1339 | } | 1342 | } |
1340 | LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery(); | 1343 | LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery(); |
1341 | containerLambdaQueryWrapper.eq(Container::getStatus, QuantityConstant.STATUS_CONTAINER_EMPTY).ne(Container::getLocationCode, QuantityConstant.EMPTY_STRING) | 1344 | containerLambdaQueryWrapper.eq(Container::getStatus, QuantityConstant.STATUS_CONTAINER_EMPTY).ne(Container::getLocationCode, QuantityConstant.EMPTY_STRING) |
1342 | - .eq(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_FILL_EMPTY).eq(Container::getWarehouseCode, warehouseCode) | ||
1343 | - .orderByAsc(Container::getUpdateTime); | 1345 | + .eq(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_FILL_EMPTY).eq(Container::getWarehouseCode, warehouseCode) |
1346 | + .orderByAsc(Container::getUpdateTime); | ||
1344 | List<Container> containerList = containerService.list(containerLambdaQueryWrapper); | 1347 | List<Container> containerList = containerService.list(containerLambdaQueryWrapper); |
1345 | List<Container> removeContainerList = new ArrayList<>(); | 1348 | List<Container> removeContainerList = new ArrayList<>(); |
1346 | if (CollectionUtils.isNotEmpty(containerList)) { | 1349 | if (CollectionUtils.isNotEmpty(containerList)) { |
@@ -1372,16 +1375,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1372,16 +1375,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1372 | 1375 | ||
1373 | /** | 1376 | /** |
1374 | * 完成入库任务 | 1377 | * 完成入库任务 |
1375 | - * @param taskHeader 任务 | ||
1376 | - * @return AjaxResult 完成入库任务结果 | 1378 | + * |
1379 | + * @param taskHeader 任务 | ||
1380 | + * @return AjaxResult 完成入库任务结果 | ||
1377 | */ | 1381 | */ |
1378 | @Override | 1382 | @Override |
1379 | @Transactional(rollbackFor = Exception.class) | 1383 | @Transactional(rollbackFor = Exception.class) |
1380 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", | 1384 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", |
1381 | - msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | ||
1382 | - recordReturnValue = true) | 1385 | + msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", |
1386 | + recordReturnValue = true) | ||
1383 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", | 1387 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1", |
1384 | - msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", recordReturnValue = true) | 1388 | + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", recordReturnValue = true) |
1385 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true) | 1389 | @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true) |
1386 | public Result completeReceiptTask(TaskHeader taskHeader) { | 1390 | public Result completeReceiptTask(TaskHeader taskHeader) { |
1387 | if (taskHeader == null) { | 1391 | if (taskHeader == null) { |
@@ -1403,7 +1407,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1403,7 +1407,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1403 | int allow = parameterConfigurationService.getValueIntByCode(QuantityConstant.RULE_CALL_BOX_ALLOW_EMPTY); | 1407 | int allow = parameterConfigurationService.getValueIntByCode(QuantityConstant.RULE_CALL_BOX_ALLOW_EMPTY); |
1404 | if (allow == QuantityConstant.RULE_ALLOW_EMPTY) { | 1408 | if (allow == QuantityConstant.RULE_ALLOW_EMPTY) { |
1405 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, | 1409 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, |
1406 | - fromLocationCode, toLocationCode, warehouseCode); | 1410 | + fromLocationCode, toLocationCode, warehouseCode); |
1407 | if (!result.isSuccess()) { | 1411 | if (!result.isSuccess()) { |
1408 | throw new JeecgBootException(result.getMessage()); | 1412 | throw new JeecgBootException(result.getMessage()); |
1409 | } | 1413 | } |
@@ -1548,7 +1552,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1548,7 +1552,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1548 | } | 1552 | } |
1549 | } | 1553 | } |
1550 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, | 1554 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, |
1551 | - toLocationCode, warehouseCode); | 1555 | + toLocationCode, warehouseCode); |
1552 | if (!result.isSuccess()) { | 1556 | if (!result.isSuccess()) { |
1553 | throw new JeecgBootException(result.getMessage()); | 1557 | throw new JeecgBootException(result.getMessage()); |
1554 | } | 1558 | } |
@@ -1566,17 +1570,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1566,17 +1570,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1566 | 1570 | ||
1567 | /** | 1571 | /** |
1568 | * 完成出库任务 | 1572 | * 完成出库任务 |
1569 | - * @param taskHeader 任务 | ||
1570 | - * @return result 完成出库任务 | 1573 | + * |
1574 | + * @param taskHeader 任务 | ||
1575 | + * @return result 完成出库任务 | ||
1571 | */ | 1576 | */ |
1572 | @Override | 1577 | @Override |
1573 | @Transactional(rollbackFor = Exception.class) | 1578 | @Transactional(rollbackFor = Exception.class) |
1574 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1", | 1579 | @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1", |
1575 | - msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", | ||
1576 | - recordReturnValue = true) | 1580 | + msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", |
1581 | + recordReturnValue = true) | ||
1577 | @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1", | 1582 | @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1", |
1578 | - msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getFromLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()", | ||
1579 | - recordReturnValue = true) | 1583 | + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getFromLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()", |
1584 | + recordReturnValue = true) | ||
1580 | @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true) | 1585 | @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true) |
1581 | public Result completeShipmentTask(TaskHeader taskHeader) { | 1586 | public Result completeShipmentTask(TaskHeader taskHeader) { |
1582 | if (taskHeader == null) { | 1587 | if (taskHeader == null) { |
@@ -1614,7 +1619,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1614,7 +1619,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1614 | throw new JeecgBootException("完成出库任务,更新出库组盘头失败"); | 1619 | throw new JeecgBootException("完成出库任务,更新出库组盘头失败"); |
1615 | } | 1620 | } |
1616 | List<ShipmentContainerAdvice> shipmentContainerAdviceList = | 1621 | List<ShipmentContainerAdvice> shipmentContainerAdviceList = |
1617 | - shipmentContainerAdviceService.getShipmentContainerAdviceListByShipmentContainerId(shipmentContainerHeader.getId()); | 1622 | + shipmentContainerAdviceService.getShipmentContainerAdviceListByShipmentContainerId(shipmentContainerHeader.getId()); |
1618 | for (ShipmentContainerAdvice shipmentContainerAdvice : shipmentContainerAdviceList) { | 1623 | for (ShipmentContainerAdvice shipmentContainerAdvice : shipmentContainerAdviceList) { |
1619 | if (!shipmentContainerAdviceService.updateStatusById(QuantityConstant.SHIPMENT_CONTAINER_FINISHED, shipmentContainerAdvice.getId())) { | 1624 | if (!shipmentContainerAdviceService.updateStatusById(QuantityConstant.SHIPMENT_CONTAINER_FINISHED, shipmentContainerAdvice.getId())) { |
1620 | throw new JeecgBootException("完成出库任务,更新出库预配盘失败"); | 1625 | throw new JeecgBootException("完成出库任务,更新出库预配盘失败"); |
@@ -1638,7 +1643,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1638,7 +1643,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1638 | } | 1643 | } |
1639 | } | 1644 | } |
1640 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, | 1645 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, |
1641 | - fromLocationCode, toLocationCode, warehouseCode); | 1646 | + fromLocationCode, toLocationCode, warehouseCode); |
1642 | if (!result.isSuccess()) { | 1647 | if (!result.isSuccess()) { |
1643 | throw new JeecgBootException(result.getMessage()); | 1648 | throw new JeecgBootException(result.getMessage()); |
1644 | } | 1649 | } |
@@ -1809,7 +1814,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1809,7 +1814,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1809 | } | 1814 | } |
1810 | } | 1815 | } |
1811 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, | 1816 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode, |
1812 | - toLocationCode, warehouseCode); | 1817 | + toLocationCode, warehouseCode); |
1813 | if (!result.isSuccess()) { | 1818 | if (!result.isSuccess()) { |
1814 | throw new JeecgBootException(result.getMessage()); | 1819 | throw new JeecgBootException(result.getMessage()); |
1815 | } | 1820 | } |
@@ -1885,8 +1890,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1885,8 +1890,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1885 | InventoryDetail inventoryDetail1 = inventoryDetailList.get(i); | 1890 | InventoryDetail inventoryDetail1 = inventoryDetailList.get(i); |
1886 | InventoryDetail inventoryDetail2 = inventoryDetailList.get(j); | 1891 | InventoryDetail inventoryDetail2 = inventoryDetailList.get(j); |
1887 | if (inventoryDetail1.getMaterialCode().equals(inventoryDetail2.getMaterialCode()) && inventoryDetail1.getBatch().equals(inventoryDetail2.getBatch()) | 1892 | if (inventoryDetail1.getMaterialCode().equals(inventoryDetail2.getMaterialCode()) && inventoryDetail1.getBatch().equals(inventoryDetail2.getBatch()) |
1888 | - && inventoryDetail1.getLot().equals(inventoryDetail2.getLot()) && inventoryDetail1.getProject().equals(inventoryDetail2.getProject()) | ||
1889 | - && inventoryDetail1.getInventoryStatus().equals(inventoryDetail2.getInventoryStatus())) { | 1893 | + && inventoryDetail1.getLot().equals(inventoryDetail2.getLot()) && inventoryDetail1.getProject().equals(inventoryDetail2.getProject()) |
1894 | + && inventoryDetail1.getInventoryStatus().equals(inventoryDetail2.getInventoryStatus())) { | ||
1890 | // 属性一样的库存,相加合并。 | 1895 | // 属性一样的库存,相加合并。 |
1891 | if (StringUtils.isNotEmpty(inventoryDetail1.getSn())) { | 1896 | if (StringUtils.isNotEmpty(inventoryDetail1.getSn())) { |
1892 | if (!inventoryDetail1.getSn().equals(inventoryDetail2.getSn())) { | 1897 | if (!inventoryDetail1.getSn().equals(inventoryDetail2.getSn())) { |
@@ -1931,6 +1936,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -1931,6 +1936,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
1931 | 1936 | ||
1932 | /** | 1937 | /** |
1933 | * 锁定容器和库位分4种情况,入库任务、出库任务、分拣任务、换站任务 | 1938 | * 锁定容器和库位分4种情况,入库任务、出库任务、分拣任务、换站任务 |
1939 | + * | ||
1934 | * @param | 1940 | * @param |
1935 | */ | 1941 | */ |
1936 | @Override | 1942 | @Override |
@@ -2147,7 +2153,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2147,7 +2153,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2147 | @Override | 2153 | @Override |
2148 | @Transactional(rollbackFor = Exception.class) | 2154 | @Transactional(rollbackFor = Exception.class) |
2149 | public Result completeTaskUnLockContainerAndLocation(String containerFillStatus, int taskType, String containerCode, String fromLocationCode, | 2155 | public Result completeTaskUnLockContainerAndLocation(String containerFillStatus, int taskType, String containerCode, String fromLocationCode, |
2150 | - String toLocationCode, String warehouseCode) { | 2156 | + String toLocationCode, String warehouseCode) { |
2151 | boolean success = false; | 2157 | boolean success = false; |
2152 | if (StringUtils.isEmpty(containerCode)) { | 2158 | if (StringUtils.isEmpty(containerCode)) { |
2153 | return Result.error("任务类型" + taskType + "完成任务时, 容器编码为空"); | 2159 | return Result.error("任务类型" + taskType + "完成任务时, 容器编码为空"); |
@@ -2193,7 +2199,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2193,7 +2199,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2193 | break; | 2199 | break; |
2194 | case QuantityConstant.TASK_TYPE_OVER_STATION: | 2200 | case QuantityConstant.TASK_TYPE_OVER_STATION: |
2195 | success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, | 2201 | success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, |
2196 | - warehouseCode); | 2202 | + warehouseCode); |
2197 | break; | 2203 | break; |
2198 | } | 2204 | } |
2199 | if (!success) { | 2205 | if (!success) { |
@@ -2205,7 +2211,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2205,7 +2211,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2205 | return Result.error("任务类型" + taskType + "完成任务时," + toLocationCode + "目标库位不存在"); | 2211 | return Result.error("任务类型" + taskType + "完成任务时," + toLocationCode + "目标库位不存在"); |
2206 | } | 2212 | } |
2207 | success = | 2213 | success = |
2208 | - locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); | 2214 | + locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode); |
2209 | if (!success) { | 2215 | if (!success) { |
2210 | throw new JeecgBootException("任务类型" + taskType + "完成任务时,更新源库位失败"); | 2216 | throw new JeecgBootException("任务类型" + taskType + "完成任务时,更新源库位失败"); |
2211 | } | 2217 | } |
@@ -2356,7 +2362,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2356,7 +2362,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2356 | if (!result.isSuccess()) { | 2362 | if (!result.isSuccess()) { |
2357 | throw new JeecgBootException(result.getMessage()); | 2363 | throw new JeecgBootException(result.getMessage()); |
2358 | } | 2364 | } |
2359 | - TaskHeader taskHeader = (TaskHeader)result.getResult(); | 2365 | + TaskHeader taskHeader = (TaskHeader) result.getResult(); |
2360 | if (taskHeader.getTaskType() == QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) { | 2366 | if (taskHeader.getTaskType() == QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) { |
2361 | if (port == null) { | 2367 | if (port == null) { |
2362 | throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口"); | 2368 | throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口"); |
@@ -2426,7 +2432,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2426,7 +2432,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2426 | shipmentDetailList.add(shipmentDetail); | 2432 | shipmentDetailList.add(shipmentDetail); |
2427 | shipmentQtyList.add(qty); | 2433 | shipmentQtyList.add(qty); |
2428 | List<InventoryDetail> inventoryDetailList = | 2434 | List<InventoryDetail> inventoryDetailList = |
2429 | - inventoryDetailService.getInventoryDetailListByMaterialCodeToShipment(materialCode, zoneCode, qty, warehouseCode); | 2435 | + inventoryDetailService.getInventoryDetailListByMaterialCodeToShipment(materialCode, zoneCode, qty, warehouseCode); |
2430 | List<InventoryDetail> removeInventoryDetailList = new ArrayList<>(); | 2436 | List<InventoryDetail> removeInventoryDetailList = new ArrayList<>(); |
2431 | for (InventoryDetail inventoryDetail : inventoryDetailList) { | 2437 | for (InventoryDetail inventoryDetail : inventoryDetailList) { |
2432 | if (roadWay.intValue() == inventoryDetail.getRoadWay().intValue()) { | 2438 | if (roadWay.intValue() == inventoryDetail.getRoadWay().intValue()) { |
@@ -2462,7 +2468,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2462,7 +2468,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2462 | ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId); | 2468 | ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId); |
2463 | BigDecimal shipQty = shipmentQtyList.get(i); | 2469 | BigDecimal shipQty = shipmentQtyList.get(i); |
2464 | InventoryDetail inventoryDetail = | 2470 | InventoryDetail inventoryDetail = |
2465 | - inventoryDetailService.getInventoryDetailByMaterialCodeToShipment(switchContainerCode, shipmentDetail.getMaterialCode(), shipQty, warehouseCode); | 2471 | + inventoryDetailService.getInventoryDetailByMaterialCodeToShipment(switchContainerCode, shipmentDetail.getMaterialCode(), shipQty, warehouseCode); |
2466 | CombinationModel combinationModel = new CombinationModel(); | 2472 | CombinationModel combinationModel = new CombinationModel(); |
2467 | combinationModel.setShipmentDetail(shipmentDetail); | 2473 | combinationModel.setShipmentDetail(shipmentDetail); |
2468 | combinationModel.setInventoryDetail(inventoryDetail); | 2474 | combinationModel.setInventoryDetail(inventoryDetail); |
@@ -2555,8 +2561,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2555,8 +2561,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2555 | 2561 | ||
2556 | /** | 2562 | /** |
2557 | * 完成空托盘入库任务 | 2563 | * 完成空托盘入库任务 |
2558 | - * @param taskHeader 任务 | ||
2559 | - * @return Result 完成入库任务结果 | 2564 | + * |
2565 | + * @param taskHeader 任务 | ||
2566 | + * @return Result 完成入库任务结果 | ||
2560 | */ | 2567 | */ |
2561 | @Override | 2568 | @Override |
2562 | @Transactional(rollbackFor = Exception.class) | 2569 | @Transactional(rollbackFor = Exception.class) |
@@ -2575,7 +2582,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2575,7 +2582,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2575 | return Result.error("完成空托盘入库任务时, 目标库位编码为空"); | 2582 | return Result.error("完成空托盘入库任务时, 目标库位编码为空"); |
2576 | } | 2583 | } |
2577 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT, | 2584 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT, |
2578 | - containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); | 2585 | + containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); |
2579 | if (!result.isSuccess()) { | 2586 | if (!result.isSuccess()) { |
2580 | throw new JeecgBootException(result.getMessage()); | 2587 | throw new JeecgBootException(result.getMessage()); |
2581 | } | 2588 | } |
@@ -2590,7 +2597,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2590,7 +2597,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2590 | /** | 2597 | /** |
2591 | * 盘点完成 | 2598 | * 盘点完成 |
2592 | * 盘点有差异完成时状态为105 | 2599 | * 盘点有差异完成时状态为105 |
2593 | - * @param taskHeader | 2600 | + * |
2601 | + * @param taskHeader | ||
2594 | * @return | 2602 | * @return |
2595 | */ | 2603 | */ |
2596 | @Override | 2604 | @Override |
@@ -2870,7 +2878,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2870,7 +2878,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2870 | cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode()); | 2878 | cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode()); |
2871 | 2879 | ||
2872 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT, | 2880 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT, |
2873 | - containerCode, fromLocationCode, toLocationCode, warehouseCode); | 2881 | + containerCode, fromLocationCode, toLocationCode, warehouseCode); |
2874 | if (!result.isSuccess()) { | 2882 | if (!result.isSuccess()) { |
2875 | throw new JeecgBootException(result.getMessage()); | 2883 | throw new JeecgBootException(result.getMessage()); |
2876 | } | 2884 | } |
@@ -2884,8 +2892,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2884,8 +2892,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2884 | 2892 | ||
2885 | /** | 2893 | /** |
2886 | * 完成空托盘出库任务 | 2894 | * 完成空托盘出库任务 |
2887 | - * @param taskHeader 任务 | ||
2888 | - * @return Result 完成出库任务结果 | 2895 | + * |
2896 | + * @param taskHeader 任务 | ||
2897 | + * @return Result 完成出库任务结果 | ||
2889 | */ | 2898 | */ |
2890 | @Override | 2899 | @Override |
2891 | @Transactional(rollbackFor = Exception.class) | 2900 | @Transactional(rollbackFor = Exception.class) |
@@ -2921,7 +2930,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2921,7 +2930,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2921 | return Result.error("完成空托盘出库任务时," + toPortCode + "目标出库口不存在"); | 2930 | return Result.error("完成空托盘出库任务时," + toPortCode + "目标出库口不存在"); |
2922 | } | 2931 | } |
2923 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, | 2932 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, |
2924 | - containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode); | 2933 | + containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode); |
2925 | if (!result.isSuccess()) { | 2934 | if (!result.isSuccess()) { |
2926 | throw new JeecgBootException(result.getMessage()); | 2935 | throw new JeecgBootException(result.getMessage()); |
2927 | } | 2936 | } |
@@ -2935,8 +2944,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2935,8 +2944,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2935 | 2944 | ||
2936 | /** | 2945 | /** |
2937 | * 完成移库任务 | 2946 | * 完成移库任务 |
2938 | - * @param taskHeader 任务 | ||
2939 | - * @return Result 完成移库任务结果 | 2947 | + * |
2948 | + * @param taskHeader 任务 | ||
2949 | + * @return Result 完成移库任务结果 | ||
2940 | */ | 2950 | */ |
2941 | @Override | 2951 | @Override |
2942 | @Transactional(rollbackFor = Exception.class) | 2952 | @Transactional(rollbackFor = Exception.class) |
@@ -2963,7 +2973,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2963,7 +2973,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2963 | List<InventoryTransaction> inventoryTransactionList = new ArrayList<>(); | 2973 | List<InventoryTransaction> inventoryTransactionList = new ArrayList<>(); |
2964 | LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate(); | 2974 | LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate(); |
2965 | inventoryDetailLambdaUpdateWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode) | 2975 | inventoryDetailLambdaUpdateWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode) |
2966 | - .eq(InventoryDetail::getLocationCode, fromLocationCode); | 2976 | + .eq(InventoryDetail::getLocationCode, fromLocationCode); |
2967 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaUpdateWrapper); | 2977 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaUpdateWrapper); |
2968 | for (InventoryDetail inventoryDetail : inventoryDetailList) { | 2978 | for (InventoryDetail inventoryDetail : inventoryDetailList) { |
2969 | inventoryDetail.setLocationCode(toLocationCode); | 2979 | inventoryDetail.setLocationCode(toLocationCode); |
@@ -2994,7 +3004,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -2994,7 +3004,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
2994 | } | 3004 | } |
2995 | } | 3005 | } |
2996 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_TRANSFER, | 3006 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_TRANSFER, |
2997 | - containerCode, fromLocationCode, toLocationCode, warehouseCode); | 3007 | + containerCode, fromLocationCode, toLocationCode, warehouseCode); |
2998 | if (!result.isSuccess()) { | 3008 | if (!result.isSuccess()) { |
2999 | throw new JeecgBootException(result.getMessage()); | 3009 | throw new JeecgBootException(result.getMessage()); |
3000 | } | 3010 | } |
@@ -3008,8 +3018,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3008,8 +3018,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3008 | 3018 | ||
3009 | /** | 3019 | /** |
3010 | * 完成出库查看任务 | 3020 | * 完成出库查看任务 |
3011 | - * @param taskHeader 任务 | ||
3012 | - * @return Result 完成出库查看任务结果 | 3021 | + * |
3022 | + * @param taskHeader 任务 | ||
3023 | + * @return Result 完成出库查看任务结果 | ||
3013 | */ | 3024 | */ |
3014 | @Override | 3025 | @Override |
3015 | @Transactional(rollbackFor = Exception.class) | 3026 | @Transactional(rollbackFor = Exception.class) |
@@ -3040,7 +3051,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3040,7 +3051,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3040 | boolean success = false; | 3051 | boolean success = false; |
3041 | LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaUpdate(); | 3052 | LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaUpdate(); |
3042 | inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode) | 3053 | inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode) |
3043 | - .eq(InventoryDetail::getLocationCode, fromLocationCode); | 3054 | + .eq(InventoryDetail::getLocationCode, fromLocationCode); |
3044 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); | 3055 | List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper); |
3045 | if (inventoryDetailList.size() != 0) { | 3056 | if (inventoryDetailList.size() != 0) { |
3046 | List<InventoryDetail> inventoryDetailList1 = new ArrayList<>(); | 3057 | List<InventoryDetail> inventoryDetailList1 = new ArrayList<>(); |
@@ -3067,7 +3078,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3067,7 +3078,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3067 | } | 3078 | } |
3068 | 3079 | ||
3069 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT, | 3080 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT, |
3070 | - containerCode, fromLocationCode, toLocationCode, warehouseCode); | 3081 | + containerCode, fromLocationCode, toLocationCode, warehouseCode); |
3071 | if (!result.isSuccess()) { | 3082 | if (!result.isSuccess()) { |
3072 | throw new JeecgBootException(result.getMessage()); | 3083 | throw new JeecgBootException(result.getMessage()); |
3073 | } | 3084 | } |
@@ -3082,8 +3093,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3082,8 +3093,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3082 | 3093 | ||
3083 | /** | 3094 | /** |
3084 | * 完成跨站任务 | 3095 | * 完成跨站任务 |
3085 | - * @param taskHeader 任务 | ||
3086 | - * @return Result 完成跨站任务结果 | 3096 | + * |
3097 | + * @param taskHeader 任务 | ||
3098 | + * @return Result 完成跨站任务结果 | ||
3087 | */ | 3099 | */ |
3088 | @Override | 3100 | @Override |
3089 | @Transactional(rollbackFor = Exception.class) | 3101 | @Transactional(rollbackFor = Exception.class) |
@@ -3118,7 +3130,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3118,7 +3130,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3118 | return Result.error("创建跨站任务时,目标站台为空"); | 3130 | return Result.error("创建跨站任务时,目标站台为空"); |
3119 | } | 3131 | } |
3120 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_OVER_STATION, | 3132 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_OVER_STATION, |
3121 | - containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); | 3133 | + containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode); |
3122 | if (!result.isSuccess()) { | 3134 | if (!result.isSuccess()) { |
3123 | throw new JeecgBootException(result.getMessage()); | 3135 | throw new JeecgBootException(result.getMessage()); |
3124 | } | 3136 | } |
@@ -3133,8 +3145,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3133,8 +3145,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3133 | 3145 | ||
3134 | /** | 3146 | /** |
3135 | * 完成空托盘组入库任务 | 3147 | * 完成空托盘组入库任务 |
3136 | - * @param taskHeader 任务 | ||
3137 | - * @return Result 完成空托盘组入库任务结果 | 3148 | + * |
3149 | + * @param taskHeader 任务 | ||
3150 | + * @return Result 完成空托盘组入库任务结果 | ||
3138 | */ | 3151 | */ |
3139 | @Override | 3152 | @Override |
3140 | @Transactional(rollbackFor = Exception.class) | 3153 | @Transactional(rollbackFor = Exception.class) |
@@ -3161,7 +3174,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3161,7 +3174,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3161 | return Result.error("完成空托盘组入库任务时,没有找到库位" + toLocationCode); | 3174 | return Result.error("完成空托盘组入库任务时,没有找到库位" + toLocationCode); |
3162 | } | 3175 | } |
3163 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, | 3176 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, |
3164 | - containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); | 3177 | + containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode); |
3165 | if (!result.isSuccess()) { | 3178 | if (!result.isSuccess()) { |
3166 | throw new JeecgBootException(result.getMessage()); | 3179 | throw new JeecgBootException(result.getMessage()); |
3167 | } | 3180 | } |
@@ -3176,8 +3189,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3176,8 +3189,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3176 | 3189 | ||
3177 | /** | 3190 | /** |
3178 | * 完成空托盘组出库任务 | 3191 | * 完成空托盘组出库任务 |
3179 | - * @param taskHeader 任务 | ||
3180 | - * @return Result 完成空托盘组出库任务结果 | 3192 | + * |
3193 | + * @param taskHeader 任务 | ||
3194 | + * @return Result 完成空托盘组出库任务结果 | ||
3181 | */ | 3195 | */ |
3182 | @Override | 3196 | @Override |
3183 | @Transactional(rollbackFor = Exception.class) | 3197 | @Transactional(rollbackFor = Exception.class) |
@@ -3222,7 +3236,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3222,7 +3236,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3222 | throw new JeecgBootException("完成空托盘组出库任务时, 更新任务失败"); | 3236 | throw new JeecgBootException("完成空托盘组出库任务时, 更新任务失败"); |
3223 | } | 3237 | } |
3224 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, | 3238 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, |
3225 | - containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode); | 3239 | + containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode); |
3226 | if (!result.isSuccess()) { | 3240 | if (!result.isSuccess()) { |
3227 | throw new JeecgBootException(result.getMessage()); | 3241 | throw new JeecgBootException(result.getMessage()); |
3228 | } | 3242 | } |
@@ -3361,7 +3375,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3361,7 +3375,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3361 | } | 3375 | } |
3362 | } | 3376 | } |
3363 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_QUALITY, | 3377 | Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_QUALITY, |
3364 | - containerCode, fromLocationCode, toLocationCode, warehouseCode); | 3378 | + containerCode, fromLocationCode, toLocationCode, warehouseCode); |
3365 | if (!result.isSuccess()) { | 3379 | if (!result.isSuccess()) { |
3366 | throw new JeecgBootException(result.getMessage()); | 3380 | throw new JeecgBootException(result.getMessage()); |
3367 | } | 3381 | } |
@@ -3375,8 +3389,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3375,8 +3389,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3375 | 3389 | ||
3376 | /** | 3390 | /** |
3377 | * 取消入库任务 | 3391 | * 取消入库任务 |
3378 | - * @param taskHeader 任务 | ||
3379 | - * @return Result 取消入库任务结果 | 3392 | + * |
3393 | + * @param taskHeader 任务 | ||
3394 | + * @return Result 取消入库任务结果 | ||
3380 | */ | 3395 | */ |
3381 | @Override | 3396 | @Override |
3382 | @Transactional(rollbackFor = Exception.class) | 3397 | @Transactional(rollbackFor = Exception.class) |
@@ -3395,8 +3410,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3395,8 +3410,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3395 | 3410 | ||
3396 | /** | 3411 | /** |
3397 | * 取消出库任务 | 3412 | * 取消出库任务 |
3398 | - * @param taskHeader 任务 | ||
3399 | - * @return Result 取消出库任务结果 | 3413 | + * |
3414 | + * @param taskHeader 任务 | ||
3415 | + * @return Result 取消出库任务结果 | ||
3400 | */ | 3416 | */ |
3401 | @Override | 3417 | @Override |
3402 | @Transactional(rollbackFor = Exception.class) | 3418 | @Transactional(rollbackFor = Exception.class) |
@@ -3418,7 +3434,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3418,7 +3434,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3418 | log.info("开始取消盘点任务"); | 3434 | log.info("开始取消盘点任务"); |
3419 | LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | 3435 | LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); |
3420 | cycleCountDetailLambdaQueryWrapper.eq(CycleCountDetail::getContainerCode, taskHeader.getContainerCode()).ne(CycleCountDetail::getEnableStatus, | 3436 | cycleCountDetailLambdaQueryWrapper.eq(CycleCountDetail::getContainerCode, taskHeader.getContainerCode()).ne(CycleCountDetail::getEnableStatus, |
3421 | - QuantityConstant.SHIPMENT_RECEIVE_SUCCESS); | 3437 | + QuantityConstant.SHIPMENT_RECEIVE_SUCCESS); |
3422 | CycleCountDetail cycleCountDetail = cycleCountDetailService.getOne(cycleCountDetailLambdaQueryWrapper); | 3438 | CycleCountDetail cycleCountDetail = cycleCountDetailService.getOne(cycleCountDetailLambdaQueryWrapper); |
3423 | if (cycleCountDetail == null) { | 3439 | if (cycleCountDetail == null) { |
3424 | throw new JeecgBootException("取消盘点任务,没有找到盘点明细"); | 3440 | throw new JeecgBootException("取消盘点任务,没有找到盘点明细"); |
@@ -3474,7 +3490,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3474,7 +3490,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3474 | 3490 | ||
3475 | /** | 3491 | /** |
3476 | * 取消任务,恢复容器和库位状态 | 3492 | * 取消任务,恢复容器和库位状态 |
3477 | - * @param taskHeader | 3493 | + * |
3494 | + * @param taskHeader | ||
3478 | * @return | 3495 | * @return |
3479 | */ | 3496 | */ |
3480 | @Override | 3497 | @Override |
@@ -3526,12 +3543,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | @@ -3526,12 +3543,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea | ||
3526 | public boolean updateById(TaskHeader taskHeader) { | 3543 | public boolean updateById(TaskHeader taskHeader) { |
3527 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); | 3544 | LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); |
3528 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskHeader.getId()).lt(taskHeader.getStatus() != null, TaskHeader::getStatus, | 3545 | taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskHeader.getId()).lt(taskHeader.getStatus() != null, TaskHeader::getStatus, |
3529 | - QuantityConstant.TASK_STATUS_COMPLETED); | 3546 | + QuantityConstant.TASK_STATUS_COMPLETED); |
3530 | return super.update(taskHeader, taskHeaderLambdaQueryWrapper); | 3547 | return super.update(taskHeader, taskHeaderLambdaQueryWrapper); |
3531 | } | 3548 | } |
3532 | - | ||
3533 | - @Override | ||
3534 | - public List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName) { | ||
3535 | - return super.baseMapper.selectPerformanceAssessment(realName); | ||
3536 | - } | ||
3537 | } | 3549 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/TaskHeaderHistoryMapper.java
1 | package org.jeecg.modules.wms.task.taskHeaderHistory.mapper; | 1 | package org.jeecg.modules.wms.task.taskHeaderHistory.mapper; |
2 | 2 | ||
3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
4 | +import org.apache.ibatis.annotations.Param; | ||
5 | +import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto; | ||
4 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; | 6 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; |
5 | 7 | ||
8 | +import java.util.List; | ||
9 | + | ||
6 | /** | 10 | /** |
7 | * @Description: task_header_history | 11 | * @Description: task_header_history |
8 | * @Author: jeecg-boot | 12 | * @Author: jeecg-boot |
@@ -11,4 +15,13 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; | @@ -11,4 +15,13 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; | ||
11 | */ | 15 | */ |
12 | public interface TaskHeaderHistoryMapper extends BaseMapper<TaskHeaderHistory> { | 16 | public interface TaskHeaderHistoryMapper extends BaseMapper<TaskHeaderHistory> { |
13 | 17 | ||
18 | + /** | ||
19 | + * 绩效考核报表查询 | ||
20 | + * @param realName 用户姓名 | ||
21 | + * @param taskTypeList 任务类型 | ||
22 | + * @return 绩效考核报表信息 | ||
23 | + */ | ||
24 | + List<ReportPerformanceAssessmentDto> selectPerformanceAssessment(@Param("realName") String realName, | ||
25 | + @Param("receiptTaskInternalType") Integer receiptTaskInternalType, | ||
26 | + @Param("shipmentTaskInternalType") Integer shipmentTaskInternalType); | ||
14 | } | 27 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/xml/TaskHeaderHistoryMapper.xml
@@ -2,4 +2,24 @@ | @@ -2,4 +2,24 @@ | ||
2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | <mapper namespace="org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper"> | 3 | <mapper namespace="org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper"> |
4 | 4 | ||
5 | + <select id="selectPerformanceAssessment" | ||
6 | + resultType="org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto"> | ||
7 | + SELECT sys_user.realname, | ||
8 | + COUNT(task_header_history.create_by) AS sumTaskQty, | ||
9 | + COUNT(IF((task_header_history.innernal_task_type = #{receiptTaskInternalType}), | ||
10 | + task_header_history.create_by, NULL)) AS receiptTaskQty, | ||
11 | + COUNT(IF((task_header_history.innernal_task_type = #{shipmentTaskInternalType}), | ||
12 | + task_header_history.create_by, NULL)) AS shipmentTaskQty | ||
13 | + FROM sys_user | ||
14 | + LEFT JOIN task_header_history ON sys_user.realname = task_header_history.create_by | ||
15 | + and task_header_history.innernal_task_type IN | ||
16 | + (#{receiptTaskInternalType}, #{shipmentTaskInternalType}) | ||
17 | + <where> | ||
18 | + <if test="realName != null and realName != ''"> | ||
19 | + <bind name="realName" value="'%' + realName + '%'"/> | ||
20 | + and sys_user.realname LIKE #{realName} | ||
21 | + </if> | ||
22 | + </where> | ||
23 | + GROUP BY sys_user.realname | ||
24 | + </select> | ||
5 | </mapper> | 25 | </mapper> |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/ITaskHeaderHistoryService.java
1 | package org.jeecg.modules.wms.task.taskHeaderHistory.service; | 1 | package org.jeecg.modules.wms.task.taskHeaderHistory.service; |
2 | import com.baomidou.mybatisplus.extension.service.IService; | 2 | import com.baomidou.mybatisplus.extension.service.IService; |
3 | +import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto; | ||
3 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskDetailHistory; | 4 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskDetailHistory; |
4 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; | 5 | import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory; |
5 | 6 | ||
@@ -39,4 +40,10 @@ public interface ITaskHeaderHistoryService extends IService<TaskHeaderHistory> { | @@ -39,4 +40,10 @@ public interface ITaskHeaderHistoryService extends IService<TaskHeaderHistory> { | ||
39 | 40 | ||
40 | void saveById(Integer id); | 41 | void saveById(Integer id); |
41 | 42 | ||
43 | + /** | ||
44 | + * 绩效考核报表查询:只包含入库(整盘入库、补充入库、空容器入库)与出库(整盘出库、分拣出库、空容器出库)类型的 | ||
45 | + * @param realName 用户姓名 | ||
46 | + * @return 绩效考核报表信息 | ||
47 | + */ | ||
48 | + List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName); | ||
42 | } | 49 | } |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/impl/TaskHeaderHistoryServiceImpl.java
1 | package org.jeecg.modules.wms.task.taskHeaderHistory.service.impl; | 1 | package org.jeecg.modules.wms.task.taskHeaderHistory.service.impl; |
2 | 2 | ||
3 | import java.io.Serializable; | 3 | import java.io.Serializable; |
4 | +import java.util.ArrayList; | ||
4 | import java.util.Collection; | 5 | import java.util.Collection; |
5 | import java.util.List; | 6 | import java.util.List; |
6 | 7 | ||
7 | import javax.annotation.Resource; | 8 | import javax.annotation.Resource; |
8 | 9 | ||
10 | +import cn.hutool.core.collection.ListUtil; | ||
9 | import org.jeecg.common.exception.JeecgBootException; | 11 | import org.jeecg.common.exception.JeecgBootException; |
12 | +import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto; | ||
10 | import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail; | 13 | import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail; |
11 | import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; | 14 | import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader; |
12 | import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService; | 15 | import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService; |
@@ -17,6 +20,7 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskDetailHistoryMapp | @@ -17,6 +20,7 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskDetailHistoryMapp | ||
17 | import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper; | 20 | import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper; |
18 | import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskDetailHistoryService; | 21 | import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskDetailHistoryService; |
19 | import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskHeaderHistoryService; | 22 | import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskHeaderHistoryService; |
23 | +import org.jeecg.utils.constant.QuantityConstant; | ||
20 | import org.springframework.beans.BeanUtils; | 24 | import org.springframework.beans.BeanUtils; |
21 | import org.springframework.beans.factory.annotation.Autowired; | 25 | import org.springframework.beans.factory.annotation.Autowired; |
22 | import org.springframework.stereotype.Service; | 26 | import org.springframework.stereotype.Service; |
@@ -112,4 +116,9 @@ public class TaskHeaderHistoryServiceImpl extends ServiceImpl<TaskHeaderHistoryM | @@ -112,4 +116,9 @@ public class TaskHeaderHistoryServiceImpl extends ServiceImpl<TaskHeaderHistoryM | ||
112 | } | 116 | } |
113 | 117 | ||
114 | } | 118 | } |
119 | + | ||
120 | + @Override | ||
121 | + public List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName) { | ||
122 | + return super.baseMapper.selectPerformanceAssessment(realName, QuantityConstant.TASK_INTENERTYPE_RECEIPT, QuantityConstant.TASK_INTENERTYPE_SHIPMENT); | ||
123 | + } | ||
115 | } | 124 | } |