From 628d15c0c64b4f3fb75f38d0c268000e03bf4c6d Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 30 Mar 2025 16:12:33 +0800 Subject: [PATCH] =?UTF-8?q?add:=E7=94=9F=E4=BA=A7=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9B=B4=E6=8E=A5=E5=85=A5=E5=BA=93=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/info/dao/PdmBiContainerinbound.java | 52 +++++++++++++++++++ .../mapper/PdmBiContainerinboundMapper.java | 17 ++++++ .../IPdmBiContainerinboundService.java | 17 ++++++ .../PdmBiContainerinbooundServiceImpl.java | 21 ++++++++ .../PdmBiSubpackagerelationServiceImpl.java | 26 +++++++--- .../org/nl/b_lms/sch/tasks/TwoOutBoxTask.java | 15 ++---- .../util/impl/OutBoxManageServiceImpl.java | 8 +-- .../acs/service/impl/AcsToWmsServiceImpl.java | 18 ++++++- .../main/java/org/nl/wms/sch/ComPareUtil.java | 9 +++- .../src/main/resources/config/application.yml | 2 +- 10 files changed, 162 insertions(+), 23 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/dao/PdmBiContainerinbound.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/mapper/PdmBiContainerinboundMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/IPdmBiContainerinboundService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/impl/PdmBiContainerinbooundServiceImpl.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/dao/PdmBiContainerinbound.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/dao/PdmBiContainerinbound.java new file mode 100644 index 000000000..7070c950c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/dao/PdmBiContainerinbound.java @@ -0,0 +1,52 @@ +package org.nl.b_lms.pdm.info.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 子卷下线记录表 + *

