From 1e9ed26ac9272f7ed84e27b85abd4f971f75e6cf Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Sat, 3 Jun 2023 09:56:18 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E6=96=B0=E5=A2=9E=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=8B=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/enums/AcsTaskEnum.java | 2 + .../nl/common/publish/event/PointEvent.java | 4 +- .../nl/common/publish/event/TaskEvent.java | 26 + .../acs/service/impl/AcsToWmsServiceImpl.java | 17 +- .../wms/product_manage/sch/PointListener.java | 50 ++ .../service/point/PointListener.java | 16 - .../task/impl/SchBaseTaskServiceImpl.java | 3 + .../org/nl/wms/storage_manage/SHUTEnum.java | 2 +- .../check/IStIvtCheckmstYlService.java | 4 + .../impl/StIvtCheckmstYlServiceImpl.java | 10 + .../semimanage/BcpTaskListener.java | 25 + .../semimanage/FunctionStrategy.java | 11 + .../storage_manage/semimanage/TASKEnum.java | 50 ++ .../StIvtIostorinvBcpOutController.java | 6 +- .../StIvtShutframeinvBcpController.java | 8 + .../IStIvtIostorinvBcpOutService.java | 10 + .../iostorInv/IStIvtIostorinvBcpService.java | 2 + .../impl/StIvtIostorinvBcpOutServiceImpl.java | 52 +- .../impl/StIvtIostorinvBcpServiceImpl.java | 41 +- .../IStIvtShutframeinvBcpService.java | 4 + .../impl/StIvtShutframeinvBcpServiceImpl.java | 83 +++ .../rawproduct/rawProductIn/AddDialog.vue | 116 ++-- .../rawproduct/rawProductIn/AddDtl.vue | 30 +- .../rawproduct/rawProductIn/DivDialog.vue | 526 ------------------ .../rawproduct/rawProductIn/ViewDialog.vue | 50 +- .../rawproduct/rawProductIn/index.vue | 16 +- .../rawproduct/rawProductIn/rawproductin.js | 104 ---- .../semiproduct/semiproductout/AddDialog.vue | 8 +- .../semiproduct/semiproductout/ViewDialog.vue | 4 +- 29 files changed, 519 insertions(+), 761 deletions(-) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/TaskEvent.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/PointListener.java delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/point/PointListener.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/BcpTaskListener.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/FunctionStrategy.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java delete mode 100644 mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/DivDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java index 3804c024..a181448e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java @@ -34,6 +34,8 @@ public enum AcsTaskEnum { TASK_WARP_EMPTY("8","包装机-送空框"), TASK_STRUCT_IN("9","入库-生产入库"), TASK_STRUCT_OUT("10","出库-生产出库"), + TASK_STRUCT_CHECK("11","盘点任务"), + TASK_STRUCT_SHUT("12","拼盘任务"), //回调状态 STATUS_START("1","执行中"), diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/PointEvent.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/PointEvent.java index 34ec253f..f012a246 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/PointEvent.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/PointEvent.java @@ -1,7 +1,6 @@ package org.nl.common.publish.event; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; @@ -22,6 +21,9 @@ public class PointEvent extends PublishEvent { private String type; private String point_code1; private String point_code2; + private String vehicle_code; + private String product_area; + private String task_group_id; private Map extParam; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/TaskEvent.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/TaskEvent.java new file mode 100644 index 00000000..b146a894 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/publish/event/TaskEvent.java @@ -0,0 +1,26 @@ +package org.nl.common.publish.event; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Map; + + +/* + * @author ZZQ + * @Date 2023/4/28 13:50 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class TaskEvent extends PublishEvent { + + private String status; + private String task_type; + private String task_id; + private Map extParam; + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index e44ed236..59598c2b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -10,6 +10,9 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.enums.StatusEnum; import org.nl.common.enums.WorkerOrderEnum; +import org.nl.common.publish.BussEventMulticaster; +import org.nl.common.publish.event.PointEvent; +import org.nl.common.publish.event.TaskEvent; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; import org.nl.common.utils.OptionRecord; @@ -25,6 +28,7 @@ import org.nl.wms.product_manage.sch.service.dto.TaskDto; import org.nl.wms.product_manage.sch.tasks.WashMachineryTask; import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService; import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder; +import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.http.HttpStatus; @@ -39,6 +43,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import java.util.function.Consumer; @Service @Slf4j @@ -125,8 +130,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{ String status = row.getString("status"); // 任务处理类 try { - AbstractAcsTask taskHandler = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class)); - taskHandler.updateTaskStatus(row,status); + //发布一个任务执行事件 + TaskEvent event = TaskEvent.builder() + .task_id(task_id) + .task_type(taskDto.getTask_type()) + .status(status) + .build(); + BussEventMulticaster.Publish(event); + + /*AbstractAcsTask taskHandler = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class)); + taskHandler.updateTaskStatus(row,status);*/ } catch (Exception e) { log.info("任务状态更新失败:{}", e.getMessage()); JSONObject json = new JSONObject(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/PointListener.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/PointListener.java new file mode 100644 index 00000000..c650ff03 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/sch/PointListener.java @@ -0,0 +1,50 @@ +package org.nl.wms.product_manage.sch; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSONObject; +import org.nl.common.enums.AcsTaskEnum; +import org.nl.common.enums.StatusEnum; +import org.nl.common.publish.AbstraceListener; +import org.nl.common.publish.event.PointEvent; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.wms.product_manage.sch.manage.TaskStatusEnum; +import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService; +import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class PointListener extends AbstraceListener { + @Autowired + private ISchBaseTaskService taskService; + //创建任务 + @Override + protected String doEvent(PointEvent event) { + String task_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + JSONObject task = new JSONObject(); + 参数封装:{ + task.put("task_id", task_id); + task.put("task_code", CodeUtil.getNewCode("TASK_CODE")); + task.put("task_type", event.getType()); + task.put("acs_task_type", AcsTaskEnum.AGV_SYSTEM_XC.getCode()); + task.put("task_status", TaskStatusEnum.CREATED.getCode()); + task.put("point_code1", event.getPoint_code1()); + task.put("point_code2", event.getPoint_code2()); + task.put("vehicle_code", event.getVehicle_code()); + task.put("product_area",event.getProduct_area()); + task.put("task_group_id",event.getTask_group_id()); + task.put("finished_type", "1"); + task.put("is_delete", StatusEnum.LOCK_OFF.getCode()); + task.put("create_id", SecurityUtils.getCurrentUserId()); + task.put("create_name", SecurityUtils.getCurrentNickName()); + task.put("update_optid", SecurityUtils.getCurrentUserId()); + task.put("update_optname", SecurityUtils.getCurrentNickName()); + task.put("create_time", DateUtil.now()); + task.put("update_time", DateUtil.now()); + task.put("priority", "1");} + taskService.save(task.toJavaObject(SchBaseTask.class)); + return task_id; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/point/PointListener.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/point/PointListener.java deleted file mode 100644 index 23debd2c..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/point/PointListener.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.nl.wms.scheduler_manage.service.point; - -import org.nl.common.publish.AbstraceListener; -import org.nl.common.publish.event.PublishEvent; - -/* - * @author ZZQ - * @Date 2023/5/12 11:30 - */ -public class PointListener extends AbstraceListener { - //返回值用于回调 - @Override - protected String doEvent(PublishEvent event) { - return null; - } -} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/impl/SchBaseTaskServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/impl/SchBaseTaskServiceImpl.java index 16bc78ef..0147ca52 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/impl/SchBaseTaskServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/task/impl/SchBaseTaskServiceImpl.java @@ -61,6 +61,9 @@ public class SchBaseTaskServiceImpl extends ServiceImpl() + .set("task_status",StatusEnum.TASK_FINISH.getCode()) + .eq("task_id", task_id)); break; case "cancel": JSONArray cancel = new JSONArray(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/SHUTEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/SHUTEnum.java index 8df2d55a..412a5561 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/SHUTEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/SHUTEnum.java @@ -22,7 +22,7 @@ public enum SHUTEnum { //单据状态 BILL_STATUS(MapOf.of("生成", "10", "提交", "20", "执行中", "30", "确认", "60", "完成", "99")), //单据状态 - WORK_STATUS(MapOf.of("未生成", "00", "生成", "10", "执行中", "20", "确认", "30", "完成", "99")), + WORK_STATUS(MapOf.of("未生成", "00", "生成", "10", "移出中", "20", "移出确认", "30", "移回中", "40", "完成", "99")), ; private Map code; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/IStIvtCheckmstYlService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/IStIvtCheckmstYlService.java index deed9d77..bea9579d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/IStIvtCheckmstYlService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/IStIvtCheckmstYlService.java @@ -50,6 +50,10 @@ public interface IStIvtCheckmstYlService extends IService { void process1(JSONObject jo); + void taskOperate(JSONObject jo); + + void issueTask(JSONObject jo); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/impl/StIvtCheckmstYlServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/impl/StIvtCheckmstYlServiceImpl.java index 4edf33bc..bfa01a8c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/impl/StIvtCheckmstYlServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/check/impl/StIvtCheckmstYlServiceImpl.java @@ -250,6 +250,16 @@ public class StIvtCheckmstYlServiceImpl extends ServiceImpl { + + @Override + protected String doEvent(TaskEvent event) { + String task_type = event.getTask_type(); + JSONObject form = new JSONObject(); + form.put("status", event.getStatus()); + form.put("task_id", event.getTask_id()); + + for (TASKEnum value : TASKEnum.values()) { + if (value.predicate().test(task_type)) { + value.consumer().accept(form); + } + } + return null; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/FunctionStrategy.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/FunctionStrategy.java new file mode 100644 index 00000000..f1895b8f --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/FunctionStrategy.java @@ -0,0 +1,11 @@ +package org.nl.wms.storage_manage.semimanage; + +import java.util.function.Consumer; +import java.util.function.Predicate; + +public interface FunctionStrategy { + + Predicate

predicate(); + + Consumer consumer(); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java new file mode 100644 index 00000000..76aa924b --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/TASKEnum.java @@ -0,0 +1,50 @@ +package org.nl.wms.storage_manage.semimanage; + +import com.alibaba.fastjson.JSONObject; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.nl.common.enums.AcsTaskEnum; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckmstYlService; +import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService; +import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpService; +import org.nl.wms.storage_manage.semimanage.service.shutFrame.IStIvtShutframeinvBcpService; + +import java.util.function.Consumer; +import java.util.function.Predicate; + +@Getter +@AllArgsConstructor +public enum TASKEnum implements FunctionStrategy { + IN_TASK(type -> AcsTaskEnum.TASK_STRUCT_IN.getCode().equals(type), form -> { + IStIvtIostorinvBcpService bean = SpringContextHolder.getBean(IStIvtIostorinvBcpService.class); + bean.taskOperate(form); + }), + OUT_TASK(type -> AcsTaskEnum.TASK_STRUCT_OUT.getCode().equals(type), form -> { + IStIvtIostorinvBcpOutService bean = SpringContextHolder.getBean(IStIvtIostorinvBcpOutService.class); + bean.taskOperate(form); + }), + CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CHECK.getCode().equals(type), form -> { + IStIvtCheckmstYlService bean = SpringContextHolder.getBean(IStIvtCheckmstYlService.class); + bean.confirm(form); + }), + SHUT_TASK(type -> AcsTaskEnum.TASK_STRUCT_SHUT.getCode().equals(type), form -> { + IStIvtShutframeinvBcpService bean = SpringContextHolder.getBean(IStIvtShutframeinvBcpService.class); + bean.confirm(form); + }), + ; + + private final Predicate predicate; + + private final Consumer consumer; + + @Override + public Predicate predicate() { + return this.predicate; + } + + @Override + public Consumer consumer() { + return this.consumer; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/iostorInv/StIvtIostorinvBcpOutController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/iostorInv/StIvtIostorinvBcpOutController.java index e8750f83..2cf4ec16 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/iostorInv/StIvtIostorinvBcpOutController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/iostorInv/StIvtIostorinvBcpOutController.java @@ -57,11 +57,7 @@ public class StIvtIostorinvBcpOutController { @ApiOperation("删除出入库单") @PostMapping("/delete") public ResponseEntity delete(@RequestBody Long[] ids) { - if (ids.length>0){ - bcpOutService.update(new UpdateWrapper() - .set("is_delete","1") - .in("iostorinv_id",ids)); - } + bcpOutService.delete(ids); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/shutFrame/StIvtShutframeinvBcpController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/shutFrame/StIvtShutframeinvBcpController.java index be449d5a..780a7c04 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/shutFrame/StIvtShutframeinvBcpController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/controller/shutFrame/StIvtShutframeinvBcpController.java @@ -66,6 +66,14 @@ public class StIvtShutframeinvBcpController { return new ResponseEntity<>(shutframeinvBcpService.getBillDtl(jo), HttpStatus.OK); } + @PostMapping("/issueTask") + @Log("任务下发") + @ApiOperation("任务下发") + public ResponseEntity issueTask(@RequestBody JSONObject jo) { + shutframeinvBcpService.issueTask(jo); + return new ResponseEntity<>(HttpStatus.OK); + } + @PostMapping("/confirm") @Log("拼盘确认") @ApiOperation("拼盘确认") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/IStIvtIostorinvBcpOutService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/IStIvtIostorinvBcpOutService.java index 1b9b34b8..c7f32b04 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/IStIvtIostorinvBcpOutService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/IStIvtIostorinvBcpOutService.java @@ -29,6 +29,14 @@ public interface IStIvtIostorinvBcpOutService extends IService { */ String updateBill(JSONObject form); + void taskOperate(JSONObject form); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java index b466ccd3..be673443 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -11,6 +12,7 @@ import io.jsonwebtoken.lang.Assert; import org.apache.commons.lang3.StringUtils; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; +import org.nl.common.enums.AcsTaskEnum; import org.nl.common.publish.BussEventMulticaster; import org.nl.common.publish.event.PointEvent; import org.nl.common.utils.IdUtil; @@ -23,11 +25,14 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrServ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; +import org.nl.wms.product_manage.sch.manage.TaskStatusEnum; import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService; import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService; import org.nl.wms.storage_manage.productmanage.util.RuleUtil; +import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp; +import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp; import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService; import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.StIvtIostorinvBcp; import org.nl.wms.storage_manage.semimanage.service.iostorInv.dao.mapper.StIvtIostorinvBcpMapper; @@ -80,6 +85,18 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().eq("iostorinv_id", id)); + dao.setIs_delete(true); + + //仓位解锁 + structattrService.update(new UpdateWrapper().set("inv_code", "").set("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")).eq("struct_id", dao.getStruct_id())); + this.updateById(dao); + } + } + @Override @Transactional public void create(JSONObject form) { @@ -107,6 +124,12 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().lambda() + .eq(StIvtStructattr::getStruct_code, mst.getStruct_code()) + .set(StIvtStructattr::getInv_code,mst.getBill_code()) + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁"))); } } @@ -146,7 +169,7 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().eq("struct_id",mst.getStruct_id())); + structivtBcpService.remove(new QueryWrapper().eq("struct_id", mst.getStruct_id())); /*structivtflowService.recordStructivtFlow( StIvtStructivtflowDto.builder() @@ -157,6 +180,14 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().lambda() + .eq(StIvtStructattr::getStruct_code, mst.getStruct_code()) + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .set(StIvtStructattr::getInv_code,"") + .set(StIvtStructattr::getStoragevehicle_code, "")); + return null; } @@ -170,6 +201,8 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl) mst::setTask_id) .build(); BussEventMulticaster.Publish(event); @@ -207,4 +240,21 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id)); + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) { + this.update(new UpdateWrapper().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id) + .set(StIvtIostorinvBcp::getWork_status, IOSEnum.WORK_STATUS.code("完成"))); + JSONObject mst_jo = new JSONObject(); + mst_jo.put("iostorinv_id", mst.getIostorinv_id()); + this.confirm(mst_jo); + } else { + this.update(new UpdateWrapper().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id) + .set(StIvtIostorinvBcp::getWork_status, IOSEnum.WORK_STATUS.code("执行中"))); + } + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java index dbfb5157..a3dc5ca3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java @@ -4,21 +4,25 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import io.jsonwebtoken.lang.Assert; import org.apache.commons.lang3.StringUtils; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; +import org.nl.common.enums.AcsTaskEnum; import org.nl.common.publish.BussEventMulticaster; import org.nl.common.publish.event.PointEvent; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; +import org.nl.wms.product_manage.sch.manage.TaskStatusEnum; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM; import org.nl.wms.storage_manage.basedata.service.record.dto.StIvtStructivtflowDto; @@ -162,6 +166,13 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl().lambda() + .eq(StIvtStructattr::getStruct_code, mst.getStruct_code()) + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .set(StIvtStructattr::getInv_code, "") + .set(StIvtStructattr::getStoragevehicle_code, mst.getStoragevehicle_code())); + /*structivtflowService.recordStructivtFlow( StIvtStructivtflowDto.builder() .bill_code(mst.getBill_code()).change_type_scode(CHANGE_BILL_TYPE_ENUM.IOSTORINV_IN_CONFIRM).bill_table("st_ivt_iostorinv_bcp") @@ -191,7 +202,13 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl) mst::setTask_id) .build(); BussEventMulticaster.Publish(event); @@ -241,4 +260,22 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id)); + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) { + this.update(new UpdateWrapper().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id) + .set(StIvtIostorinvBcp::getWork_status, IOSEnum.WORK_STATUS.code("完成"))); + JSONObject mst_jo = new JSONObject(); + mst_jo.put("iostorinv_id", mst.getIostorinv_id()); + this.confirm(mst_jo); + } else { + this.update(new UpdateWrapper().lambda().eq(StIvtIostorinvBcp::getTask_id, task_id) + .set(StIvtIostorinvBcp::getWork_status, IOSEnum.WORK_STATUS.code("执行中"))); + } + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/IStIvtShutframeinvBcpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/IStIvtShutframeinvBcpService.java index 2cbfe111..5676ee57 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/IStIvtShutframeinvBcpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/shutFrame/IStIvtShutframeinvBcpService.java @@ -36,5 +36,9 @@ public interface IStIvtShutframeinvBcpService extends IService @@ -59,6 +70,9 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl().eq("task_id", task_id)); + + List task_list = taskService.list(new QueryWrapper() + .eq("task_group_id", task.getTask_group_id()) + .ne("task_status", StatusEnum.TASK_FINISH) + .eq("is_delete", false)); + + if (task_list.size() <= 0) { + all_finish = true; + } + + List list = shutframedtlBcpService.list(new QueryWrapper().eq("task_id", task.getTask_group_id())); + + StIvtShutframedtlBcp dtl = list.get(0); + + String work_status = dtl.getWork_status(); + if (all_finish){ + + }else { + + } + + } + + @Override + public void issueTask(JSONObject form) { + Assert.notNull(new Object[]{form, form.get("shutframeinv_id")}, "请求参数不能为空"); + + //查询可用的半成品移出点位 + List point_list = Arrays.asList(new String[]{"PP01", "PP02"}); + if (point_list.size() < 2) { + throw new BadRequestException("拼盘需要两个可用的拼盘点位!"); + } + StIvtShutframeinvBcp mst = this.getById(form.getString("shutframeinv_id")); + + List list = shutframedtlBcpService.list(new QueryWrapper().eq("shutframeinv_id", form.getString("shutframeinv_id"))); + + String task_group_id = IdUtil.getStringId(); + PointEvent event = PointEvent.builder() + .type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode()) + .point_code1(list.get(0).getTurnin_struct_code()) + .point_code2(point_list.get(0)) + .task_group_id(task_group_id) + .vehicle_code(list.get((0)).getStoragevehicle_code_in()) + .product_area(mst.getWorkshop_id()) + .build(); + + PointEvent event2 = PointEvent.builder() + .type(AcsTaskEnum.TASK_STRUCT_SHUT.getCode()) + .point_code1(list.get(0).getTurnout_struct_code()) + .point_code2(point_list.get(1)) + .vehicle_code(list.get((0)).getStoragevehicle_code()) + .product_area(mst.getWorkshop_id()) + .build(); + BussEventMulticaster.Publish(event); + BussEventMulticaster.Publish(event2); + + shutframedtlBcpService.update(new UpdateWrapper().lambda() + .set(StIvtShutframedtlBcp::getTask_id, task_group_id) + .eq(StIvtShutframedtlBcp::getShutframeinv_id, mst.getShutframeinv_id())); + } + @Override public void confirm(JSONObject form) { Assert.notNull(new Object[]{form, form.get("shutframeinv_id")}, "请求参数不能为空"); diff --git a/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/AddDialog.vue b/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/AddDialog.vue index 69d75809..c295b146 100644 --- a/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/AddDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/AddDialog.vue @@ -12,26 +12,46 @@ > - + - 保存 + 保存 关闭 - + - + - + - + - + @@ -138,7 +163,7 @@
- + - + - - + + - + - - + + - - diff --git a/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/ViewDialog.vue b/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/ViewDialog.vue index ed872468..8009ff96 100644 --- a/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/ViewDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/rawproduct/rawProductIn/ViewDialog.vue @@ -9,11 +9,18 @@ @close="close" @open="open" > - + - + - + @@ -85,12 +92,19 @@ /> - + - +
@@ -109,13 +123,13 @@ :header-cell-style="{background:'#f5f7fa',color:'#606266'}" @current-change="handleDtlCurrentChange" > - - - - - - - + + + + + + + @@ -123,7 +137,7 @@