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 2d3ebf4b5..9967f72cd 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 @@ -110,12 +110,10 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { // 判断点位状态 device_jo.put("device_code", "CK2005"); - JSONArray device_ja2 = new JSONArray(); device_ja2.add(device_jo); JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2); JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0); - /*// 判断是否有货 且数量小于5 if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) || (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是")) @@ -131,7 +129,6 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { JSONObject param = new JSONObject(); param.put("containerType", whereJson.getString("vehicle_type")); jsonTaskParam.put("request_param", param.toString()); - TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask(); taskBean.createTask(jsonTaskParam); taskBean.immediateNotifyAcs(null); @@ -139,7 +136,6 @@ public class VehicleTwoServiceImpl implements VehicleTwoService { result.put("message", "入库失败! 出库叠盘位已叠满!" + next_device_code); return result; }*/ - result.put("message", "入库成功!"); return result; } 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 8542aefba..a20733e35 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 @@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; @@ -22,6 +24,8 @@ import org.nl.common.utils.SecurityUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.modules.common.exception.BadRequestException; +import org.nl.wms.pdm.service.SlittingproductionplanService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.common.domain.query.PageQuery; @@ -43,11 +47,12 @@ import java.util.stream.Collectors; public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl implements IpdmBiSubpackagerelationService { - @Resource private ZxqTask zxqTask; @Resource private OutBoxManageService outBoxManageService; + @Resource + private PdmBiSlittingproductionplanMapper pdmBiSlittingproductionplanMapper; @Resource private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper; @@ -172,7 +177,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl packagerelationList= JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class); + List packagerelationList = JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class); List entityList = JSONObject.parseArray(whereJson.getJSONArray("tableMater").toJSONString(), PdmBiSubpackagerelation.class).stream() .map(PdmBiSubpackagerelation::getWorkorder_id) .map(String::valueOf) @@ -196,14 +201,13 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl 待检区,木箱码不能为空!"); } @@ -212,49 +216,70 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl zxqPointList = packageinfoivtService - // .list(new LambdaUpdateWrapper() - // .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("装箱区")) - // .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) - // .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空")) - // .orderByAsc(BstIvtPackageinfoivt::getSort_seq)); - // //装箱区有点位,就下发 - // if (CollectionUtils.isNotEmpty(zxqPointList)) { - //下发装箱区->装箱对接位桁架任务 - JSONObject jo = new JSONObject(); - jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); - //todo 测试,装箱点位-1-1 - jo.put("point_code1", "ZXQ_1_2"); - //todo 测试,装箱对接位01 - jo.put("point_code2", "ZXQ_1_1"); - jo.put("vehicle_code", packagerelationList.get(0).getContainer_name()); - jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); - jo.put("is_send", "1"); - //todo 测试,扩展参数 - JSONObject param = new JSONObject(); - //木箱最大数量 - param.put("maxNo", "1"); - //木箱放入子卷数量 - param.put("boxNo", "1"); - //是否最后子卷 - param.put("lastOne", "1"); - //子卷号 - param.put("barcode", packagerelationList.get(0).getContainer_name()); - //子卷长度 - param.put("len", packagerelationList.get(0).getLength()); - //托盘类型 1小托盘 2大托盘 - param.put("containerType", "2"); - jo.put("request_param", param.toString()); - zxqTask.createTask(jo); - // } else { - // throw new BadRequestException("装箱区暂无空余库位!"); - // } + transferToPacking(packagerelationList); } catch (Exception e) { throw new BadRequestException(e.getMessage()); } } + private void transferToPacking(List packagerelationList) { + //创建子卷搬运到装箱区任务 + // List zxqPointList = packageinfoivtService + // .list(new LambdaUpdateWrapper() + // .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("装箱区")) + // .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")) + // .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空")) + // .orderByAsc(BstIvtPackageinfoivt::getSort_seq)); + // //装箱区有点位,就下发 + // if (CollectionUtils.isNotEmpty(zxqPointList)) { + //下发装箱区->装箱对接位桁架任务 + JSONObject jo = new JSONObject(); + jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("待检区->装箱区")); + //todo 测试,装箱点位-1-1 + jo.put("point_code1", "ZXQ_1_9"); + //todo 测试,装箱对接位01 + jo.put("point_code2", "ZXQ_1_1"); + jo.put("vehicle_code", packagerelationList.get(0).getContainer_name()); + jo.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); + jo.put("is_send", "1"); + List productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper().eq(PdmBiSlittingproductionplan::getContainer_name, packagerelationList.get(0).getContainer_name())); + if (productionPlanList.isEmpty()) { + throw new BadRequestException("该子卷暂无分切计划信息"); + } + //获取纸管长度 + String containerLength = productionPlanList.get(0).getPaper_tube_or_FRP().equals("1") ? productionPlanList.get(0).getPaper_tube_description() : productionPlanList.get(0).getFRP_description(); + int maxNum = 0; + for (String part : containerLength.split("\\|")) { + String numStr = part.replaceAll("\\D+", ""); + if (!numStr.isEmpty()) { + int num = Integer.parseInt(numStr); + if (num > maxNum) { + maxNum = num; + } + } + } + //todo 测试,扩展参数 + JSONObject param = new JSONObject(); + //木箱最大数量 + param.put("maxNo", "1"); + //木箱放入子卷数量 + param.put("boxNo", "1"); + //是否最后子卷 + param.put("lastOne", "1"); + //子卷号 + param.put("barcode", packagerelationList.get(0).getContainer_name()); + //子卷长度 + param.put("len", maxNum); + //托盘类型 1小托盘 2大托盘 + param.put("containerType", "2"); + jo.put("request_param", param.toString()); + zxqTask.createTask(jo); + // } else { + // throw new BadRequestException("装箱区暂无空余库位!"); + // } + + +} /** * 多选删除 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInTask.java index 822866d28..bb0bf84e7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInTask.java @@ -63,7 +63,8 @@ public class TwoInTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) + .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .dtl_type(String.valueOf(dtl_type)) @@ -168,11 +169,13 @@ public class TwoInTask extends AbstractAcsTask { 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("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("point_code1", form.getString("start_device_code")); json.put("point_code2", form.getString("next_device_code")); json.put("handle_class", this.getClass().getName()); json.put("create_id", SecurityUtils.getCurrentUserId()); + json.put("request_param", form.getString("request_param")); json.put("create_name", SecurityUtils.getCurrentUsername()); json.put("create_time", DateUtil.now()); json.put("priority", "1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java index f3bb71b4b..a63259c79 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqTask.java @@ -175,7 +175,7 @@ public class DjqTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java index 2f7093faa..556d6dd8e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java @@ -159,7 +159,7 @@ public class GzqTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/KzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/KzjhcwTask.java index 2b2c57319..c4c0da3ad 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/KzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/KzjhcwTask.java @@ -176,7 +176,7 @@ public class KzjhcwTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java index 10d57eb01..aa4aed031 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java @@ -280,7 +280,7 @@ public class MzhcwTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java index 2847280ac..af41f8467 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java @@ -170,7 +170,7 @@ public class SsxDjwTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java index c99a2a85b..9966341a1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java @@ -180,7 +180,7 @@ public class ZxDjwTask extends AbstractAcsTask { .is_send(isSend ? "1" : "0") .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + //.product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index 609464c86..5313fcd83 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -193,7 +193,7 @@ public class ZxqTask extends AbstractAcsTask { .request_param(form.getString("request_param")) .acs_task_type(StrUtil.isEmpty(form.getString("acs_task_type")) ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : form.getString("acs_task_type")) .task_status(StrUtil.isEmpty(form.getString("task_status")) ? TaskStatusEnum.START_AND_POINT.getCode() : form.getString("task_status")) - .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "A1" : form.getString("product_area")) + .product_area(StrUtil.isEmpty(form.getString("product_area")) ? "B2" : form.getString("product_area")) .build(); SchBaseTask task = new SchBaseTask(); BeanUtils.copyProperties(schBaseTaskVo, task); 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 e0497d650..06afd39c0 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 @@ -7,14 +7,22 @@ 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.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; +import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; +import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper; +import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.pdm_manage.enums.SUBEnum; import org.nl.b_lms.sch.tasks.TwoInTask; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService; @@ -31,6 +39,7 @@ import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.ISysParamService; import org.nl.wms.basedata.st.service.StorattrService; import org.nl.wms.basedata.st.service.dto.StorattrDto; import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl; @@ -47,6 +56,7 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +73,12 @@ import java.util.stream.Collectors; @Slf4j public class StIvtIostorinvServiceImpl extends ServiceImpl implements IStIvtIostorinvService { + + /** + * 木箱信息服务 + */ + @Autowired + private IBstIvtBoxinfoService iBstIvtBoxinfoService; /** * 仓库服务 */ @@ -99,6 +115,13 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl page = PageHelper.startPage(pageQuery.getPageNumber() + 1, pageQuery.getPageSize()); @@ -278,6 +301,25 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() + .eq(BstIvtBoxinfo::getBox_no, disDao.getBox_no()) + ); + attrParam.put("vehicle_type", boxDao.getVehicle_type()); + //根据木箱高度,判断入库仓位的高度 + String height = ""; + String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue(); + String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue(); + String box_high = boxDao.getBox_high(); + if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) { + height = "1"; + } else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { + height = "2"; + } else { + height = "3"; + } + attrParam.put("height", height); JSONObject jsonSect = sectTab.query("sect_id = '" + jsonObject.getString("sect_id") + "'").uniqueResult(0); @@ -322,12 +364,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() - .set(StIvtIostorinvdis::getStruct_id,jsonAttr.getString("struct_id")) - .set(StIvtIostorinvdis::getStruct_code,jsonAttr.getString("struct_code")) - .set(StIvtIostorinvdis::getStruct_name,jsonAttr.getString("struct_name")) - .set(StIvtIostorinvdis::getSect_id,jsonAttr.getString("sect_id")) - .set(StIvtIostorinvdis::getSect_code,jsonAttr.getString("sect_code")) - .set(StIvtIostorinvdis::getSect_name,jsonAttr.getString("sect_name")) + .set(StIvtIostorinvdis::getStruct_id, jsonAttr.getString("struct_id")) + .set(StIvtIostorinvdis::getStruct_code, jsonAttr.getString("struct_code")) + .set(StIvtIostorinvdis::getStruct_name, jsonAttr.getString("struct_name")) + .set(StIvtIostorinvdis::getSect_id, jsonAttr.getString("sect_id")) + .set(StIvtIostorinvdis::getSect_code, jsonAttr.getString("sect_code")) + .set(StIvtIostorinvdis::getSect_name, jsonAttr.getString("sect_name")) .set(StIvtIostorinvdis::getWork_status, work_status) .set(StIvtIostorinvdis::getTask_id, task_id) .eq(StIvtIostorinvdis::getIostorinv_id, disDao.getIostorinv_id()) @@ -340,7 +382,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl disList = iStIvtIostorinvdisService.list( - new QueryWrapper().lambda() - .eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id()) - ).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class)) + new QueryWrapper().lambda() + .eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id()) + ).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class)) .collect(Collectors.toList()); + //查询木箱码 + PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper() + .eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode"))); + // 查询木箱信息 + BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn()) + ); + if (boxDao == null) { + throw new BadRequestException("未找到该木箱信息!"); + } - jsonSend.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao))); + jsonSend.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao))); jsonSend.put("tableMater", disList); jsonSend.put("point_code", jsonObject.getString("point_code")); jsonSend.put("stor_id", mst.getStor_id()); - + //成品入库托盘类型 + jsonSend.put("vehicle_code", boxDao.getBox_no()); + jsonSend.put("vehicle_code2", jsonObject.getString("vehicle_code")); + JSONObject param = new JSONObject(); + param.put("containerType", boxDao.getVehicle_type()); + jsonSend.put("request_param", param.toString()); String task_id1 = this.setPoint(jsonSend); - // 下发任务 JSONObject sendJson = new JSONObject(); - sendJson.put("task_id",task_id1); + sendJson.put("task_id", task_id1); this.reIssueTask(sendJson); } } @@ -420,15 +477,15 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl().lambda() - .eq(StIvtIostorinvdis::getStruct_code, jsonDis.getString("struct_code")) - .eq(StIvtIostorinvdis::getIostorinv_id, jsonDis.getString("iostorinv_id")) - .eq(StIvtIostorinvdis::getBox_no, jsonDis.getString("box_no")) - .set(StIvtIostorinvdis::getPoint_id, null) + .eq(StIvtIostorinvdis::getStruct_code, jsonDis.getString("struct_code")) + .eq(StIvtIostorinvdis::getIostorinv_id, jsonDis.getString("iostorinv_id")) + .eq(StIvtIostorinvdis::getBox_no, jsonDis.getString("box_no")) + .set(StIvtIostorinvdis::getPoint_id, null) .set(StIvtIostorinvdis::getSect_id, null) .set(StIvtIostorinvdis::getSect_code, "") .set(StIvtIostorinvdis::getSect_name, "") @@ -476,11 +533,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl '"+TaskStatusEnum.FINISHED.getCode()+"'"); + taskService.update(jsonTaskParam, "task_id IN ('" + String.join("','", needUpdateTaskList) + "') AND task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'"); // 更新子卷包装关系 String pcsn_in = disDaoList.stream() @@ -838,7 +898,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) { + height = "2"; + } else { + height = "3"; + } + JSONObject jsonParam = new JSONObject(); jsonParam.put("stor_id", IOSEnum.STOR_ID.code("二期")); jsonParam.put("sect_id", RegionTypeEnum.TWO_MX01.getId()); @@ -110,6 +128,9 @@ public class InBoxManageServiceImpl implements InBoxManageService { jsonParam.put("box_width", boxDao.getBox_width()); jsonParam.put("box_high", boxDao.getBox_high()); jsonParam.put("vehicle_type", boxDao.getVehicle_type()); + jsonParam.put("height", height); + + JSONObject jsonAttr = getStruct(jsonParam); @@ -318,6 +339,7 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + "AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" + + "AND height = '" + jsonParam.getString("height") + "'" + "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " + "AND sect_id = '" + jsonParam.getString("sect_id") + "'").getResultJSONArray(0); 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 6fc1a0aa7..636f11af0 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 @@ -111,6 +111,8 @@ public class InBussManageServiceImpl implements InBussManageService { JSONArray attrArry = attrTab.query("IFNULL(storagevehicle_code,'') = '' " + "AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " + "AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonObject.getString("stor_id")+"' " + + "AND storagevehicle_type = '" + jsonObject.getString("vehicle_type") + "'" + + "AND height = '" + jsonObject.getString("height") + "'" + "AND sect_id = '"+jsonObject.getString("sect_id")+"'").getResultJSONArray(0); if (ObjectUtil.isEmpty(attrArry)) { @@ -127,6 +129,8 @@ public class InBussManageServiceImpl implements InBussManageService { jsonSub.put("stor_id", jsonObject.getString("stor_id")); jsonSub.put("sect_id", jsonObject.getString("sect_id")); jsonSub.put("material_id", jsonObject.getString("material_id")); + jsonSub.put("vehicle_type", jsonObject.getString("vehicle_type")); + jsonSub.put("height", jsonObject.getString("height")); String block_num = getMinBlock(jsonSub); /* @@ -270,7 +274,8 @@ public class InBussManageServiceImpl implements InBussManageService { 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("material_barcode",jsonObject.getString("material_barcode")); + jsonDiv.put("vehicle_code",jsonObject.getString("vehicle_code")); iStIvtIostorinvService.divStruct(jsonDiv); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql index 740615025..7ca210864 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INBOX.wql @@ -17,7 +17,9 @@ 输入.stor_id TYPEAS s_string 输入.sect_id TYPEAS s_string 输入.block_num TYPEAS s_string + 输入.height TYPEAS s_string 输入.row_num TYPEAS s_string + 输入.vehicle_type TYPEAS s_string 输入.block_in TYPEAS f_string 输入.row_in TYPEAS f_string 输入.not_row_in TYPEAS f_string @@ -58,7 +60,8 @@ AND IFNULL(attr.storagevehicle_code,'') = '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id - + AND attr.storagevehicle_type = 输入.vehicle_type + AND attr.height = 输入.height OPTION 输入.not_block <> "" attr.block_num NOT IN 输入.not_block ENDOPTION @@ -81,8 +84,10 @@ AND attr.is_delete = '0' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND attr.height = 输入.height AND IFNULL(attr.storagevehicle_code,'') <> '' - + AND attr.storagevehicle_type = 输入.vehicle_type + AND attr.height = 输入.height OPTION 输入.block_in <> "" attr.block_num in 输入.block_in ENDOPTION @@ -108,7 +113,8 @@ AND IFNULL(attr.storagevehicle_code,'') = '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id - + AND attr.storagevehicle_type = 输入.vehicle_type + AND attr.height = 输入.height OPTION 输入.block_num <> "" attr.block_num = 输入.block_num ENDOPTION @@ -139,7 +145,8 @@ AND attr.sect_id = 输入.sect_id AND attr.block_num = 输入.block_num AND attr.row_num = 输入.row_num - + AND attr.storagevehicle_type = 输入.vehicle_type + AND attr.height = 输入.height order by attr.col_num DESC,attr.layer_num ASC,attr.zdepth DESC ENDSELECT @@ -160,6 +167,8 @@ AND attr.sect_id = 输入.sect_id AND attr.block_num = 输入.block_num AND attr.row_num = 输入.row_num + AND attr.storagevehicle_type = 输入.vehicle_type + AND attr.height = 输入.height ENDSELECT ENDQUERY diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql index c018f32eb..2835e7e44 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_INRULE.wql @@ -22,6 +22,8 @@ 输入.box_length TYPEAS s_string 输入.box_width TYPEAS s_string 输入.box_high TYPEAS s_string + 输入.vehicle_type TYPEAS s_string + 输入.height TYPEAS s_string 输入.block_in TYPEAS f_string 输入.row_in TYPEAS f_string 输入.block_num TYPEAS s_string @@ -64,6 +66,8 @@ AND IFNULL(attr.storagevehicle_code,'') = '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND attr.height = 输入.height + AND attr.storagevehicle_type = 输入.vehicle_type OPTION 输入.not_block <> "" attr.block_num NOT IN 输入.not_block @@ -203,6 +207,8 @@ AND IFNULL(attr.storagevehicle_code,'') = '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND attr.height = 输入.height + AND attr.storagevehicle_type = 输入.vehicle_type OPTION 输入.block_num <> "" attr.block_num = 输入.block_num @@ -229,6 +235,8 @@ AND attr.is_delete = '0' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id + AND attr.height = 输入.height + AND attr.storagevehicle_type = 输入.vehicle_type OPTION 输入.block_num <> "" attr.block_num = 输入.block_num diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql index 212f8d37c..48f2daf4e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/wql/BST_OUTBOX.wql @@ -16,7 +16,8 @@ 输入.flag TYPEAS s_string 输入.stor_id TYPEAS s_string 输入.sect_id TYPEAS s_string - 输入.block_num TYPEAS s_string + 输入.block_num TYPEAS s_string + 输入.material_code TYPEAS s_string 输入.row_num TYPEAS s_string 输入.block_num_in TYPEAS f_string 输入.row_num_in TYPEAS f_string @@ -91,6 +92,10 @@ box.num = 输入.num ENDOPTION + OPTION 输入.material_code <> "" + box.material_code = 输入.material_code + ENDOPTION + OPTION 输入.num <> "" box.material_code = 输入.material_code ENDOPTION @@ -129,6 +134,9 @@ attr.row_num in 输入.row_num_in ENDOPTION + OPTION 输入.material_code <> "" + box.material_code = 输入.material_code + ENDOPTION OPTION 输入.box_length <> "" box.box_length = 输入.box_length @@ -182,6 +190,10 @@ box.box_width = 输入.box_width ENDOPTION + OPTION 输入.material_code <> "" + box.material_code = 输入.material_code + ENDOPTION + OPTION 输入.box_high <> "" box.box_high = 输入.box_high ENDOPTION @@ -216,6 +228,9 @@ attr.block_num = 输入.block_num ENDOPTION + OPTION 输入.material_code <> "" + box.material_code = 输入.material_code + ENDOPTION OPTION 输入.row_num <> "" attr.row_num = 输入.row_num @@ -294,6 +309,10 @@ box.box_high = 输入.box_high ENDOPTION + OPTION 输入.material_code <> "" + box.material_code = 输入.material_code + ENDOPTION + OPTION 输入.num <> "" box.num = 输入.num ENDOPTION diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 6ab10d340..7f0ba1f08 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -300,7 +300,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { * 4.出库口申请入发货区任务 */ if ("1".equals(type)) { - boolean checked = true; boolean auto_div = false; if (ObjectUtil.isEmpty(vehicle_code)) { @@ -308,34 +307,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //通过该木箱码查询对应的分配明细 JSONArray dis_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("box_no", vehicle_code).addParam("flag", "28").process().getResultJSONArray(0); - // 校验木箱高度 String height = whereJson.getString("height"); // 高度类型 JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + vehicle_code + "'").uniqueResult(0); double box_high = jsonSub.getDoubleValue("box_high"); - // 入库木箱下限 String in_download_box_high = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("in_download_box_high").getValue(); // 入库木箱上线 String in_up_box_high = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("in_up_box_high").getValue(); - String box_type = ""; if (Double.parseDouble(in_download_box_high) < box_high && box_high <= Double.parseDouble(in_up_box_high)) { box_type = "2"; } - if (Double.parseDouble(in_download_box_high) > box_high) { box_type = "1"; } - if (ObjectUtil.isEmpty(box_type)) { throw new BadRequestException("木箱高度超出指定范围,比对失败!"); } - if (!StrUtil.equals(box_type, height)) { throw new BadRequestException("木箱高度类型错误:当前类型为" + height + ",实际类型应为" + box_type); } - if (ObjectUtil.isEmpty(dis_rows)) { throw new BadRequestException("未查询到木箱:" + vehicle_code + "相关入库分配明细记录!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java index 69e4185e7..b0c795f55 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java @@ -330,7 +330,9 @@ public class RawFoilServiceImpl implements RawFoilService { @Override @Transactional(rollbackFor = Exception.class) public JSONObject needEmptyVehicle(JSONObject whereJson) { - String point_code = whereJson.getString("point_code"); + throw new BadRequestException("请点击呼叫按钮进行搬运!"); + + /*String point_code = whereJson.getString("point_code"); if (ObjectUtil.isEmpty(point_code)) { throw new BadRequestException("输入的点位不能为空!"); } @@ -352,10 +354,10 @@ public class RawFoilServiceImpl implements RawFoilService { // 3.如果没找到则继续找下一节点 String start_pint_code = ""; if (ObjectUtil.isEmpty(jsonIvt)) { - /*String point_location = jsonSb.getString("point_location"); + *//*String point_location = jsonSb.getString("point_location"); if (StrUtil.equals(point_location, "0")) map.put("point_location", "1"); if (StrUtil.equals(point_location, "1")) map.put("point_location", "0"); - JSONObject jsonIvt_tow = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);*/ + JSONObject jsonIvt_tow = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);*//* throw new BadRequestException("未查询到有空轴且母卷位置为空的点位!"); } else { start_pint_code = jsonIvt.getString("empty_point_code"); @@ -373,7 +375,7 @@ public class RawFoilServiceImpl implements RawFoilService { JSONObject jo = new JSONObject(); jo.put("message", "操作成功!"); - return jo; + return jo;*/ } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index f8e138248..68e656a82 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java index 803f42d03..5ab3414f9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java @@ -49,7 +49,8 @@ public class AcsUtil { log.info(product_area); throw new BadRequestException("未查询到区域对应的acs地址!"); } - String url = acs_url + api; + //String url =acs_url + api; + String url ="10.1.3.96:8011/"+ api; try { JSONArray rows = new JSONArray(); rows.add(jo);