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..e71e27fa6 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) @@ -197,40 +202,58 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl 待检区,木箱码不能为空!"); +// JSONObject boxInfo = new JSONObject(); +// //todo 测试,暂时默认ZXQ_1_1 +// boxInfo.put("device_code", "ZXQ_1_1"); +// boxInfo.put("material_code", boxType); +// boxInfo.put("num", entityList.size()); +// String boxSn = outBoxManageService.outBox(boxInfo); +// if (StringUtils.isBlank(boxSn)) { +// throw new BadRequestException("满轴缓存位 -> 待检区,木箱码不能为空!"); +// } +// //更新子卷包装关系更新木箱号 +// UpdateWrapper updateWrapper1 = new UpdateWrapper<>(); +// updateWrapper1.set("package_box_sn", boxSn); +// updateWrapper1.in("workorder_id", entityList); +// pdmBiSubpackagerelationMapper.update(null, updateWrapper1); + 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_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"); + 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 p : containerLength.split("\\|")) { + int num = Integer.parseInt(p.replaceAll("[^0-9]", "")); + if (num > maxNum) { + maxNum = num; } - //更新子卷包装关系更新木箱号 - UpdateWrapper updateWrapper1 = new UpdateWrapper<>(); - updateWrapper1.set("package_box_sn", boxSn); - updateWrapper1.in("workorder_id", entityList); - pdmBiSubpackagerelationMapper.update(null, updateWrapper1); - //创建子卷搬运到装箱区任务 - // 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_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(); //木箱最大数量 @@ -242,7 +265,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl implements IStIvtIostorinvService { + + /** + * 木箱信息服务 + */ + @Autowired + private IBstIvtBoxinfoService iBstIvtBoxinfoService; /** * 仓库服务 */ @@ -366,12 +374,21 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class)) .collect(Collectors.toList()); - + // 查询木箱信息 + BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, whereJson.get("box_no")) + ); 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",jsonObject.getString("box_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); // 下发任务 @@ -476,11 +493,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl "" attr.block_num NOT IN 输入.not_block ENDOPTION @@ -82,7 +83,7 @@ AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id AND IFNULL(attr.storagevehicle_code,'') <> '' - + AND attr.storagevehicle_type = 输入.vehicle_type OPTION 输入.block_in <> "" attr.block_num in 输入.block_in ENDOPTION @@ -108,7 +109,7 @@ AND IFNULL(attr.storagevehicle_code,'') = '' AND attr.stor_id = 输入.stor_id AND attr.sect_id = 输入.sect_id - + AND attr.storagevehicle_type = 输入.vehicle_type OPTION 输入.block_num <> "" attr.block_num = 输入.block_num ENDOPTION @@ -139,7 +140,7 @@ AND attr.sect_id = 输入.sect_id AND attr.block_num = 输入.block_num AND attr.row_num = 输入.row_num - + AND attr.storagevehicle_type = 输入.vehicle_type order by attr.col_num DESC,attr.layer_num ASC,attr.zdepth DESC ENDSELECT @@ -160,6 +161,7 @@ AND attr.sect_id = 输入.sect_id AND attr.block_num = 输入.block_num AND attr.row_num = 输入.row_num + AND attr.storagevehicle_type = 输入.vehicle_type ENDSELECT ENDQUERY 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/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);