From 9831dc08626c867e6595ccdb5d55d39455358992 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 5 Jan 2025 17:45:13 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=A2=E6=88=B7=E6=A0=87=E7=AD=BE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PrintTableTwoServiceImpl.java | 33 +++++++++++++++- .../PdmBiSubpackagerelationController.java | 38 +++++++++++++++++-- .../PdmBiSubpackagerelationServiceImpl.java | 10 +++-- .../auto/AutoSendDjqToGzq.java | 4 +- .../auto/AutoSendVehicleToDjq.java | 7 ++-- 5 files changed, 78 insertions(+), 14 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java index cfb707535..3caf629c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java @@ -5,16 +5,21 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.pda.service.PrintTableTwoService; import org.nl.b_lms.pdm.info.dao.PdmBiContainerinfo; import org.nl.b_lms.pdm.info.dao.PdmBiOrderbominfo; import org.nl.b_lms.pdm.info.service.IPdmBiContainerinfoService; 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.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.pdm_manage.enums.SUBEnum; +import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.nl.wms.pda.st.service.PrintService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -35,18 +40,42 @@ public class PrintTableTwoServiceImpl implements PrintTableTwoService { */ @Autowired private IPdmBiOrderbominfoService iPdmBiOrderbominfoService; + /* + * 子卷包装关系 + */ + @Autowired + private IpdmBiSubpackagerelationService subpackagerelationService; + /* + * 订单bom服务 + */ + @Autowired + private PrintService printService; @Override @Transactional(rollbackFor = Exception.class) public JSONObject withinTable(JSONObject whereJson) { - // 返回参数 + // 返回参数//{"print_code":"10000007","pcsn":"多少发多少发多少分","type":"1"} type:3客户标 JSONObject result = new JSONObject(); // 基础校验 String pcsn = whereJson.getString("pcsn"); + String print_code = whereJson.getString("print_code"); + String type = whereJson.getString("type"); if (ObjectUtil.isEmpty(pcsn)) { throw new BadRequestException("子卷号不能为空!"); } - + if (type.equals("3")||print_code.equals("10000009")){ + //查询子卷包装关系: + PdmBiSubpackagerelation containerName = subpackagerelationService.getOne(new QueryWrapper() + .eq("container_name", pcsn)); + if (containerName==null){ + throw new BadRequestException("子卷包装信息不存在"); + } + if (StringUtils.isEmpty(containerName.getPackage_box_sn())){ + throw new BadRequestException("子卷包装缺少木箱信息"); + } + JSONObject printCus = new JSONObject(MapOf.of("box_no",containerName.getPackage_box_sn(),"print_type",print_code)); + printService.customerPrint(printCus);//{"box_no":"MX250105000119","print_type":"10000006"} + } JSONObject jsonPrint = WQLObject.getWQLObject("pdm_bi_printinfo") .query("print_id = '" + whereJson.getString("print_code") + "' and print_region = '2'") .uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java index 7205f7ec8..a4d4b28d9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/controller/PdmBiSubpackagerelationController.java @@ -4,21 +4,30 @@ import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; +import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; +import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; +import org.nl.b_lms.sch.tasks.first_floor_area.auto.AutoSendVehicleToDjq; import org.nl.b_lms.sch.tasks.first_floor_area.auto.Prun; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; +import org.nl.common.enums.PackageInfoIvtEnum; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.logging.annotation.Log; import org.nl.modules.wql.util.SpringContextHolder; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -36,12 +45,17 @@ import java.util.concurrent.TimeUnit; @Slf4j public class PdmBiSubpackagerelationController { - @Resource + @Autowired private RedissonClient redissonClient; - @Resource + @Autowired private IpdmBiSubpackagerelationService pdmBiSubpackagerelationService; + @Autowired + private IbstIvtPackageinfoivtService packageinfoivtService; + @Autowired + private AutoSendVehicleToDjq autoSendVehicleToDjq; + /** * 分页查询 @@ -179,7 +193,7 @@ public class PdmBiSubpackagerelationController { @PostMapping("/schdule") @Log("定时调度") @SaIgnore - public ResponseEntity 定时调度(@RequestBody JSONObject whereJson) throws ClassNotFoundException { + public ResponseEntity 定时调度(@RequestBody JSONObject whereJson) { String aClass = whereJson.getString("class"); Prun obj = (Prun) SpringContextHolder.getBean(aClass); obj.run(); @@ -187,5 +201,23 @@ public class PdmBiSubpackagerelationController { } + @PostMapping("/ycgzd") + @Log("异常管制点释放") + @SaIgnore + public ResponseEntity ycgzd(@RequestBody JSONObject param) { + String pointCode = param.getString("point_code"); + if (StringUtils.isEmpty(pointCode)){ + throw new BadRequestException("人工管制点不能为空"); + } + // "ZXQ_135" : "ZXQ_136"; + JSONObject task = new JSONObject(); + task.put("point_code1", pointCode); + autoSendVehicleToDjq.getPointCode(task,PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)")); + return new ResponseEntity<>(HttpStatus.OK); + } + + + + } 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 4d222dda0..f99e57526 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 @@ -241,18 +241,20 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl packagerelationList = JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class); + List packagerelationList = JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class); //子卷信息校验 checkEntityList(whereJson, packagerelationList); //均衡获取木箱出库装箱区对接位 //= getPointCode(packagerelationList.size()); String deviceCode = "ZXQ_1_1"; int count = taskService.count(new QueryWrapper() - .eq("point_code2", deviceCode) - .eq("task_type", "010704") + .eq("task_type", "010908") .eq("is_delete", "0") .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (count>2){ + int count2 = packageinfoivtService.count(new QueryWrapper() + .eq("point_status",PackageInfoIvtEnum.POINT_STATUS.code("装箱区")) + .eq("ivt_status",PackageInfoIvtEnum.IVT_STATUS.code("合格品"))); + if (count+count2>8){ throw new BadRequestException("当前装箱区木箱任务已满,稍后再试"); } List workIdList = JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class).stream() diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java index eaa2ce7fe..9ddc63b46 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToGzq.java @@ -20,6 +20,7 @@ import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.manage.TaskStatusEnum; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -31,7 +32,7 @@ import java.util.stream.Collectors; @Slf4j @Component @RequiredArgsConstructor -public class AutoSendDjqToGzq { +public class AutoSendDjqToGzq extends Prun{ private final String THIS_CLASS = AutoSendDjqToGzq.class.getName(); @Resource @@ -48,6 +49,7 @@ public class AutoSendDjqToGzq { private IschBaseTaskService taskService; //待检区->管制区agv自动搬运任务 + @Autowired public void run() { try { this.sendDjqToGzq(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java index 0dee54359..5f5062fbf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendVehicleToDjq.java @@ -110,7 +110,7 @@ public class AutoSendVehicleToDjq extends Prun{ } - private void getPointCode(JSONObject task, String taskType) { + public void getPointCode(JSONObject task, String taskType) { List packageList; if (taskType.equals(PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)"))) { packageList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("空"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"), PackageInfoIvtEnum.SORT_TYPE.code("升序"), PackageInfoIvtEnum.TASK_TYPE.code("补空(装箱区->待检区)")); @@ -168,9 +168,8 @@ public class AutoSendVehicleToDjq extends Prun{ //如果不同一组,则直接浅库位 pointCode2 = shallowIvtList.get(0).getPoint_code(); } - } - //如果只有浅库位有空位,则直接取浅库位的编号为终点 - else if (ObjectUtils.isNotEmpty(shallowIvtList)) { + } else if (ObjectUtils.isNotEmpty(shallowIvtList)) { + //如果只有浅库位有空位,则直接取浅库位的编号为终点 pointCode2 = shallowIvtList.get(0).getPoint_code(); } //如果只有深库位有空位,需要发起浅库位->深库位的移库任务