diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/出入库基础规则.md b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/出入库基础规则.md index b40f670c..dad1b12b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/出入库基础规则.md +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/出入库基础规则.md @@ -1,17 +1,17 @@ ##货位分配原则 出入库 - ###1、上轻下重原则 - 根据货物重量选择摆放位置。把重的东西放在下层,把轻放在货架上层。需要人工搬运的大型货物以腰部的高度摆放。这样提高效率、保证安全。 - ###2、优先靠近出入口原则 - 根据出入库频率选定位置。出入库频率高的货物应放在靠近出入口,易于作业的地方;流动性差的货物放在离出入口较远的地方;季节性物品按季节特性来选定场所摆放。 - ###3、先进先出原则 - 一般企业为了加快周转,先入先出一同种物料出库时,先入库的物资,需要先提取出库,以加快物料周转,从而避免因物料长期积压产生锈蚀、变形、变质及其他损坏造成的损失。因此在货位分配时要方便先进物品优先出库。 - ###4、同类物品集中原则 - 同一品种同一地方保管。为提高作业效率和保管效率同一物品或类似物品应在同一地方保管,提高仓储工作效率。 - ###5、多巷道分布原则 - 货位分配是应提高可靠性,分巷道存放一仓库有多个巷道时,同种物品分散在不同的巷道进行存放。以防止因某巷道堵塞影响某种物料的出库,造成生产中断。 - ###6.超限分配原则: - 对于货位超限:横向/纵向暂用多个货位.高度超限 +###1、上轻下重原则 +根据货物重量选择摆放位置。把重的东西放在下层,把轻放在货架上层。需要人工搬运的大型货物以腰部的高度摆放。这样提高效率、保证安全。 +###2、优先靠近出入口原则 +根据出入库频率选定位置。出入库频率高的货物应放在靠近出入口,易于作业的地方;流动性差的货物放在离出入口较远的地方;季节性物品按季节特性来选定场所摆放。 +###3、先进先出原则 +一般企业为了加快周转,先入先出一同种物料出库时,先入库的物资,需要先提取出库,以加快物料周转,从而避免因物料长期积压产生锈蚀、变形、变质及其他损坏造成的损失。因此在货位分配时要方便先进物品优先出库。 +###4、同类物品集中原则 +同一品种同一地方保管。为提高作业效率和保管效率同一物品或类似物品应在同一地方保管,提高仓储工作效率。 +###5、多巷道分布原则 +货位分配是应提高可靠性,分巷道存放一仓库有多个巷道时,同种物品分散在不同的巷道进行存放。以防止因某巷道堵塞影响某种物料的出库,造成生产中断。 +###6.超限分配原则: +对于货位超限:横向/纵向暂用多个货位.高度超限 ##规则处理方式:责任链模式 list->5 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/SecondFloorInStorageTask.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/SecondFloorInStorageTask.java index 7c5eeb39..4bb73c69 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/SecondFloorInStorageTask.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/SecondFloorInStorageTask.java @@ -40,7 +40,7 @@ import java.util.stream.Collectors; * @Date 2025/2/6 14:34 * 二楼入库任务 */ -@Service +@Service("secondFloorInStorage") @Slf4j public class SecondFloorInStorageTask extends AbstractTask { @@ -109,8 +109,7 @@ public class SecondFloorInStorageTask extends AbstractTask { QueryWrapper query = new QueryWrapper() .eq("is_used", true) .eq("lock_type", StatusEnum.LOCK.code("无锁")) - .eq("stor_code", "FStockId") - .eq("sect_code", "LXHCK01"); + .eq("stor_code", "CStockId"); query.isNull("vehicle_code"); List list = iStIvtStructattrService.list(query); List structList = sameBlockNumRuleHandler.handler(list, null); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/AcsToWmsService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/AcsToWmsService.java index 68d12e30..86216976 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/AcsToWmsService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/acs/service/AcsToWmsService.java @@ -49,7 +49,6 @@ public class AcsToWmsService { public void applyTask(String service,String type,JSONObject data){ if (service.equals("InStorage")){ - applyTaskMap.get(type).createTask(data); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java index 3c1f54e3..0d22cddc 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java @@ -1,6 +1,7 @@ package org.nl.wms.flow_manage.flow.service.classprocessimpl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -157,6 +158,9 @@ public class SyncReceiptProcessHandler implements ClassProcess { for (int i = 0; i < fEntityArray.size(); i++) { JSONObject fEntity = fEntityArray.getJSONObject(i); List materialList = iMdMeMaterialbaseService.list(new LambdaQueryWrapper().eq(MdMeMaterialbase::getMaterial_code,JSON.parseObject(fEntity.getString("FMaterialId")).getString("FNumber"))); + if (ObjectUtil.isEmpty(materialList)) { + throw new BadRequestException("回传失败:查询物料信息,物料编码不存在:"+JSON.parseObject(fEntity.getString("FMaterialId")).getString("FNumber")); + } MdMeMaterialbase materialInfo = materialList.get(0); //没有启用批次号 if ("0".equals(materialInfo.getPrint_no())) { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/PdaOutController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/PdaOutController.java index 06b18ef0..6ccf71b1 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/PdaOutController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/PdaOutController.java @@ -56,12 +56,17 @@ public class PdaOutController { public ResponseEntity> orderType() { List result = new ArrayList<>(); - List list = iBmFormStrucService.list(new QueryWrapper() - .like("form_desc","出库") - .select("form_type","form_name")); - for (BmFormStruc formStruc : list) { - result.add(MapOf.of("text",formStruc.getForm_name(),"value",formStruc.getForm_type())); - } + // List list = iBmFormStrucService.list(new QueryWrapper() + // .like("form_desc","出库") + // .select("form_type","form_name")); + // for (BmFormStruc formStruc : list) { + // result.add(MapOf.of("text",formStruc.getForm_name(),"value",formStruc.getForm_type())); + // } + result.add(MapOf.of("text","生产用料清单","value","PRD_PPBOM")); + result.add(MapOf.of("text","委外用料清单","value","SUB_PickMtrl")); + result.add(MapOf.of("text","直接调拨单","value","STK_TransferDirect")); + result.add(MapOf.of("text","简单领料申请单","value","ka7c19edf9d4b4b39b8cc4a06802163b0")); + result.add(MapOf.of("text","其他出库单","value","STK_MisDelivery")); return new ResponseEntity<>(result,HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java index 4b05a335..754e8d99 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java @@ -232,6 +232,7 @@ public class SyncErpBillsScheduleService { filterString += "AND FDocumentStatus = 'C' AND F_PMSY_BillStatus = 'A' AND F_PMSY_CreateDate >= '" + timeStart + " 00:00:00' AND F_PMSY_CreateDate <= '" + timeEnd + " 23:59:59' "; } else if ("SAL_SaleOrder".equals(formType)) { filterString += " AND FDocumentStatus = 'C' AND FCloseStatus ='A' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' "; + //调拨出入库,采购退料单,销售退货入库单,其他出库单 } else if ("STK_TransferDirect".equals(formType) || "STK_MisDelivery".equals(formType) || "PUR_MRB".equals(formType) || "SAL_RETURNSTOCK".equals(formType)) { filterString += " AND FDocumentStatus ='B' AND FCreateDate >= '" + timeStart + " 00:00:00' and FCreateDate <= '" + timeEnd + " 23:59:59' "; } else { diff --git a/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml b/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml index a067c4d8..3a75298c 100644 --- a/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml +++ b/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml @@ -96,7 +96,39 @@ 512 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +