From eade24f4a102000a1f515650dedeaa7c588fad03 Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 26 Aug 2024 17:29:57 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E4=B8=80=E6=9C=9F=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9A1.=E8=99=9A=E6=8B=9F=E5=8C=BA=E4=B9=9F?= =?UTF-8?q?=E5=8A=A0=E9=87=8D=E9=87=8F=E5=8D=A1=E6=8E=A7=EF=BC=9A=E5=8F=AA?= =?UTF-8?q?=E8=A6=81=E6=9C=89=E9=87=8D=E9=87=8F=E7=9A=84=E5=B0=B1=E5=8D=A1?= =?UTF-8?q?=E6=8E=A7=E5=B9=B6=E4=B8=94=E5=8F=91=E9=80=81=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?2.=E5=BA=93=E5=AD=98=E6=8A=A5=E8=A1=A8=E4=B8=AD=E5=AD=90?= =?UTF-8?q?=E5=8D=B7=E7=8A=B6=E6=80=81=E7=AD=9B=E9=80=89=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98=EF=BC=9B?= =?UTF-8?q?=E4=BA=8C=E6=9C=9F=E4=BC=98=E5=8C=96=EF=BC=9A1.=E6=89=8B?= =?UTF-8?q?=E6=8C=81=E5=85=A5=E5=BA=93=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=98=AF=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=88=99=E9=9C=80=E8=A6=81=E3=80=90=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/TwoLashTask.java | 2 +- .../dao/mapper/StIvtIostorinvMapper.java | 7 ++++ .../dao/mapper/StIvtIostorinvMapper.xml | 19 +++++++++++ .../impl/StIvtIostorinvOutServiceImpl.java | 2 +- .../util/impl/InBoxManageServiceImpl.java | 25 +++++++++++++-- .../util/impl/InBussManageServiceImpl.java | 9 ++++++ .../util/service/InBussManageService.java | 7 ++++ .../impl/ProductInstorServiceImpl.java | 32 +++++++++++++++++-- .../bi/service/dto/SubpackagerelationDto.java | 5 +++ .../org/nl/wms/sch/tasks/CutConveyorTask.java | 4 +-- .../service/impl/StorPublicServiceImpl.java | 14 ++++---- lms/nladmin-ui/src/views/wms/pdm/bi/index.vue | 20 +++++++++--- 12 files changed, 127 insertions(+), 19 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java index 1ad787ffb..87e611ff3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -136,7 +136,7 @@ public class TwoLashTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code2(json.getString("vehicle_code")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) .priority(json.getString("priority")) .class_type(IOSEnum.ACS_TYPE.code("木箱堆叠行架任务")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java index 1c793cfcc..a7d2ef13b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java @@ -35,4 +35,11 @@ public interface StIvtIostorinvMapper extends BaseMapper { * @return 、 */ JSONObject queryBoxMst(JSONObject whereJson); + + /** + * 判断是否是第一次入库 + * @param box_no : 木箱号 + * @return 分配明细集合 + */ + List queryFirstInBox(String box_no); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml index 978a5b5b1..68aa42a76 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml @@ -139,4 +139,23 @@ + + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index 6d424acc3..04653581f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -700,7 +700,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl row.getBill_status().equals(IOSEnum.BILL_STATUS.code("生成"))); if (is_createDtl) { - throw new BadRequestException("请先分配完所有明细在进行确认!"); + // throw new BadRequestException("请先分配完所有明细在进行确认!"); } // 更新明细为完成 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java index 3dddc1ae4..2fd733c53 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java @@ -18,6 +18,7 @@ import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBoxManageService; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService; import org.nl.common.utils.IdUtil; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; @@ -82,6 +83,8 @@ public class InBoxManageServiceImpl implements InBoxManageService { @Autowired private LmsToMesService lmsToMesService; + @Autowired + private InBussManageService inBussManageService; @Override @Transactional(rollbackFor = Exception.class) @@ -313,8 +316,26 @@ public class InBoxManageServiceImpl implements InBoxManageService { @Override @Transactional(rollbackFor = Exception.class) public void returnIn(JSONObject whereJson) { - // 载具表 - //api/twoPda/vehicle/returnIn + //判断是否是手工入库:如果是手工入库则判断是否是第一次入库 + if (whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("生产入库")) || + whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("手工入库")) + ) { + // 校验是否第一次入库 + boolean ifFirst = inBussManageService.firstInBox(whereJson.getString("box_no")); + + // 手工入库 + if (whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("手工入库"))) { + if (!ifFirst) { + throw new BadRequestException("此木箱【"+whereJson.getString("box_no")+"】未入过库,请选择【生产入库】!"); + } + } + + if (whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("生产入库"))) { + if (ifFirst) { + throw new BadRequestException("此木箱【"+whereJson.getString("box_no")+"】已入过库,请选择【手工入库】!"); + } + } + } // 根据木箱号查询是否有托盘绑定关系,如果有则解绑 JSONObject jsonExt = WQLObject.getWQLObject("md_pb_storagevehicleext") diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java index 4ee65b6ca..62ab2e424 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBussManageServiceImpl.java @@ -406,6 +406,15 @@ public class InBussManageServiceImpl implements InBussManageService { return JSONObject.parseObject(JSON.toJSONString(disListNow.get(0))); } + @Override + public boolean firstInBox(String box_no) { + List resultList = stIvtIostorinvMapper.queryFirstInBox(box_no); + if (ObjectUtil.isNotEmpty(resultList)) { + return true; + } + return false; + } + /** * 获取最小巷道 * diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBussManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBussManageService.java index 45ebf41ae..e808c229a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBussManageService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBussManageService.java @@ -63,4 +63,11 @@ public interface InBussManageService { */ JSONObject taskExceptional(JSONObject jsonObject); + /** + * 判断是否是第一次入库 + * @param box_no: 木箱号 + * @return / + */ + boolean firstInBox(String box_no); + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index f382acacd..dfb335dfe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -220,7 +220,7 @@ public class ProductInstorServiceImpl implements ProductInstorService { //调用ACS让对应蜂鸣器报警 JSONObject param = new JSONObject(); param.put("code", "to_command"); - param.put("product_area", "BLK"); + param.put("product_area", "LK"); param.put("value", "99"); param.put("device_code", point_code); JSONArray rows = new JSONArray(); @@ -232,7 +232,7 @@ public class ProductInstorServiceImpl implements ProductInstorService { if (ObjectUtil.isEmpty(sub_jo.getString("is_pass")) || sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code("否")) ) { // 通知飞书 notifyMes(sub_jo); - throw new BadRequestException("重量不合格!系统重量浮动超过" + weight_sys + "KG,当前木称重重量:" + real_weight + ",已通知飞书处理!"); + throw new BadRequestException("重量不合格!系统重量浮动超过" + weight_sys + "KG,当前木箱称重重量:" + real_weight + ",已通知飞书处理!"); } else { if (sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code("否"))) { throw new BadRequestException("请等待放行!"); @@ -366,6 +366,34 @@ public class ProductInstorServiceImpl implements ProductInstorService { form.put("task_type", "010507"); cutConveyorTask.createTask(form); } else { + /* + * 如果有实际重量则需要判断重量是否超标 + */ + // 重量阈值系统参数 + double weight_sys = Double.parseDouble(SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("weight_sys").getValue()); + // 木箱系统重量 + double box_weight = sub_jo.getDoubleValue("box_weight"); + // 木箱实称重重量 + double real_weight = sub_jo.getDoubleValue("real_weight"); + + if (ObjectUtil.isNotEmpty(sub_jo.getString("real_weight")) && "AC01".equals(sub_jo.getString("ext_code"))) { + // 判断木箱毛重是否超标 + if (NumberUtil.sub(box_weight, weight_sys) <= real_weight && NumberUtil.add(box_weight, weight_sys) >= real_weight) { + } else { + //判断is_pass是否为空,如果为空则通知飞书,不为空判断:为0则不允许通过,为1则允许 + if (ObjectUtil.isEmpty(sub_jo.getString("is_pass")) || sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code("否")) ) { + // 通知飞书 + notifyMes(sub_jo); + throw new BadRequestException("重量不合格!系统重量浮动超过" + weight_sys + "KG,当前木箱称重重量:" + real_weight + ",已通知飞书处理!"); + } else { + if (sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code("否"))) { + throw new BadRequestException("请等待放行!"); + } + } + + } + } + JSONArray now_dis_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("flag", "18").addParam("box_no", map.get("box_no")).process().getResultJSONArray(0); if (now_dis_rows.size() > 0) { throw new BadRequestException("该木箱已经分配过货位,无法继续分配!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java index 2571965e6..39ac7f509 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java @@ -196,4 +196,9 @@ public class SubpackagerelationDto implements Serializable { * 要求幅宽 */ private String width_standard; + + /** + * 实际重量 + */ + private BigDecimal real_weight; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java index 92ab8b936..eb707f061 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java @@ -112,14 +112,14 @@ public class CutConveyorTask extends AbstractAcsTask { jsonTask.put("update_time", DateUtil.now()); taskTab.update(jsonTask); - if ("010507".equals(jsonTask.getString("task_type"))) { + /* if ("010507".equals(jsonTask.getString("task_type"))) { double weight = taskObj.getDoubleValue("weight"); // 更新子卷包装实际重量 JSONObject param = new JSONObject(); param.put("real_weight",weight); subTab.update(param,"package_box_sn ='"+jsonTask.getString("vehicle_code")+"'"); - } + }*/ //只有输送入的时候才调用MES if ("010402".equals(jsonTask.getString("task_type")) && StrUtil.isNotEmpty(jsonTask.getString("vehicle_code"))) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java index 8b01e9e8a..a6d0ecf38 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java @@ -235,7 +235,7 @@ public class StorPublicServiceImpl implements StorPublicService { wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "12": //12减冻结、加可用:出库分配取消、移库移出取消 @@ -253,7 +253,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "21": //21减冻结、减库存:出库确认、移库移出确认 @@ -274,7 +274,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "22": //22加冻结、加库存:出库确认取消、移库移出确认取消 @@ -337,7 +337,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "31": //31加待入:入库分配、移库移入 @@ -360,7 +360,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "33": //33减待入、加库存、加可用:入库确认、移库移入确认 @@ -379,7 +379,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; case "34": //34加待入、减库存、减可用:入库确认取消、移库移入确认取消 @@ -401,7 +401,7 @@ public class StorPublicServiceImpl implements StorPublicService { } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { - throw new BadRequestException(struct_id_In + "仓位库存异常,请检查"); + throw new BadRequestException(pcsn_In + "子卷仓位库存异常,请检查"); } break; default: diff --git a/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue b/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue index 3943aebc5..86ff3a303 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/bi/index.vue @@ -220,8 +220,8 @@ - - + + @@ -402,6 +402,13 @@ + + + + + + + @@ -503,7 +510,11 @@ :min-width="flexWidth('box_weight',crud.data,'木箱自身重量')" :formatter="crud.formatNum3" /> - +