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 6fa312241..bd9c8f11d 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 @@ -17,8 +17,10 @@ import org.nl.b_lms.sch.point.dao.SchBasePoint; import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService; +import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService; import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; +import org.nl.b_lms.storage_manage.database.service.dao.MdpbBoxtype; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; @@ -54,6 +56,12 @@ public class TwoLashTask extends AbstractAcsTask { @Autowired private IBstIvtBoxinfoService iBstIvtBoxinfoService; + /** + * 木箱类型信息服务 + */ + @Autowired + private IMdpbBoxtypeService iMdpbBoxtypeService; + @Override public List addTask() { /* @@ -86,15 +94,23 @@ public class TwoLashTask extends AbstractAcsTask { throw new BadRequestException("未查询到相关木箱信息!"); } + // 查询木箱类型信息 + MdpbBoxtype boxTypeDao = iMdpbBoxtypeService.getById(dao.get(0).getMaterial_code()); + if (ObjectUtil.isEmpty(boxTypeDao)) { + throw new BadRequestException("木箱类型信息不存在!木箱料号为:"+dao.get(0).getMaterial_code()); + } + JSONObject interaction_json = new JSONObject(); interaction_json.put("isLeave", json.getString("is_auto_issue")); interaction_json.put("length", dao.get(0).getBox_length()); interaction_json.put("weight", dao.get(0).getBox_width()); interaction_json.put("height", dao.get(0).getBox_high()); - interaction_json.put("template", dao.get(0).getLash_num()); - //第二次捆扎次数 - interaction_json.put("bindingTimes", "3"); - interaction_json.put("isBinding", IOSEnum.IS_SEND.code("是")); + // 捆扎模版 + interaction_json.put("template", boxTypeDao.getLash_num()); + // 第二次捆扎次数 + interaction_json.put("bindingTimes", boxTypeDao.getLash_num_tow()); + // 是否二次捆扎 + interaction_json.put("isBinding", boxTypeDao.getNeed_lash_two()); char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() .ext_task_id(json.getString("task_id")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java index ed44e9ed7..065a7faa8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java @@ -7,8 +7,15 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; +import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; +import org.nl.b_lms.storage_manage.database.service.dao.MdpbBoxtype; +import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapper; +import org.nl.b_lms.storage_manage.database.service.dao.mapper.MdpbBoxtypeMapper; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; @@ -21,9 +28,11 @@ import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.CutConveyorTask; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @@ -35,6 +44,18 @@ import static org.nl.wms.util.TaskUtil.getRoutePlanCode; public class TwoSendOutTask extends AbstractAcsTask { private final String THIS_CLASS = TwoSendOutTask.class.getName(); + /** + * 木箱信息服务 + */ + @Resource + private BstIvtBoxinfoMapper iBstIvtBoxinfoService; + + /** + * 木箱类型信息服务 + */ + @Resource + private MdpbBoxtypeMapper iMdpbBoxtypeService; + @Override public List addTask() { /* @@ -43,15 +64,28 @@ public class TwoSendOutTask extends AbstractAcsTask { WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); 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); - // 获取系统参数 - String expandWidthLength = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("expandWidthLength").getValue(); - JSONObject param = new JSONObject(); - param.put("expandWidthLength",expandWidthLength); + JSONObject param = new JSONObject(); ArrayList resultList = new ArrayList<>(); for (int i = 0; i < arr.size(); i++) { JSONObject json = arr.getJSONObject(i); + // 根据木箱号查询木箱信息 + BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.selectOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, json.getString("vehicle_code")) + ); + if (ObjectUtil.isEmpty(boxDao)) { + throw new BadRequestException("未查询到相关木箱信息!"); + } + + // 查询木箱类型信息 + MdpbBoxtype boxTypeDao = iMdpbBoxtypeService.selectById(boxDao.getMaterial_code()); + if (ObjectUtil.isEmpty(boxTypeDao)) { + throw new BadRequestException("木箱类型信息不存在!木箱料号为:"+boxDao.getMaterial_code()); + } + param.put("expandWidthLength",boxTypeDao.getExpend_width()); + char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() .ext_task_id(json.getString("task_id")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java index 58af8a8da..fbdc25e06 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -16,8 +16,10 @@ import org.nl.b_lms.sch.tasks.TwoLashTask; import org.nl.b_lms.sch.tasks.TwoOutHeapTask; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService; +import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService; import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; +import org.nl.b_lms.storage_manage.database.service.dao.MdpbBoxtype; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService; import org.nl.common.utils.IdUtil; @@ -65,6 +67,11 @@ public class LashManageServiceImpl implements LashManageService { */ private final TwoLashTask twoLashTask; + /** + * 木箱类型信息服务 + */ + private final IMdpbBoxtypeService iMdpbBoxtypeService; + @Override @Transactional public void createLashTask(JSONObject whereJson) { @@ -245,22 +252,31 @@ public class LashManageServiceImpl implements LashManageService { .eq(BstIvtBoxinfo::getBox_no, whereJson.getString("vehicle_code")) ); + // 根据木箱料号查询木箱类型信息 + MdpbBoxtype boxTypeDao = iMdpbBoxtypeService.getById(boxDao.getMaterial_code()); + if (ObjectUtil.isEmpty(boxTypeDao)) { + throw new BadRequestException("木箱类型信息不存在!木箱料号为:"+boxDao.getMaterial_code()); + } + // 返回参数 result.put("length", boxDao.getBox_length()); result.put("width", boxDao.getBox_width()); result.put("height", boxDao.getBox_high()); result.put("case", boxDao.getMaterial_code()); - result.put("isBinding", IOSEnum.IS_SEND.code("是")); + // 是否捆扎 + result.put("isBinding", boxTypeDao.getNeed_lash_one()); + // TODO 是否贴标 result.put("isLabeling", IOSEnum.IS_SEND.code("否")); - + // TODO 贴标模版 result.put("labelingTemplate", boxDao.getLash_num()); - //捆扎模板 - result.put("bindingTemplate", boxDao.getLash_num()); + // 捆扎模板 + result.put("bindingTemplate", boxTypeDao.getLash_num()); + // TODO 打印机 result.put("printDevice", "1"); - + // TODO 贴标数量 result.put("printQty", "1"); - //第一次捆扎次数 - result.put("bundleTimes", "3"); + // 第一次捆扎次数 + result.put("bundleTimes", boxTypeDao.getLash_num_one()); return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java index 29c231f95..afb714354 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/SendOutManageServiceImpl.java @@ -49,6 +49,11 @@ public class SendOutManageServiceImpl implements SendOutManageService { */ private final SchBasePointMapper schBasePointMapper; + /** + * 发货服务 + */ + private final TwoSendOutTask twoSendOutTask; + @Override @Transactional public void createSendOutTask(JSONObject whereJson) { @@ -196,8 +201,7 @@ public class SendOutManageServiceImpl implements SendOutManageService { task_jo.put("point_code2", point_code); task_jo.put("vehicle_code", vehicleCode); task_jo.put("task_type", "010708"); - TwoSendOutTask taskBean = new TwoSendOutTask(); - taskBean.createTask(task_jo); + twoSendOutTask.createTask(task_jo); // 锁住点位 ischBasePointService.update( @@ -366,8 +370,7 @@ public class SendOutManageServiceImpl implements SendOutManageService { task_jo.put("point_code4", point_code); task_jo.put("vehicle_code", vehicleCode); task_jo.put("task_type", "010708"); - TwoSendOutTask taskBean = new TwoSendOutTask(); - taskBean.createTask(task_jo); + twoSendOutTask.createTask(task_jo); // 锁住点位 ischBasePointService.update(