From 95b33ac5d404b70489a1cc3c2f241e6d2c09e763 Mon Sep 17 00:00:00 2001 From: liuxy Date: Sat, 3 Jun 2023 11:15:39 +0800 Subject: [PATCH] =?UTF-8?q?rev=20=EF=BC=9A=20=E5=87=BA=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=B8=8B=E5=8F=91=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/enums/AcsTaskEnum.java | 2 + .../IStIvtIostorinvCpOutService.java | 10 ++++ .../iostorInv/IStIvtIostorinvCpService.java | 9 +++ .../IStIvtIostorinvdisCpService.java | 6 ++ .../IStIvtIostorinvdtlCpService.java | 1 + .../impl/StIvtIostorinvCpOutServiceImpl.java | 37 +++++++++++- .../impl/StIvtIostorinvCpServiceImpl.java | 38 +++++++++++- .../impl/StIvtIostorinvdisCpServiceImpl.java | 60 +++++++++++++++++++ .../impl/StIvtIostorinvdtlCpServiceImpl.java | 2 + .../storage_manage/semimanage/TASKEnum.java | 10 ++++ 10 files changed, 173 insertions(+), 2 deletions(-) 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 a67a6d10..1872e3bc 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_CP_IN("9","入库-成品-生产入库"), + TASK_STRUCT_CP_OUT("10","出库-成品-生产出库"), TASK_STRUCT_CHECK("11","盘点任务"), TASK_STRUCT_SHUT("12","拼盘任务"), diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java index 271c2b8f..7af2d9d3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java @@ -141,4 +141,14 @@ public interface IStIvtIostorinvCpOutService extends IService * } */ void manualDiv(JSONObject whereJson); + + + /** + * 任务操作 + * @param whereJson + * { + * "" + * } + */ + void taskOperate(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java index d5a191a2..49883fed 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java @@ -154,4 +154,13 @@ public interface IStIvtIostorinvCpService extends IService { */ void confirm(JSONObject whereJson); + /** + * 任务操作 + * @param whereJson + * { + * "" + * } + */ + void taskOperate(JSONObject whereJson); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java index dae41843..c68a2865 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java @@ -50,4 +50,10 @@ public interface IStIvtIostorinvdisCpService extends IService list, StIvtIostorinvdtlCp dtlDao); + + /** + * 分配完成方法 + * @param json / + */ + void confirm(JSONObject json); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java index 8535e424..ec1eae4c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java @@ -45,4 +45,5 @@ public interface IStIvtIostorinvdtlCpService extends IService map); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index b5413d10..270bb463 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -7,11 +7,13 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; 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.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jetbrains.annotations.NotNull; 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; @@ -378,9 +380,11 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl) disDao::setTask_id) .build(); BussEventMulticaster.Publish(event); @@ -533,6 +537,37 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id)); + + // 更新任务状态为完成 + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) { + iostorinvdisCpService.update( + new UpdateWrapper().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id) + .set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("完成")) + ); + // 调用分配完成 + JSONObject mst_jo = new JSONObject(); + mst_jo.put("iostorinvdtl_id", disDao.getIostorinvdtl_id()); + mst_jo.put("iostorinv_id", disDao.getIostorinv_id()); + mst_jo.put("is_out", true); + iostorinvdisCpService.confirm(mst_jo); + + } else { + iostorinvdisCpService.update( + new UpdateWrapper().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id) + .set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("执行中")) + ); + } + } + @NotNull private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java index 04a85910..a1835075 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java @@ -14,6 +14,7 @@ import io.jsonwebtoken.lang.Assert; import org.jetbrains.annotations.NotNull; 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; @@ -52,6 +53,7 @@ import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivt import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil; 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.iostorInv.dao.StIvtIostorinvBcp; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -563,9 +565,11 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl) disDao::setTask_id) .build(); BussEventMulticaster.Publish(event); @@ -657,6 +661,38 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id)); + + // 更新任务状态为完成 + if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) { + iostorinvdisCpService.update( + new UpdateWrapper().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id) + .set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("完成")) + ); + // 调用分配完成 + JSONObject mst_jo = new JSONObject(); + mst_jo.put("iostorinvdtl_id", disDao.getIostorinvdtl_id()); + mst_jo.put("iostorinv_id", disDao.getIostorinv_id()); + mst_jo.put("is_out", false); + iostorinvdisCpService.confirm(mst_jo); + + } else { + iostorinvdisCpService.update( + new UpdateWrapper().lambda() + .eq(StIvtIostorinvdisCp::getTask_id, task_id) + .set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("执行中")) + ); + } + } + @NotNull private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java index 0d2a6986..60513573 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; 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 org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; @@ -19,7 +20,11 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrServ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.IVTEnum; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdtlCpService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvdisCpMapper; @@ -56,6 +61,15 @@ public class StIvtIostorinvdisCpServiceImpl extends ServiceImpl list) { if (!CollectionUtils.isEmpty(list)){ @@ -168,4 +182,50 @@ public class StIvtIostorinvdisCpServiceImpl extends ServiceImpl disDaoList = this.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdisCp::getIostorinvdtl_id, json.getString("iostorinvdtl_id")) + ); + + boolean is_confirm_dis = disDaoList.stream() + .allMatch(row -> row.getWork_status().equals(IOSEnum.WORK_STATUS.code("完成"))); + + if (is_confirm_dis) { + // 更新明细为完成 + iostorinvdtlCpService.update( + new UpdateWrapper().lambda() + .set(StIvtIostorinvdtlCp::getBill_status,IOSEnum.BILL_STATUS.code("完成")) + .eq(StIvtIostorinvdtlCp::getIostorinvdtl_id,json.getString("iostorinvdtl_id")) + ); + + // 判断明细是否为完成 + List dtlDaoList = iostorinvdtlCpService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtlCp::getIostorinv_id, json.getString("iostorinv_id")) + ); + + boolean is_confirm_dtl = dtlDaoList.stream() + .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("完成"))); + + if (is_confirm_dtl) { + // 调用主表确认 + JSONObject param = new JSONObject(); + param.put("iostorinv_id", json.getString("iostorinv_id")); + if (json.getBoolean("is_out")) { + iStIvtIostorinvCpOutService.confirm(param); + } else { + iStIvtIostorinvCpService.confirm(param); + + } + } + + } + + + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java index b3071e4f..bcdcaeaa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; 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 org.apache.commons.lang3.StringUtils; import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService; @@ -13,6 +14,7 @@ import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.IVTEnum; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdtlCpService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvdtlCpMapper; import org.springframework.beans.factory.annotation.Autowired; 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 index 76aa924b..9fcc7c8f 100644 --- 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 @@ -5,6 +5,8 @@ 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.productmanage.service.iostorInv.IStIvtIostorinvCpOutService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService; 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; @@ -32,6 +34,14 @@ public enum TASKEnum implements FunctionStrategy { IStIvtShutframeinvBcpService bean = SpringContextHolder.getBean(IStIvtShutframeinvBcpService.class); bean.confirm(form); }), + CP_IN_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_IN.getCode().equals(type), form -> { + IStIvtIostorinvCpService bean = SpringContextHolder.getBean(IStIvtIostorinvCpService.class); + bean.taskOperate(form); + }), + CP_OUT_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_OUT.getCode().equals(type), form -> { + IStIvtIostorinvCpOutService bean = SpringContextHolder.getBean(IStIvtIostorinvCpOutService.class); + bean.taskOperate(form); + }), ; private final Predicate predicate;