From f89ac94bec8d04c9a83252255a134e53bb2d9fa0 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 26 Jul 2024 10:37:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=89=98=E7=9B=98=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1=E6=A0=A1=E9=AA=8C=EF=BC=9B?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=8D=95=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E7=9B=98=E7=82=B9=E5=8D=95=E4=BF=AE=E6=94=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/common/utils/SpringContextHolder.java | 1 - .../handler/impl/PalletInStorageTask.java | 7 ++++ .../move/controller/MovingController.java | 12 +++++- .../move/service/MovingService.java | 38 ++++++++++++++++++- .../dao/mapper/xml/StIvtStructattrMapper.xml | 6 +-- .../views/wms/base_manage/struct/index.vue | 6 ++- .../storIvtInfo/StructAttrDialog.vue | 8 +++- .../warehouse/checkStorage/AddDialog.vue | 14 ++++++- .../stor_manage/warehouse/move/AddDialog.vue | 33 +++++++++++----- .../wms/stor_manage/warehouse/move/move.js | 4 +- 10 files changed, 105 insertions(+), 24 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java index a12a3237..e66463db 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpringContextHolder.java @@ -132,7 +132,6 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - log.warn("自动注入bean工具"); if (SpringContextHolder.applicationContext != null) { log.warn("SpringContextHolder中的ApplicationContext被覆盖, 原有ApplicationContext为:" + SpringContextHolder.applicationContext); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/PalletInStorageTask.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/PalletInStorageTask.java index e0137c35..89d035be 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/PalletInStorageTask.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/PalletInStorageTask.java @@ -64,6 +64,13 @@ public class PalletInStorageTask extends AbstractTask { if (StringUtils.isEmpty(currentInstId)){ throw new BadRequestException("申请任务失败:载具"+vehicle_code+"未创建入库流程"); } + + SchBaseTask schBaseTask = iSchBaseTaskService.getOne(new QueryWrapper() + .eq("vehicle_code", vehicle_code).select("task_code") + .lt("status",StatusEnum.FORM_STATUS.code("完成"))); + if (schBaseTask!=null){ + throw new BadRequestException("申请任务失败:载具"+vehicle_code+"已经存任务"+schBaseTask.getTask_code()); + } ActRuExecution execution = iActRuExecutionService.getById(currentInstId); if (execution == null){ throw new BadRequestException("申请任务失败:载具"+vehicle_code+"流程信息不存在"+currentInstId); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/controller/MovingController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/controller/MovingController.java index 1b9d292f..e37ca756 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/controller/MovingController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/controller/MovingController.java @@ -1,10 +1,11 @@ package org.nl.wms.stor_manage.move.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import org.apache.ibatis.annotations.Update; import org.nl.common.TableDataInfo; +import org.nl.common.anno.Log; import org.nl.common.domain.entity.PageQuery; import org.nl.wms.pm_manage.form_data.service.IPmFormDataService; import org.nl.wms.pm_manage.form_data.service.dao.PmFormData; @@ -45,11 +46,18 @@ public class MovingController { return new ResponseEntity<>(iPmFormDataService.getSonDtlFormData(id),HttpStatus.OK); } - @PostMapping("/save") + @PostMapping("") + @Log("新增移库单") public ResponseEntity save(@RequestBody JSONObject params) { movingService.save(params); return new ResponseEntity<>(HttpStatus.OK); } + @PutMapping + @Log("修改移库单") + public ResponseEntity update(@RequestBody JSONObject params) { + movingService.update(params); + return new ResponseEntity<>(HttpStatus.OK); + } @PostMapping("/updateStatus") public ResponseEntity updateStatus(@RequestBody JSONObject param) { //TODO:明细校验 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/service/MovingService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/service/MovingService.java index a1f62502..54c7d16b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/service/MovingService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/move/service/MovingService.java @@ -29,9 +29,12 @@ import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.function.BiConsumer; +import java.util.function.Function; import java.util.stream.Collectors; /* @@ -87,13 +90,46 @@ public class MovingService { .set("lock_type", StatusEnum.LOCK.code("移库锁")) .in("struct_code",structs)); } + @Transactional + public void update(JSONObject form){ + Assert.noNullElements(new Object[]{form,form.getString("id")},"请求参数不能为空"); + String user = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + iFormDataService.update(new UpdateWrapper() + .eq("id",form.getString("id")) + .set("remark",form.getString("remark")) + .set("update_time",now) + .set("update_name",user)); + List items = (List) form.get("item"); + Set structs = new HashSet<>(); + Set release = new HashSet<>(); + + for (Object itemO : items) { + JSONObject itemJ = new JSONObject((Map) itemO); + PmFormData dtl = itemJ.toJavaObject(PmFormData.class); + String end_struct_code = dtl.getForm_data().getString("end_struct_code"); + PmFormData byId = iFormDataService.getById(dtl.getId()); + if (!end_struct_code.equals(byId.getForm_data().getString("end_struct_code"))){ + release.add(byId.getForm_data().getString("end_struct_code")); + structs.add(end_struct_code); + } + } + if (!CollectionUtils.isEmpty(structs)){ + iStIvtStructattrService.update(new UpdateWrapper() + .set("lock_type", StatusEnum.LOCK.code("移库锁")) + .in("struct_code",structs)); + iStIvtStructattrService.update(new UpdateWrapper() + .set("lock_type", StatusEnum.LOCK.code("无锁")) + .in("struct_code",release)); + } + } /** * 删除移库单 * @param ids */ @Transactional - public void delete(String[] ids){ + public void delete(String...ids){ if (ids.length>0){ List dtls = iFormDataService.getByParentId(ids); List removeCollect = dtls.stream().map(PmFormData::getId).collect(Collectors.toList()); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/dao/mapper/xml/StIvtStructattrMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/dao/mapper/xml/StIvtStructattrMapper.xml index 60fade53..863c84d7 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/dao/mapper/xml/StIvtStructattrMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/dao/mapper/xml/StIvtStructattrMapper.xml @@ -13,13 +13,9 @@ md_me_materialbase.material_name, md_me_materialbase.material_code, md_me_materialbase.material_spec, - struct.*, - sect.sect_name, - stor.stor_name + struct.* FROM st_ivt_structattr struct - left join st_ivt_sectattr sect on sect.sect_id = struct.sect_code - left join st_ivt_bsrealstorattr stor on struct.stor_code = stor.stor_code left join md_pb_vehicleMater on struct.vehicle_code = md_pb_vehicleMater.vehicle_code left JOIN md_me_materialbase on md_pb_vehicleMater.material_id = md_me_materialbase.material_id diff --git a/wms_pro/qd/src/views/wms/base_manage/struct/index.vue b/wms_pro/qd/src/views/wms/base_manage/struct/index.vue index 95b74d23..624fdaee 100644 --- a/wms_pro/qd/src/views/wms/base_manage/struct/index.vue +++ b/wms_pro/qd/src/views/wms/base_manage/struct/index.vue @@ -214,7 +214,11 @@ {{ tableEnum.label.st_ivt_sectattr[scope.row.sect_code] }} - + + + - + + + @@ -130,7 +134,7 @@ export default { }}) }, mixins: [presenter(), header()], - tableEnums: [ 'bm_measure_unit#unit_name#unit_id','st_ivt_sectattr#sect_name#sect_code' ], + tableEnums: [ 'bm_measure_unit#unit_name#unit_id','st_ivt_bsrealstorattr#stor_name#stor_code','st_ivt_sectattr#sect_name#sect_code' ], statusEnums: [ 'LOCK' ], props: { dialogShow: { diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue index 0d2ebd98..71825b28 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue @@ -239,6 +239,19 @@ export default { this.dis_flag = true } }, + [CRUD.HOOK.beforeCrudToCU]() { + this.$refs['form'].validate((valid) => { + if (valid) { + return true + }else { + return false + } + }) + if (this.tableData.length === 0) { + this.crud.notify('请至少选择一条明细', CRUD.NOTIFICATION_TYPE.INFO) + return false + } + }, submitCU() { // 提交前校验 this.$refs['form'].validate((valid) => { @@ -260,7 +273,6 @@ export default { this.crud.toQuery() }) }, - deleteRow(index, rows) { rows.splice(index, 1) }, diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/AddDialog.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/AddDialog.vue index bf62d302..420f26ec 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/AddDialog.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/AddDialog.vue @@ -109,7 +109,7 @@ @@ -156,6 +156,7 @@ import StructAttrDialog from '@/views/wms/stor_manage/storIvtInfo/StructAttrDial import StructAttrDialog2 from '@/views/wms/stor_manage/storIvtInfo/StructAttrDialog' import formstruc from '@/views/wms/config_manage/formStruc/formstruc' import crudMove from '@/views/wms/stor_manage/warehouse/move/move' +import crudFormData, {getSonFormData} from './formData' const defaultForm = { id: '', @@ -277,14 +278,22 @@ export default { return false } this.form.item = this.tableData - crudMove.add(this.form).then(res => { - this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - this.close() - this.dialogVisible - this.crud.toQuery() - }) + if (!this.form.id){ + crudMove.add(this.form).then(res => { + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.close() + this.dialogVisible + this.crud.toQuery() + }) + }else { + crudMove.edit(this.form).then(res => { + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.close() + this.dialogVisible + this.crud.toQuery() + }) + } }, - deleteRow(index, rows) { rows.splice(index, 1) }, @@ -332,7 +341,13 @@ export default { this.endStructs.push(end_struct_code) this.$set(this.tableData[this.currentIndex].form_data,"end_struct_code",end_struct_code) } - } + }, + [CRUD.HOOK.beforeToEdit]() { + // 获取入库单明细 + crudFormData.getSonFormData(this.form.id).then(res => { + this.tableData = res + }) + }, } } diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/move.js b/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/move.js index c904b31a..15dd8975 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/move.js +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/move/move.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function add(data) { return request({ - url: '/api/move/save', + url: '/api/move', method: 'post', data }) @@ -19,7 +19,7 @@ export function del(ids) { export function edit(data) { return request({ url: 'api/move', - method: 'post', + method: 'put', data }) }