diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java index bbefbee..133d92e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/VehicleTwoServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.b_lms.pda.service.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -10,6 +11,10 @@ import org.nl.b_lms.pda.service.VehicleTwoService; import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound; import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService; import org.nl.b_lms.pdm.productSpec.service.impl.PdmProductSpecServiceImpl; +import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext; +import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService; +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.SchBasePoint; import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -37,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -70,7 +76,8 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { @Autowired private LmsToMesService lmsToMesService; - + @Autowired + private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService; /** * 点位服务 */ @@ -79,8 +86,9 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { @Autowired private InBussManageService inBussManageService; + @Autowired - private IPdmBiContainerinboundService iPdmBiContainerinboundService; + private IMdPbStoragevehicleextService mdPbStoragevehicleextService; @Override @Transactional(rollbackFor = Exception.class) @@ -183,9 +191,9 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { public JSONObject boxIn(JSONObject whereJson) { // 调用接口 String startCode = whereJson.getString("point_code"); - if ("MXRKW1".equals(startCode)){ + if ("MXRKW1".equals(startCode)) { inBoxManageService.boxBinVehicle(whereJson); - }else if ("THRKDJW1".equals(startCode)){ + } else if ("THRKDJW1".equals(startCode)) { inBoxManageService.boxBinVehicleByTHRK(whereJson); } JSONObject result = new JSONObject(); @@ -211,39 +219,26 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { String a = JSONObject.toJSONString(msg); List list = JSONObject.parseObject(a, List.class); Optional 称重 = list.stream().filter(m -> m.contains("称重")).findAny(); - if (称重.isPresent()){ + if (称重.isPresent()) { System.out.println(称重.get()); } } + @Override @Transactional(rollbackFor = Exception.class) public JSONObject reback(JSONObject whereJson) { - WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); - String bill_type = whereJson.getString("bill_type"); whereJson.put("material_barcode", whereJson.getString("box_no")); whereJson.put("device_code", whereJson.getString("point_code")); - if ("RK1002".equals(whereJson.getString("point_code"))){ + if (IOSEnum.SPECIAL_POINTS.code("异常出库口").equals(whereJson.getString("point_code"))) { List list = ischBaseTaskService.list(new QueryWrapper() .select("task_id") - .eq("point_code2", "RK1004") + .eq("point_code2", IOSEnum.SPECIAL_POINTS.code("异常出库口")) .eq("task_type", "010706") .eq("is_delete", "0") .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (!CollectionUtils.isEmpty(list)){ - throw new BadRequestException("稍后再试,异常口存在正在执行的任务"+ list.stream().map(SchBaseTask::getTask_id).collect(Collectors.joining(","))); - } - Param forceWeight = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("force_weight"); - if (forceWeight!=null && "1".equals(forceWeight.getValue())){ - PdmBiContainerinbound one = iPdmBiContainerinboundService.getOne(new QueryWrapper() - .eq("box", whereJson.getString("box_no"))); - if (one!=null && !StringUtils.isEmpty(one.getRemark())){ - List remark = JSONObject.parseObject(one.getRemark(), List.class); - Optional 称重 = remark.stream().filter(m -> m.contains("称重")).findAny(); - if (称重.isPresent()){ - throw new BadRequestException("开启称重强制校验"+称重.get()); - } - } + if (!CollectionUtils.isEmpty(list)) { + throw new BadRequestException("稍后再试,异常口存在正在执行的任务" + list.stream().map(SchBaseTask::getTask_id).collect(Collectors.joining(","))); } } if (bill_type.equals("1")) { @@ -256,15 +251,17 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { whereJson.put("bill_type", IOSEnum.IN_TYPE.code("手工入库")); } whereJson.put("box_no", whereJson.getString("box_no")); - JSONArray resultJSONArray = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + whereJson.getString("material_barcode") + "' AND status in ('0','1')").getResultJSONArray(0); - if (ObjectUtil.isEmpty(resultJSONArray)) { + List sub_list = ipdmBiSubpackagerelationService.list(new LambdaQueryWrapper() + .eq(PdmBiSubpackagerelation::getPackage_box_sn, whereJson.getString("material_barcode")) + .in(PdmBiSubpackagerelation::getStatus, Arrays.asList('0', '1'))); + if (ObjectUtil.isEmpty(sub_list)) { throw new BadRequestException("未查询到子卷包装信息!"); } String material_barcode = ""; List subs = new ArrayList<>(); - for (int i = 0; i < resultJSONArray.size(); i++) { - JSONObject resultObj = resultJSONArray.getJSONObject(i); - String containerName = resultObj.getString("container_name"); + for (int i = 0; i < sub_list.size(); i++) { + PdmBiSubpackagerelation sub_jo = sub_list.get(i); + String containerName = sub_jo.getContainer_name(); subs.add(containerName); if (i == 0) { material_barcode = containerName; @@ -273,10 +270,10 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { } } whereJson.put("material_barcode", material_barcode); - if (StringUtils.isBlank(resultJSONArray.getJSONObject(0).getString("package_box_sn"))) { + if (StringUtils.isBlank(sub_list.get(0).getPackage_box_sn())) { throw new BadRequestException("木箱号不能为空!"); } - String boxNo = resultJSONArray.getJSONObject(0).getString("package_box_sn"); + String boxNo = sub_list.get(0).getPackage_box_sn(); BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( new QueryWrapper().lambda() .eq(BstIvtBoxinfo::getBox_no, boxNo) @@ -286,46 +283,31 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { boxDao.setIs_packing("1"); iBstIvtBoxinfoService.updateById(boxDao); } else { - //查询mes木箱信息,插入木箱信息表 - try { - JSONObject jo = new JSONObject(); - jo.put("box_no", boxNo); - lmsToMesService.momGetPackingInfo(jo); - } catch (Exception ex) { - throw new BadRequestException("MES系统未查询到木箱信息!"); - } - BstIvtBoxinfo boxDao1 = iBstIvtBoxinfoService.getOne( - new QueryWrapper().lambda() - .eq(BstIvtBoxinfo::getBox_no, boxNo) - ); - boxDao1.setIs_packing("1"); - iBstIvtBoxinfoService.updateById(boxDao1); - whereJson.put("vehicleType", boxDao1.getVehicle_type()); + throw new BadRequestException("为查询到木箱【" + boxNo + "】相关信息"); } // 更新载具对应木箱信息 - JSONObject jsonExt = extTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonExt)) { - throw new BadRequestException("载具不存在!"+whereJson.getString("vehicle_code")); + MdPbStoragevehicleext ext_jo = mdPbStoragevehicleextService.getOne(new LambdaQueryWrapper().eq(MdPbStoragevehicleext::getStoragevehicle_code, whereJson.getString("vehicle_code"))); + if (ObjectUtil.isEmpty(ext_jo)) { + throw new BadRequestException("载具不存在!" + whereJson.getString("vehicle_code")); } int hasTask = ischBaseTaskService.count(new QueryWrapper() .eq("is_delete", "0") .eq("vehicle_code2", whereJson.getString("vehicle_code")) .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (hasTask>0){ - throw new BadRequestException("托盘"+whereJson.getString("vehicle_code")+"存在执行的任务"); + if (hasTask > 0) { + throw new BadRequestException("托盘" + whereJson.getString("vehicle_code") + "存在执行的任务"); } - String pcsn = jsonExt.getString("pcsn"); - if (StringUtils.isNotEmpty(pcsn)){ + String pcsn = ext_jo.getPcsn(); + if (StringUtils.isNotEmpty(pcsn)) { JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + pcsn + "'").getResultJSONArray(0); if (stIvtStructattr != null && stIvtStructattr.size() > 0) { - throw new BadRequestException("当前托盘"+whereJson.getString("vehicle_code")+"已经绑定木箱"+pcsn); + throw new BadRequestException("当前托盘" + whereJson.getString("vehicle_code") + "已经绑定木箱" + pcsn); } } - jsonExt.put("pcsn", whereJson.getString("box_no")); - extTab.update(jsonExt); + ext_jo.setPcsn(whereJson.getString("box_no")); + mdPbStoragevehicleextService.updateById(ext_jo); inBussManageService.inTask(whereJson); - PdmProductSpecServiceImpl.doRecord(SpecEnum.RK_YC,null,Boolean.TRUE,null,subs); JSONObject result = new JSONObject(); result.put("message", "入库成功!"); return result; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java index 252b350..fd8e490 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java @@ -3,16 +3,25 @@ package org.nl.b_lms.sch.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.dto.SchBaseTaskVO; +import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -29,6 +38,9 @@ import static org.nl.wms.util.TaskUtil.getRoutePlanCode; @Service public class TwoInBoxTrussTask extends AbstractAcsTask { + @Autowired + private IschBaseTaskService ischBaseTaskService; + /** * 处理类 */ @@ -39,29 +51,31 @@ public class TwoInBoxTrussTask extends AbstractAcsTask { /* * 下发给ACS时需要特殊处理 */ - JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0); + List task_list = ischBaseTaskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getHandle_class, THIS_CLASS) + .eq(SchBaseTask::getTask_status, TaskStatusEnum.START_AND_POINT.getCode()) + .eq(SchBaseTask::getIs_delete, "0")); ArrayList resultList = new ArrayList<>(); - for (int i = 0; i < arr.size(); i++) { - JSONObject json = arr.getJSONObject(i); - //JSONObject params = json.getJSONObject("params"); - char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); + for (int i = 0; i < task_list.size(); i++) { + SchBaseTask task = task_list.get(i); + char dtl_type = task.getTask_type().charAt(task.getTask_type().length() - 1); AcsTaskDto dto = AcsTaskDto.builder() - .ext_task_id(json.getString("task_id")) - .task_code(json.getString("task_code")) - .task_type(json.getString("acs_task_type")) - .start_device_code(json.getString("point_code1")) - .next_device_code(json.getString("point_code2")) - .route_plan_code(getRoutePlanCode(json.getString("point_code2"))) - .vehicle_code(json.getString("vehicle_code")) - .priority(json.getString("priority")) + .ext_task_id(task.getTask_id()) + .task_code(task.getTask_code()) + .task_type(task.getAcs_task_type()) + .start_device_code(task.getPoint_code1()) + .next_device_code(task.getPoint_code2()) + .route_plan_code(getRoutePlanCode(task.getPoint_code2())) + .vehicle_code(task.getVehicle_code()) + .priority(task.getPriority()) .class_type(IOSEnum.ACS_TYPE.code("木箱入库行架任务")) .dtl_type(String.valueOf(dtl_type)) - .interaction_json(json.getJSONObject("request_param")) - .remark(json.getString("remark")) + .interaction_json((JSONObject) JSONObject.parse(task.getRequest_param())) + .remark(task.getRemark()) .product_area(IOSEnum.PRODUCT_AREA.code("BLK")) .build(); - dto.setClass_type(json.getString("point_code1").equals(IOSEnum.POINT_CODE.code("退货入库位")) + dto.setClass_type(task.getPoint_code1().equals(IOSEnum.POINT_CODE.code("退货入库位")) ? IOSEnum.ACS_TYPE.code("退货入库行架任务") : IOSEnum.ACS_TYPE.code("木箱入库行架任务") ); @@ -73,43 +87,34 @@ public class TwoInBoxTrussTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { - // 任务表 - WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); - // 更新任务的参数 - JSONObject map = new JSONObject(); + SchBaseTask task = new SchBaseTask(); /* * 1-执行中, 2-完成 ,0-acs取消 */ // 执行中 if (status.equals(TaskStatusEnum.EXECUTING.getCode())) { - - map.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + task.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } // 完成 if (status.equals(TaskStatusEnum.FINISHED.getCode())) { - - map.put("task_status", TaskStatusEnum.FINISHED.getCode()); + task.setTask_status(TaskStatusEnum.FINISHED.getCode()); } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { - if (taskObj.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) { throw new BadRequestException("任务已执行不能取消"); } - // 更新任务表删除字段 - map.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); - + task.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); } - map.put("update_optid", SecurityUtils.getCurrentUserId()); - map.put("update_optname", SecurityUtils.getCurrentNickName()); - map.put("update_time", DateUtil.now()); - - WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'"); + task.setUpdate_optid(SecurityUtils.getCurrentUserId()); + task.setUpdate_optname(SecurityUtils.getCurrentNickName()); + task.setUpdate_time(DateUtil.now()); + ischBaseTaskService.update(task, new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, task.getTask_id())); } @Override @@ -138,39 +143,44 @@ public class TwoInBoxTrussTask extends AbstractAcsTask { throw new BadRequestException("终点不能为空!"); } - JSONObject json = new JSONObject(); - json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); - json.put("task_type", form.getString("task_type")); - json.put("vehicle_code", form.getString("vehicle_code")); - json.put("vehicle_code2", form.getString("vehicle_code2")); - json.put("vehicle_type", form.getString("vehicle_type")); - json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); - json.put("task_group_id", form.getLongValue("task_group_id")); - json.put("point_code1", form.getString("start_device_code")); - json.put("point_code2", form.getString("next_device_code")); - json.put("product_area", "BLK"); - json.put("handle_class", this.getClass().getName()); - json.put("create_id", SecurityUtils.getCurrentUserId()); - json.put("create_name", SecurityUtils.getCurrentUsername()); - json.put("create_time", DateUtil.now()); - json.put("priority", "1"); - json.put("acs_task_type", "6"); - json.put("request_param", form.getString("request_param")); - WQLObject.getWQLObject("SCH_BASE_Task").insert(json); - return json.getString("task_id"); + SchBaseTaskVO schBaseTaskVo = SchBaseTaskVO.builder() + .task_id(org.nl.common.utils.IdUtil.getStringId()) + .task_code(org.nl.common.utils.IdUtil.getStringId()) + .task_type(form.getString("task_type")) + .vehicle_code(form.getString("vehicle_code")) + //二次分配要用的类型 + .vehicle_code2(form.getString("vehicle_code2")) + .vehicle_type(form.getString("vehicle_type")) + .task_status(TaskStatusEnum.START_AND_POINT.getCode()) + .task_group_id(form.getString("task_group_id")) + .point_code1(form.getString("start_device_code")) + .point_code2(form.getString("next_device_code")) + .product_area("BLK") + .handle_class(THIS_CLASS) + .create_id(SecurityUtils.getCurrentUserId()) + .create_name(SecurityUtils.getCurrentUsername()) + .create_time(DateUtil.now()) + .priority("1") + .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务") : form.getString("acs_task_type")) + .request_param(form.getString("request_param")) + .build(); + SchBaseTask task = new SchBaseTask(); + BeanUtils.copyProperties(schBaseTaskVo, task); + ischBaseTaskService.save(task); + + return task.getTask_id(); } @Override @Transactional(rollbackFor = Exception.class) public void forceFinish(String task_id) { - JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); - this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode()); + SchBaseTask task_jo = ischBaseTaskService.getOne(new LambdaQueryWrapper().eq(SchBaseTask::getTask_id, task_id)); + updateTaskStatus(JSONObject.parseObject(JSON.toJSONString(task_jo)), TaskStatusEnum.FINISHED.getCode()); } @Override public void cancel(String task_id) { - JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); - this.updateTaskStatus(taskObj, IOSEnum.ACS_RESULT.code("取消")); + SchBaseTask task_jo = ischBaseTaskService.getOne(new LambdaQueryWrapper().eq(SchBaseTask::getTask_id, task_id)); + updateTaskStatus(JSONObject.parseObject(JSON.toJSONString(task_jo)), IOSEnum.ACS_RESULT.code("取消")); } } 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 f0b927b..63a7dda 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 @@ -9,9 +9,14 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext; +import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService; +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.SchBasePoint; import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -37,6 +42,7 @@ import org.nl.wms.ext.mes.service.LmsToMesService; import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.pdm.bi.service.SubpackagerelationService; import org.nl.wms.sch.manage.TaskStatusEnum; +import org.nl.wms.sch.service.TaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -91,6 +97,15 @@ public class InBoxManageServiceImpl implements InBoxManageService { @Autowired private InBussManageService inBussManageService; + @Autowired + private IMdPbStoragevehicleextService mdPbStoragevehicleextService; + + @Autowired + private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService; + + @Autowired + private IschBaseTaskService schBaseTaskService; + @Override @Transactional(rollbackFor = Exception.class) public void inBox(JSONObject whereJson) { @@ -115,11 +130,12 @@ public class InBoxManageServiceImpl implements InBoxManageService { .eq("is_delete", "0") .orderByDesc("task_id") .last("limit 1")); - if (one!=null){ + if (one != null) { String vehicleCode2 = one.getVehicle_code2(); - if (whereJson.getString("vehicle_code").equals(vehicleCode2)){ - throw new BadRequestException("当前托盘"+whereJson.getString("vehicle_code")+"已经存在木箱入库任务"+one.getTask_code()); - }; + if (whereJson.getString("vehicle_code").equals(vehicleCode2)) { + throw new BadRequestException("当前托盘" + whereJson.getString("vehicle_code") + "已经存在木箱入库任务" + one.getTask_code()); + } + ; } //查询仓库是否存在相同木箱 JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + boxNo + "'").getResultJSONArray(0); @@ -370,7 +386,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { param.put("height", boxDao.getBox_high()); param.put("containerType", boxDao.getVehicle_type()); - param.put("barcode", whereJson.getString("box_no") + "-9" ); + param.put("barcode", whereJson.getString("box_no") + "-9"); //根据木箱高度,判断入库仓位的高度 String height = ""; String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); @@ -427,28 +443,18 @@ public class InBoxManageServiceImpl implements InBoxManageService { .ge(SchBaseTask::getCreate_time, queryDate) .le(SchBaseTask::getCreate_time, DateUtil.now()) ); - if (hasCount>0) { - throw new BadRequestException("当前木箱【"+whereJson.getString("box_no")+"】在1个小时之内生成过行架任务!"); + if (hasCount > 0) { + throw new BadRequestException("当前木箱【" + whereJson.getString("box_no") + "】在1个小时之内生成过行架任务!"); } // 根据木箱号查询是否有托盘绑定关系,如果有则解绑 - JSONObject jsonExt = WQLObject.getWQLObject("md_pb_storagevehicleext") - .query("pcsn = '" + whereJson.getString("box_no") + "'") - .uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonExt)) { - JSONObject param = new JSONObject(); - param.put("pcsn", ""); - WQLObject.getWQLObject("md_pb_storagevehicleext") - .update(param, "pcsn = '" + whereJson.getString("box_no") + "'"); + MdPbStoragevehicleext ext_jo = mdPbStoragevehicleextService.getOne(new QueryWrapper().lambda().eq(MdPbStoragevehicleext::getPcsn, whereJson.getString("box_no"))); + if (ObjectUtil.isNotEmpty(ext_jo)) { + mdPbStoragevehicleextService.update( + new UpdateWrapper().lambda().set(MdPbStoragevehicleext::getPcsn, "").eq(MdPbStoragevehicleext::getPcsn, whereJson.getString("box_no")) + ); } - // 更新子卷包装关系创建人 - JSONObject param2 = new JSONObject(); - param2.put("create_id", SecurityUtils.getCurrentUserId()); - param2.put("create_name", SecurityUtils.getCurrentNickName()); - WQLObject.getWQLObject("pdm_bi_subpackagerelation") - .update(param2, "package_box_sn = '" + whereJson.getString("box_no") + "'"); - /* * 查询mes木箱信息,插入木箱信息表 */ @@ -457,14 +463,23 @@ public class InBoxManageServiceImpl implements InBoxManageService { throw new BadRequestException("未查询到子卷包装信息!"); } + // 更新子卷包装关系创建人 + ipdmBiSubpackagerelationService.update(new UpdateWrapper().lambda() + .set(PdmBiSubpackagerelation::getCreate_id, SecurityUtils.getCurrentUserId()) + .set(PdmBiSubpackagerelation::getCreate_name, SecurityUtils.getCurrentNickName()) + .eq(PdmBiSubpackagerelation::getPackage_box_sn, whereJson.getString("box_no"))); + + //木箱信息从木箱表里维护 // lmsToMesService.momGetPackingInfo(whereJson); //判断当前点位是否存在任务,如果存在则不生成任务 - WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - JSONObject jsonObject = wo_Task.query("point_code1 = '" + whereJson.getString("point_code") + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonObject)) { - throw new BadRequestException("点位【" + jsonObject.getString("point_code1") + "】存在未完成的任务!"); + SchBaseTask task_jo = schBaseTaskService.getOne(new LambdaQueryWrapper() + .eq(SchBaseTask::getPoint_code1, whereJson.getString("point_code")) + .lt(SchBaseTask::getTask_status, "07") + .eq(SchBaseTask::getIs_delete, "0")); + if (ObjectUtil.isNotEmpty(task_jo)) { + throw new BadRequestException("点位【" + task_jo.getPoint_code1() + "】存在未完成的任务!"); } @@ -485,7 +500,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject taskParam = new JSONObject(); taskParam.put("task_type", "010713"); taskParam.put("start_device_code", whereJson.getString("point_code")); - taskParam.put("next_device_code", "CK2005"); + taskParam.put("next_device_code", IOSEnum.SPECIAL_POINTS.code("退货入库口")); taskParam.put("vehicle_code", whereJson.getString("box_no")); //taskParam.put("vehicle_code2", whereJson.getString("box_no")); JSONObject param = new JSONObject(); @@ -723,7 +738,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { // 如果是移库空并且仓位为空则报错 if (ObjectUtil.isNotEmpty(block_num) && ObjectUtil.isEmpty(jsonAttr)) { - throw new BadRequestException("转库任务巷道"+block_num+"仓位不足!"); + throw new BadRequestException("转库任务巷道" + block_num + "仓位不足!"); } // 为空则新找巷道 @@ -767,6 +782,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { /** * 同巷道移库查看库位 + * * @param jsonParam * @return */ @@ -778,7 +794,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { * 判断条件:库区、仓库、是否启用、是否删除、未锁定、没有载具 */ String block_num = jsonParam.getString("move_block_num"); - if (StringUtils.isEmpty(block_num)){ + if (StringUtils.isEmpty(block_num)) { throw new BadRequestException("同巷道分配库位巷道参数不能为空"); } JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + @@ -802,7 +818,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { // 为空则新找巷道 if (ObjectUtil.isEmpty(jsonAttr)) { - throw new BadRequestException("当前巷道"+block_num+"没有可用库位"); + throw new BadRequestException("当前巷道" + block_num + "没有可用库位"); } notInRowList.clear(); 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 4ac1b5e..fc43a1d 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 @@ -304,16 +304,6 @@ public class InBussManageServiceImpl implements InBussManageService { subs.add(pdmBiSubpackagerelation.getContainer_name()); } String package_box_sn = (String) tableData.get(0).get("package_box_sn"); - - try { - JSONObject param_jo = new JSONObject(); - param_jo.put("box_no", package_box_sn); - param_jo.put("box_weight", pdmBiSubpackagerelations.get(0).getBox_weight()); - param_jo.put("container_name", subs); - lmsToMesServiceImpl.BoxDataCollectionSubmit2(param_jo); - } catch (Exception e) { - log.error("验箱回传MES异常,BoxDataCollectionSubmit2给MES传输子卷包装关系异常,木箱号为:" + package_box_sn + ",异常信息:" + e); - } mst.put("tableData", tableData); // 判断是否已经生成过入库单 JSONObject param = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java index a8987d4..a738b85 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/TwoInBussManageServiceImpl.java @@ -101,7 +101,7 @@ public class TwoInBussManageServiceImpl implements TwoInBussManageService { structattrQuerry.setStor_id(jsonObject.getString("stor_id")); structattrQuerry.setSect_id(jsonObject.getString("sect_id")); structattrQuerry.setMaterial_id(jsonObject.getString("material_id")); - structattrQuerry.setStor_id(jsonObject.getString("vehicle_type")); + structattrQuerry.setVehicle_type(jsonObject.getString("vehicle_type")); structattrQuerry.setHeight(result); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java index 4691286..790ab1a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java @@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.md.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.storage_manage.md.dao.MdMeMaterialBase; import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; import org.springframework.data.domain.Pageable; @@ -14,7 +15,7 @@ import java.util.Map; * @description 服务接口 * @date 2021-12-07 **/ -public interface MaterialbaseService { +public interface MaterialbaseService extends IService { /** * 查询数据分页 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java index e675397..2f31c37 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java @@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.storage_manage.md.dao.MdMeMaterialBase; @@ -43,7 +44,7 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Slf4j -public class MaterialbaseServiceImpl implements MaterialbaseService { +public class MaterialbaseServiceImpl extends ServiceImpl implements MaterialbaseService { private final ClassstandardService classstandardService; private final MdMeMaterialBaseMapper mdMeMaterialBaseMapper; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml index 5ee2b6f..3adf8b0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructattrMapper.xml @@ -14,11 +14,11 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') = '' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id - AND attr.storagevehicle_type = param.vehicle_type - - AND attr.block_num != param.block_num + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} + AND attr.storagevehicle_type = #{param.vehicle_type} + + AND attr.block_num != #{param.block_num} AND attr.block_num not in @@ -44,8 +44,8 @@ WHERE attr.is_used = '1' AND attr.is_delete = '0' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} AND IFNULL(attr.storagevehicle_code,'') != '' AND box.is_packing = '1' @@ -64,10 +64,10 @@ - AND attr.block_num == param.block_num + AND attr.block_num == #{param.block_num} - AND attr.row_num != param.row_num + AND attr.row_num != #{param.row_num} @@ -84,35 +84,35 @@ WHERE attr.is_used = '1' AND attr.is_delete = '0' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} AND IFNULL(attr.storagevehicle_code,'') != '' AND box.is_packing = '1' - AND mater.material_id == param.material_id + AND mater.material_id == #{param.material_id} - AND sub.customer_name == param.customer_name + AND sub.customer_name == #{param.customer_name} - AND sub.customer_name == param.customer_name + AND sub.customer_name == #{param.customer_name} - AND sub.sale_order_name == param.sale_order_name + AND sub.sale_order_name == #{param.sale_order_name} - AND sub.box_length == param.box_length + AND sub.box_length == #{param.box_length} - AND sub.box_width == param.box_width + AND sub.box_width == #{param.box_width} - AND sub.box_high == param.box_high + AND sub.box_high == #{param.box_high} @@ -145,10 +145,10 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') != '' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} AND attr.zdepth = '2' - AND attr.storagevehicle_type = param.vehicle_type + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in @@ -156,23 +156,23 @@ - AND attr.block_num == param.block_num + AND attr.block_num == #{param.block_num} - AND sub.product_name == param.product_name + AND sub.product_name == #{param.product_name} - AND sub.sale_order_name == param.sale_order_name + AND sub.sale_order_name == #{param.sale_order_name} - AND sub.box_length == param.box_length + AND sub.box_length == #{param.box_length} - AND sub.box_width == param.box_width + AND sub.box_width == #{param.box_width} - AND sub.box_high == param.box_high + AND sub.box_high == #{param.box_high} order by attr.col_num,attr.layer_num ASC @@ -186,10 +186,10 @@ WHERE attr.is_used = '1' AND attr.is_delete = '0' - AND attr.sect_id = param.sect_id + AND attr.sect_id = #{param.sect_id} - AND attr.block_num == param.block_num + AND attr.block_num == #{param.block_num} @@ -204,15 +204,15 @@ AND attr.is_delete = '0' AND attr.lock_type = '1' AND IFNULL(attr.storagevehicle_code,'') = '' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id - AND attr.storagevehicle_type = param.vehicle_type + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in #{height} - AND attr.block_num == param.block_num + AND attr.block_num == #{param.block_num} @@ -238,16 +238,16 @@ WHERE attr.is_used = '1' AND attr.is_delete = '0' - AND attr.stor_id = param.stor_id - AND attr.sect_id = param.sect_id - AND attr.storagevehicle_type = param.vehicle_type + AND attr.stor_id = #{param.stor_id} + AND attr.sect_id = #{param.sect_id} + AND attr.storagevehicle_type = #{param.vehicle_type} AND attr.height in #{height} - AND attr.block_num == param.block_num + AND attr.block_num == #{param.block_num}