+ * + * @author author + * @since 2024-07-19 + */ +@Data +@TableName("pdm_bi_containerinbound") +public class PdmBiContainerinbound implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 标识 + */ + @TableId + private String id; + + /** + * 子卷号 + */ + private String container_name; + /** + * 木箱 + */ + private String box; + + /** + * 备注 + */ + private String remark; + + /** + * 直接入库 + */ + private Boolean inbound; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/mapper/PdmBiContainerinboundMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/mapper/PdmBiContainerinboundMapper.java new file mode 100644 index 000000000..ae69568c2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/mapper/PdmBiContainerinboundMapper.java @@ -0,0 +1,17 @@ +package org.nl.b_lms.pdm.info.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinfo; + +/** + *

+ * 子卷下线记录表 Mapper 接口 + *

+ * + * @author author + * @since 2024-07-19 + */ +public interface PdmBiContainerinboundMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/IPdmBiContainerinboundService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/IPdmBiContainerinboundService.java new file mode 100644 index 000000000..c17e0d1b1 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/IPdmBiContainerinboundService.java @@ -0,0 +1,17 @@ +package org.nl.b_lms.pdm.info.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinfo; + +/** + *

+ * 子卷下线记录表 服务类 + *

+ * + * @author author + * @since 2024-07-19 + */ +public interface IPdmBiContainerinboundService extends IService { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/impl/PdmBiContainerinbooundServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/impl/PdmBiContainerinbooundServiceImpl.java new file mode 100644 index 000000000..678525327 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/info/service/impl/PdmBiContainerinbooundServiceImpl.java @@ -0,0 +1,21 @@ +package org.nl.b_lms.pdm.info.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; +import org.nl.b_lms.pdm.info.mapper.PdmBiContainerinboundMapper; +import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService; +import org.springframework.stereotype.Service; + +/** + *

+ * 子卷下线记录表 服务实现类 + *

+ * + * @author author + * @since 2024-07-19 + */ +@Service +public class PdmBiContainerinbooundServiceImpl extends ServiceImpl implements IPdmBiContainerinboundService { + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index d965863e1..403a79737 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -21,7 +21,9 @@ import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; import org.nl.b_lms.pdm.info.dao.PdmBiOrderbominfo; +import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService; import org.nl.b_lms.pdm.info.service.IPdmBiOrderbominfoService; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper; @@ -101,6 +103,9 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl resultList = new ArrayList<>(); // 如果缓存了4个箱子则不下发任务 - if (num >= 4) { + if (num >= 3) { return resultList; } - for (int i = 0; i < arr.size(); i++) { - if (num >= 4) { + if (num >= 3) { break; } JSONObject json = arr.getJSONObject(i); @@ -101,9 +100,6 @@ public class TwoOutBoxTask extends AbstractAcsTask { JSONObject 浅Attr = attrTab .query("zdepth = '1' and row_num = '"+attr.getString("row_num")+"' and col_num = '" + attr.getString("col_num") + "' and layer_num = '"+attr.getString("layer_num")+"'") .uniqueResult(0); - if (ObjectUtil.isEmpty(浅Attr)){ - continue; - } if (ObjectUtil.isEmpty(浅Attr.getString("storagevehicle_code"))){ if (!浅Attr.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { continue; @@ -117,10 +113,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { .eq("is_delete", "0") .eq("point_code1", 浅Attr.getString("struct_code")) .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - Optional any = list.stream().filter(a -> !a.getPoint_code2().equals("ZXQ_1_1")).findAny(); - if (any.isPresent()){ - SchBaseTask errortask = any.get(); - log.error("twoOutTask has error task"+errortask.getTask_code()); + if (!CollectionUtils.isEmpty(list)){ continue; }else { outBoxManageService.createBoxMove(浅Attr); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index b7b191e30..b4ebf39b8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -46,6 +46,9 @@ import java.util.stream.Collectors; @Service public class OutBoxManageServiceImpl implements OutBoxManageService { + @Autowired + private TwoOutBoxTask twoOutBoxTask; + /** * 出库不需要查询的排集合 */ @@ -123,9 +126,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { JSONObject request_param = new JSONObject(); request_param.put("containerType", jsonAttr.getString("storagevehicle_type")); jsonTaskParam.put("request_param", request_param.toString()); - TwoOutBoxTask taskBean = new TwoOutBoxTask(); - taskBean.createTask(jsonTaskParam); - taskBean.immediateNotifyAcs(null); + twoOutBoxTask.createTask(jsonTaskParam); + twoOutBoxTask.immediateNotifyAcs(null); // 锁定起点 jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("验箱出库锁")); attrTab.update(jsonAttr); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 24f3839e0..12f6b6169 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -24,6 +24,8 @@ import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt; import org.nl.b_lms.pda.service.ProductOutTwoService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; +import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -103,6 +105,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private final ISysNoticeService noticeService; + @Autowired + private IPdmBiContainerinboundService iPdmBiContainerinboundService; + /** * 入库处理类服务 */ @@ -2026,7 +2031,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("上报的重量不能为0!"); } JSONObject jsonObject = ComPareUtil.CompareWhight(whereJson); - if (jsonObject.getBoolean("compaer_result")) { + Boolean inbound = jsonObject.getBoolean("inbound"); + Boolean compaerResult = jsonObject.getBoolean("compaer_result"); + String box_no = jsonObject.getString("box_no"); + Integer box_weight = jsonObject.getIntValue("box_weight"); + if (compaerResult && inbound) { whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库")); //"material_barcode":"C1101,","device_code":"RK1018","weight":500.95,"vehicle_code":"B01401","type":"1" int count = taskService.count(new QueryWrapper() @@ -2043,6 +2052,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } inBussManageService.inTask(whereJson); } else { + if (!compaerResult){ + iPdmBiContainerinboundService + .update(new UpdateWrapper() + .set("remark","称重"+whereJson.getIntValue("weight")+"与木箱重量"+box_weight+"不匹配") + .eq("box",box_no)); + } + //更新子卷入库备注信息 JSONObject jsonTaskParam = new JSONObject(); //创建异常任务去异常入库口 //入库口 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java index d1eef376f..2cd72e5c0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java @@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; +import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; @@ -67,10 +69,15 @@ public class ComPareUtil { if (!(NumberUtil.sub(box_weight, weight_sys) <= current_weight && NumberUtil.add(box_weight, weight_sys) >= current_weight)) { compaer_result = false; } - + //查询子卷入库配置 + IPdmBiContainerinboundService iPdmBiContainerinboundService = SpringContextHolder.getBean(IPdmBiContainerinboundService.class); + PdmBiContainerinbound pdmBiContainerinbound = iPdmBiContainerinboundService.getOne(new QueryWrapper() + .eq("box", sub.getPackage_box_sn())); JSONObject json = new JSONObject(); json.put("compaer_result", compaer_result); json.put("box_no", sub.getPackage_box_sn()); + json.put("box_weight", sub.getBox_weight().intValue()); + json.put("inbound", (pdmBiContainerinbound != null ? pdmBiContainerinbound.getInbound():false)); return json; } } diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index a435e1108..a9fc87884 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -6,7 +6,7 @@ spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: