diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java index af7c447..36c44fa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/boxstack/enums/BoxStackEnum.java @@ -37,7 +37,7 @@ public enum BoxStackEnum { STOCK_UP_STATUS(MapOf.of("未开始", "1", "执行中", "2", "完成", "3")), //木箱库区域 - POINT_STATUS(MapOf.of("密集区", "1", "零散区", "2", "缓存区", "3", "等待区", "4","对接区", "5")); + POINT_STATUS(MapOf.of("密集区", "1", "零散区", "2", "缓存区", "3", "等待区", "4","木箱对接区", "5","木箱退货区", "6")); private Map code; 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 734e87c..90da79e 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 @@ -244,16 +244,14 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl dtoList; UpdateWrapper updateWrapper = new UpdateWrapper<>(); JSONObject jo = new JSONObject(); - //是否开启mes - String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_on_mes").getValue(); + //是否开启mes质检 + String isOnMes = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mes_package").getValue(); //子卷质检合格品和管制品 if (StringUtils.isNotBlank(whereJson.getString("container_name"))) { if (whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")) || whereJson.getString("ivt_status").equals(PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))) { @@ -399,11 +399,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl() .eq("container_name", whereJson.getString("container_name"))); if (one!=null){ - if (isOnMes.equals(IOSEnum.IS_NOTANDYES.code("是"))) { - throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系"); - }else { - throw new BadRequestException("包装关系存已存在"); - } + throw new BadRequestException("包装关系存在,请先解绑MES及LMS包装关系"); } } dtoList = bstIvtPackageinfoivtMapper.selectList(new LambdaQueryWrapper().eq(BstIvtPackageinfoivt::getContainer_name, whereJson.getString("container_name"))); @@ -426,14 +422,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl bstIvtBoxstacks = boxstackMapper.selectAndNoTask( BoxStackEnum.POINT_STATUS.code("对接区")); + List bstIvtBoxstacks = boxstackMapper.selectAndNoTask( BoxStackEnum.POINT_STATUS.code("木箱对接区")); if (CollectionUtil.isEmpty(bstIvtBoxstacks)){ //获取对接区没有任务的对接位 BstIvtBoxstack bstIvtBoxstack = new BstIvtBoxstack(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToZxq.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToZxq.java new file mode 100644 index 0000000..4391885 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoSendDjqToZxq.java @@ -0,0 +1,99 @@ +package org.nl.b_lms.sch.tasks.first_floor_area.auto; + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; +import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper; +import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; +import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.sch.tasks.first_floor_area.GzqTask; +import org.nl.common.enums.PackageInfoIvtEnum; +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; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.TimeUnit; + + +@Slf4j +@Component +@RequiredArgsConstructor +public class AutoSendDjqToZxq extends Prun{ + + private final String THIS_CLASS = AutoSendDjqToZxq.class.getName(); + @Resource + private RedissonClient redissonClient; + @Resource + private GzqTask gzqTask; + + @Resource + private IbstIvtPackageinfoivtService packageinfoivtService; + @Resource + private BstIvtPackageinfoivtMapper bstIvtPackageinfoivtMapper; + @Resource + private IschBaseTaskService taskService; + + //待检区->装箱区agv自动搬运任务 + @Autowired + public void run() { + try { + this.sendDjqToGzq(); + }catch (Exception ex){ + log.error(ex.getMessage()); + } + } + + + /** + * 普通任务 + */ + @SneakyThrows + public void sendDjqToGzq() { + log.info(THIS_CLASS+"-待检区->装箱区定时任务开始执行扫描。"); + RLock lock = redissonClient.getLock(THIS_CLASS); + boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); + try { + if (tryLock) { + List taskTypes = new ArrayList<>(Collections.singletonList(PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区"))); + List existTask = taskService.getExistTasks(taskTypes); + if (existTask.size() > 2) { + return; + } + JSONObject task = new JSONObject(); + + //待检区有合格品且过滤未完成任务 + List selectEmpPoints = packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("待检区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品")); + if (ObjectUtils.isEmpty(selectEmpPoints)) { + return; + } + //装箱区为空位且过滤未完成任务 + List gzqPackageinfoivtList = packageinfoivtService.selectEmpPoints(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("空")); + if (ObjectUtils.isEmpty(gzqPackageinfoivtList)) { + return; + } + + task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); + task.put("vehicle_code", selectEmpPoints.get(0).getContainer_name()); + task.put("point_code1", selectEmpPoints.get(0).getPoint_code()); + task.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务")); + task.put("point_code2", gzqPackageinfoivtList.get(0).getPoint_code()); + gzqTask.createTask(task); + } else { + log.info("待检区->装箱区任务正在创建被锁住。"); + } + } finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { + lock.unlock(); + } + } + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java index a30e46a..270ba7a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/enums/IOSEnum.java @@ -67,7 +67,7 @@ public enum IOSEnum { )), //仓库id - STOR_ID(MapOf.of("二期", "1582991156504039455")), + STOR_ID(MapOf.of("印尼仓库", "1582991156504039424")), //仓位锁定类型 LOCK_OPERATE(MapOf.of("入库锁定", "1","入库取消","2")), @@ -79,7 +79,7 @@ public enum IOSEnum { SECT_TYPE(MapOf.of("主存区", "00","暂存区","01","虚拟区","09")), //库区 - SECT_ID(MapOf.of("二期主存区", "1748219897940414464")), + SECT_ID(MapOf.of("印尼主存区", "2026561243103498240")), //库存变动类型 IVT_CHANGE(MapOf.of("加待入", "31","加库存","33","减待入","32","加冻结","11","减冻结","12","减库存","21")), 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 0cb6b37..fbb44c4 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 @@ -1676,11 +1676,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -1812,11 +1812,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java index 96294b1..c9c1393 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java @@ -366,11 +366,11 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } attrParam.put("height", height); StIvtSectattr stIvtSectattr = stIvtSectattrMapper.selectOne(new QueryWrapper().eq("sect_id", jsonObject.getString("sect_id"))); 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 c844eb1..d231130 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 @@ -263,7 +263,7 @@ public class InBussManageServiceImpl implements InBussManageService { } // 主表 JSONObject mst = new JSONObject(); - mst.put("stor_id", IOSEnum.STOR_ID.code("二期")); + mst.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库")); mst.put("bill_status", IOSEnum.BILL_STATUS.code("生成")); mst.put("total_qty", pdmBiSubpackagerelations.stream().map(row -> Double.valueOf(row.getNet_weight())).reduce(Double::sum).orElse(0.00)); mst.put("detail_count", pdmBiSubpackagerelations.size()); @@ -338,8 +338,8 @@ public class InBussManageServiceImpl implements InBussManageService { jsonDiv.put("checked", true); jsonDiv.put("is_send", IOSEnum.IS_SEND.code("是")); jsonDiv.put("point_code", jsonObject.getString("device_code")); - jsonDiv.put("sect_id", IOSEnum.SECT_ID.code("二期主存区")); - jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("二期")); + jsonDiv.put("sect_id", IOSEnum.SECT_ID.code("印尼主存区")); + jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("印尼仓库")); jsonDiv.put("material_barcode", jsonObject.getString("material_barcode")); jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code")); jsonDiv.put("vehicle_type", jsonObject.getString("vehicleType")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index b619e5d..2d00046 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -469,11 +469,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "'1','2','3'"; + height = "1,2,3"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -649,11 +649,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "'1','2','3'"; + height = "1,2,3"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); moveParam.put("vehicle_type", boxDao.getVehicle_type()); @@ -783,11 +783,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "'1','2','3'"; + height = "1,2,3"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); @@ -898,11 +898,11 @@ public class OutBussManageServiceImpl implements OutBussManageService { String box_high = boxDao.getBox_high(); if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { - height = "'1','2','3'"; + height = "1,2,3"; } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { - height = "'2','3'"; + height = "2,3"; } else { - height = "'3'"; + height = "3"; } moveParam.put("height", height); diff --git a/lms/nladmin-system/src/main/java/org/nl/start/Init.java b/lms/nladmin-system/src/main/java/org/nl/start/Init.java index 0bc92c1..afd4b4d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/start/Init.java +++ b/lms/nladmin-system/src/main/java/org/nl/start/Init.java @@ -21,8 +21,8 @@ public class Init implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { // initTwoAttr(4,30,3,2, "2"); -// createAttr(); -// initTwoAttr2(1,10,2, 2, 1, 2); + createAttr(); + initTwoAttr2(1,10,2, 2, 1, 2); } @@ -69,8 +69,8 @@ public class Init implements ApplicationRunner { String struct_code = "L" + row + "-" + col_num + "-" + layer_num + ""; - JSONObject jsonObject = tab2.query("stor_id = '1582991156504039455'").uniqueResult(0); - JSONObject jsonObjec2 = tab3.query("stor_id = '1582991156504039455' and sect_code = 'BZC01'").uniqueResult(0); + JSONObject jsonObject = tab2.query("stor_id = '1582991156504039424'").uniqueResult(0); + JSONObject jsonObjec2 = tab3.query("stor_id = '1582991156504039424' and sect_code = 'NC02'").uniqueResult(0); // 新增仓位 json.put("sect_id", jsonObjec2.getString("sect_id")); @@ -286,8 +286,8 @@ public class Init implements ApplicationRunner { json.put("struct_code", "91-"+i+"-01"); json.put("struct_name", "91排"+i+"列-01层"); } - JSONObject jsonObject = tab2.query("stor_id = '1597073830499717138'").uniqueResult(0); - JSONObject jsonObjec2 = tab3.query("stor_id = '1597073830499717138' and sect_code = 'XN91'").uniqueResult(0); + JSONObject jsonObject = tab2.query("stor_id = '1582991156504039424'").uniqueResult(0); + JSONObject jsonObjec2 = tab3.query("stor_id = '1582991156504039424' and sect_code = 'NC02'").uniqueResult(0); // 新增仓位 json.put("simple_name", json.getString("struct_name")); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java index 115422e..df49fbc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java @@ -161,7 +161,10 @@ public class FeedingServiceImpl implements FeedingService { public JSONObject handleConfirm(JSONObject form) { JSONObject json = form.getJSONObject("raw_jo"); String next_point_code = json.getString("point_code"); - String container_name = json.getString("container_name"); + String container_name = json.getString("parent_container_name"); + if (StrUtil.isEmpty(container_name)){ + container_name = json.getString("restruct_container_name"); + } StIvtCutpointivt cut_jo = stIvtCutpointivtMapper.selectOne(new LambdaQueryWrapper().eq(StIvtCutpointivt::getPoint_code, next_point_code)); if (ObjectUtil.isEmpty(cut_jo)) { throw new BadRequestException("找不到分切机:" + next_point_code + "的点位!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java index 3d944cf..aed9019 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java @@ -312,7 +312,7 @@ public class CoolCutTask extends AbstractAcsTask { coolPointIvtMapper.updateById(jsonCoolIvt); //更新母卷状态 - RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper().eq(RawfoilWorkOrder::getContainer_name, schBaseTask.getMaterial_code())); + RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper().eq(RawfoilWorkOrder::getContainer_name, schBaseTask.getVehicle_code())); rawfoilWorkOrder.setOrigin("3"); rawfoilWorkOrder.setRoll_status("3"); rawfoilWorkOrder.setUpdate_optid(currentUserId); diff --git a/lms/nladmin-system/src/main/resources/config/application-localDev.yml b/lms/nladmin-system/src/main/resources/config/application-localDev.yml index c6a0134..6c64c2c 100644 --- a/lms/nladmin-system/src/main/resources/config/application-localDev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-localDev.yml @@ -43,9 +43,9 @@ spring: reset-enable: false filters: DruidFilter,stat - url: jdbc:mysql://localhost:3306/ynhl_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true + url: jdbc:mysql://192.168.81.251:3306/yinni_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: root - password: password + password: P@ssw0rd. slave: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver @@ -84,9 +84,9 @@ spring: reset-enable: false filters: DruidFilter,stat - url: jdbc:mysql://127.0.0.1:3306/ynhl_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true + url: jdbc:mysql://192.168.81.251:3306/yinni_lms?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: root - password: password + password: P@ssw0rd. rules: readwrite-splitting: data-sources: