From 5f77d6885934fa59f2e32e7526fb2481fc749b12 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 22 Oct 2024 20:26:50 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E7=A7=BB=E5=BA=93=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/structattr/service/dao/Structattr.java | 7 +- .../inbill/service/CheckOutBillService.java | 15 + .../service/impl/StorPublicServiceImpl.java | 4 - .../service/impl/HandMoveStorServiceImpl.java | 325 ++++++++++++------ .../service/impl/CheckOutBillServiceImpl.java | 26 +- 5 files changed, 238 insertions(+), 139 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/structattr/service/dao/Structattr.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/structattr/service/dao/Structattr.java index 242a3f1..bfa2b5b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/structattr/service/dao/Structattr.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/structattr/service/dao/Structattr.java @@ -1,5 +1,8 @@ package org.nl.wms.basedata.st.structattr.service.dao; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -224,5 +227,7 @@ public class Structattr implements Serializable { */ private String storagevehicle_type; - + public void copyFrom(JSONObject source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java index 3978620..8b0b15b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; +import java.util.function.Consumer; public interface CheckOutBillService { /** @@ -328,4 +329,18 @@ public interface CheckOutBillService { * } */ void saveUpdate(JSONObject whereJson); + + /** + * + * @param arr + * @return + */ + JSONArray isNum(JSONArray arr); + + /** + * + * @param whereJson + * @param allTransactionConsumer + */ + void createMove(JSONObject whereJson, Consumer allTransactionConsumer); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java index 504ae46..e89fe62 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java @@ -572,10 +572,6 @@ public class StorPublicServiceImpl implements StorPublicService { public void updateStructAndPointTwo(JSONObject from) { //货位表 WQLObject wo_Struct = WQLObject.getWQLObject("ST_IVT_StructAttr"); - //点位表 - WQLObject wo_Point = WQLObject.getWQLObject("SCH_BASE_Point"); - //载具表 - WQLObject wo_Storage = WQLObject.getWQLObject("MD_PB_StorageVehicleInfo"); String struct_id = from.getString("struct_id"); String point_code = from.getString("point_code"); //锁定类型 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java index aa5aabd..cc1e3f3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java @@ -23,12 +23,16 @@ import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.WqlUtil; +import org.nl.wms.basedata.master.customer.service.dao.Customerbase; +import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.Storagevehicleex; +import org.nl.wms.basedata.master.storagevehicleinfo.service.dao.mapper.StoragevehicleexMapper; import org.nl.wms.basedata.st.structattr.service.dao.Structattr; import org.nl.wms.basedata.st.structattr.service.dao.mapper.StructattrMapper; import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl; import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.OutTask; +import org.nl.wms.st.inbill.service.CheckOutBillService; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; import org.nl.wms.st.instor.movestor.service.HandMoveStorService; @@ -42,7 +46,6 @@ import org.nl.wms.st.instor.movestor.service.dto.MoveStorDtlQuery; import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; import org.nl.wms.st.instor.task.EmpMoveTask; import org.nl.wms.st.instor.task.HandMoveStorAcsTask; -import org.nl.wms.st.outbill.service.impl.CheckOutBillServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -57,6 +60,8 @@ import java.util.*; @Slf4j public class HandMoveStorServiceImpl extends ServiceImpl implements HandMoveStorService { private final StorPublicService storPublicService; + @Autowired + private CheckOutBillService checkOutBillService; private final HandMoveStorAcsTask handMoveStorAcsTask; @@ -71,6 +76,8 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaUpdateWrapper(); + queryWrapper.eq(Structattr::getStruct_code, point_code2) + .eq(Structattr::getIs_delete, "0"); + queryWrapper.set(Structattr::getStoragevehicle_code,""); + structattrMapper.update(null,queryWrapper); } /** @@ -182,8 +190,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaUpdateWrapper(); + queryWrapper.eq(Structattr::getStruct_code, point_code2) + .eq(Structattr::getIs_delete, "0"); + queryWrapper.set(Structattr::getStoragevehicle_code,""); + structattrMapper.update(null,queryWrapper); } @@ -300,7 +308,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl '1'").getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(resultJSONArray)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq(Structattr::getRow_num, "7") + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0") + .ne( Structattr::getLock_type,"1"); + Integer listsize = structattrMapper.selectCount(queryWrapper); + + if (listsize>0) { throw new BadRequestException("有正在运行的任务或已锁定未生成任务"); } // 找出所有货位 - JSONArray boxArr = attrTab.query("block_num = '" + block_num + "' and is_used = '1' and is_delete = '0' and IFNULL(storagevehicle_code,'') <> '' and lock_type = '1' and row_num = '7' order by out_order_seq DESC").getResultJSONArray(0); + LambdaQueryWrapper queryWrapperAll = new LambdaQueryWrapper(); + queryWrapperAll.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq(Structattr::getRow_num, "7") + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0") + .eq( Structattr::getLock_type,"1") + .ne(Structattr::getStoragevehicle_code,"") + .isNotNull(Structattr::getStoragevehicle_code) + .orderByDesc(Structattr::getOut_order_seq); + List boxArr = structattrMapper.selectList(queryWrapperAll); // 判断是否是空托盘区 boolean is_ktp = boxArr.stream() - .map(row -> (JSONObject) row) - .anyMatch(row -> StrUtil.equals(row.getString("sect_code"), "KTP01")); - + .anyMatch(row -> StrUtil.equals(row.getSect_code(), "KTP01")); JSONArray dtlArr = new JSONArray(); if (is_ktp) { // 空托盘 for (int i = 0; i < boxArr.size(); i++) { - JSONObject json = boxArr.getJSONObject(i); + Structattr json = boxArr.get(i); // 调用空托盘入库 JSONObject param = new JSONObject(); - param.put("block_num", json.getString("block_num")); - param.put("row_num", json.getString("row_num")); - JSONObject jsonEmp = queryEmp(param); + param.put("block_num", json.getBlock_num()); + param.put("row_num", json.getRow_num()); + Structattr jsonEmp = queryEmp(param); // 生成空托盘移库任务 JSONObject param2 = new JSONObject(); param2.put("task_type", "010505"); param2.put("task_name", "空托盘转库任务"); - param2.put("vehicle_code", json.getString("storagevehicle_code")); - param2.put("point_code1", json.getString("struct_code")); - param2.put("point_code2", jsonEmp.getString("struct_code")); + param2.put("vehicle_code", json.getStoragevehicle_code()); + param2.put("point_code1", json.getStruct_code()); + param2.put("point_code2", jsonEmp.getStruct_code()); String task_id = empMoveTask.createTask(param2); // 下发任务 @@ -350,20 +371,19 @@ public class HandMoveStorServiceImpl extends ServiceImpl jsonIvt = moveStorDtlMapper.getStoragevehicleIvtByPackageBoxSn(json.getString("storagevehicle_code")); + List jsonIvt = moveStorDtlMapper.getStoragevehicleIvtByPackageBoxSn(json.getStoragevehicle_code()); jsonIvt.forEach(boxIvt -> { JSONObject row = (JSONObject) JSONObject.toJSON(boxIvt); row.put("wrok_status", "01"); @@ -376,7 +396,9 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapperAll = new LambdaQueryWrapper(); + queryWrapperAll.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq(Structattr::getPlacement_type, placement_type) + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0") + .in(Structattr::getLock_type, Arrays.asList("4", "5")) + .eq( Structattr::getRow_num,row_num); + List isLock = structattrMapper.selectList(queryWrapperAll); if (ObjectUtil.isEmpty(isLock)) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq( Structattr::getLock_type,"1") + .eq(Structattr::getPlacement_type, placement_type) + .eq(Structattr::getRow_num, row_num) + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0"); if ("03".equals(placement_type)) { // 右通 - struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq desc").uniqueResult(0); + queryWrapper.and(la -> la.eq(Structattr::getStoragevehicle_code,"").or().isNull(Structattr::getStoragevehicle_code) + ).orderByDesc(Structattr::getOut_order_seq); + + List boxArr = structattrMapper.selectList(queryWrapper); + if(boxArr.size()>0){ + struct_bean = boxArr.get(0); + } + //struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq desc").uniqueResult(0); break; } else if ("02".equals(placement_type)) { // 左通 - struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq").uniqueResult(0); + queryWrapper.and(la -> la.eq(Structattr::getStoragevehicle_code,"").or().isNull(Structattr::getStoragevehicle_code) + ).orderByAsc(Structattr::getOut_order_seq); + List boxArr = structattrMapper.selectList(queryWrapper); + if(boxArr.size()>0){ + struct_bean = boxArr.get(0); + } + //struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq").uniqueResult(0); break; } else { - // 双通 + queryWrapper.ne(Structattr::getStoragevehicle_code,"") + .isNotNull(Structattr::getStoragevehicle_code) + .orderByDesc(Structattr::getOut_order_seq); + // 双通 // 先倒序找到第一个托盘、判断上一个是否有货位 - JSONObject jsonDescStruct = new JSONObject(); - JSONObject jsonDescBox = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq DESC").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonDescBox)) { - String out_order_seq = jsonDescBox.getString("out_order_seq"); + List jsonDescStructs = new ArrayList<>(); + List jsonDescBoxs = structattrMapper.selectList(queryWrapper); + //JSONObject jsonDescBox = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq DESC").uniqueResult(0); + + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper(); + queryWrapper2.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq( Structattr::getLock_type,"1") + .eq(Structattr::getPlacement_type, placement_type) + .eq(Structattr::getRow_num, row_num) + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0"); + + if (jsonDescBoxs.size()>0) { + + String out_order_seq = jsonDescBoxs.get(0).getOut_order_seq(); + + queryWrapper2.and(la -> la.eq(Structattr::getStoragevehicle_code,"") + .or() + .isNull(Structattr::getStoragevehicle_code)) + .gt(Structattr::getOut_order_seq,out_order_seq) + .orderByAsc(Structattr::getOut_order_seq); // 上一个货位顺序号 - jsonDescStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq > '" + out_order_seq + "' order by out_order_seq ASC").uniqueResult(0); + //jsonDescStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq > '" + out_order_seq + "' order by out_order_seq ASC").uniqueResult(0); + jsonDescStructs = structattrMapper.selectList(queryWrapper2); } else { + queryWrapper2.and(la -> la.eq(Structattr::getStoragevehicle_code,"") + .or() + .isNull(Structattr::getStoragevehicle_code)) + .orderByDesc(Structattr::getOut_order_seq); // 倒序找到第一个空位 - jsonDescStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq DESC").uniqueResult(0); + //jsonDescStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq DESC").uniqueResult(0); + jsonDescStructs = structattrMapper.selectList(queryWrapper2); } - if (ObjectUtil.isNotEmpty(jsonDescStruct)) { - struct_jo = jsonDescStruct; + if (jsonDescStructs.size()>0) { + struct_bean = jsonDescStructs.get(0); break; } else { + + + queryWrapper2.ne(Structattr::getStoragevehicle_code,"") + .isNotNull(Structattr::getStoragevehicle_code) + .orderByAsc(Structattr::getOut_order_seq); + // 没有就正序找到第一个托盘、判断上一个是否有货位 - JSONObject jsonAscStruct = new JSONObject(); - JSONObject jsonAscBox = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq ASC").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonAscBox)) { - String out_order_seq2 = jsonAscBox.getString("out_order_seq"); + List jsonAscStructs = new ArrayList<>(); + List jsonAscBoxs = structattrMapper.selectList(queryWrapper2); + //JSONObject jsonAscBox = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq ASC").uniqueResult(0); + + LambdaQueryWrapper queryWrapper3 = new LambdaQueryWrapper(); + queryWrapper3.eq(ObjectUtil.isNotEmpty(block_num), Structattr::getBlock_num, block_num) + .eq( Structattr::getLock_type,"1") + .eq(Structattr::getPlacement_type, placement_type) + .eq(Structattr::getRow_num, row_num) + .eq(Structattr::getIs_used, "1") + .eq(Structattr::getIs_delete, "0") + .and(la -> la.eq(Structattr::getStoragevehicle_code,"") + .or() + .isNull(Structattr::getStoragevehicle_code)); + + if (jsonAscBoxs.size()>0) { + + String out_order_seq2 = jsonAscBoxs.get(0).getOut_order_seq(); + + queryWrapper3.lt(Structattr::getOut_order_seq,out_order_seq2) + .orderByDesc(Structattr::getOut_order_seq); // 上一个货位顺序号 - jsonAscStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq < '" + out_order_seq2 + "' order by out_order_seq DESC").uniqueResult(0); + //jsonAscStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' and out_order_seq < '" + out_order_seq2 + "' order by out_order_seq DESC").uniqueResult(0); + jsonAscStructs = structattrMapper.selectList(queryWrapper3); } else { - jsonAscStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq ASC").uniqueResult(0); + queryWrapper3.orderByAsc(Structattr::getOut_order_seq); + //jsonAscStruct = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq ASC").uniqueResult(0); + jsonAscStructs = structattrMapper.selectList(queryWrapper3); } - - if (ObjectUtil.isNotEmpty(jsonAscStruct)) { - struct_jo = jsonAscStruct; + if (jsonAscStructs.size()>0) { + struct_bean = jsonAscStructs.get(0); break; } } @@ -450,10 +553,10 @@ public class HandMoveStorServiceImpl extends ServiceImpl jsonExts = storagevehicleexMapper.selectList(new LambdaQueryWrapper().eq(Storagevehicleex::getPcsn, jodtl.getStoragevehicle_code())); // 查询木箱对应载具 - JSONObject jsonExt = extTab.query("pcsn = '" + jodtl.getStoragevehicle_code() + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonExt)) { + if (jsonExts.size() == 0) { throw new BadRequestException("此木箱对应载具不存在!"+jodtl.getStoragevehicle_code()); } - task.put("vehicle_code2", jsonExt.getString("storagevehicle_code")); + task.put("vehicle_code2", jsonExts.get(0).getStoragevehicle_code()); task.put("handle_class", HandMoveStorAcsTask.class.getName()); task.put("finished_type", ""); task.put("is_delete", "0"); @@ -1063,8 +1165,6 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(Structattr::getStruct_code, jsonTask.getString("point_code1")) + .eq(Structattr::getIs_delete, "0"); + + Structattr jsonAttr = structattrMapper.selectOne(queryWrapper); + // 调用共用判断是否阻挡并生成任务、移库单 this.isBlock(jsonAttr); } @@ -1145,7 +1250,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl boxArr = structattrMapper.selectList(queryWrapper); @@ -1227,11 +1332,9 @@ public class HandMoveStorServiceImpl extends ServiceImpl jsonLockArr = new ArrayList<>(); if (StrUtil.equals(placement_type, "01")) { /* @@ -1241,20 +1344,20 @@ public class HandMoveStorServiceImpl extends ServiceImpl leftNumArr.size()) { /* @@ -1264,7 +1367,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num")) - .eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit - .gt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit + queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getBlock_num()), Structattr::getBlock_num, whereJson.getBlock_num()) + .eq(ObjectUtil.isNotEmpty(whereJson.getRow_num()), Structattr::getRow_num, whereJson.getRow_num()) + .gt(ObjectUtil.isNotEmpty(whereJson.getOut_order_seq()), Structattr::getOut_order_seq, whereJson.getOut_order_seq()) .ne( Structattr::getStoragevehicle_code,"") .isNotNull(Structattr::getStoragevehicle_code) - .orderByDesc(Structattr::getBlock_num);//neededit out_order_seq + .orderByDesc(Structattr::getOut_order_seq); jsonLockArr = structattrMapper.selectList(queryWrapper); //isNumMap.put("flag", "6"); //jsonLockArr = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(isNumMap).process().getResultJSONArray(0); @@ -1301,7 +1404,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num")) - .eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit - .lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit + queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getBlock_num()), Structattr::getBlock_num, whereJson.getBlock_num()) + .eq(ObjectUtil.isNotEmpty(whereJson.getRow_num()), Structattr::getRow_num, whereJson.getRow_num()) + .lt(ObjectUtil.isNotEmpty(whereJson.getOut_order_seq()), Structattr::getOut_order_seq, whereJson.getOut_order_seq()) .ne( Structattr::getStoragevehicle_code,"") .isNotNull(Structattr::getStoragevehicle_code) - .orderByAsc(Structattr::getBlock_num);//neededit out_order_seq + .orderByAsc(Structattr::getOut_order_seq); jsonLockArr = structattrMapper.selectList(queryWrapper); } else { /* @@ -1335,7 +1438,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num")) - .eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit - .lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit + queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getBlock_num()), Structattr::getBlock_num, whereJson.getBlock_num()) + .eq(ObjectUtil.isNotEmpty(whereJson.getRow_num()), Structattr::getRow_num, whereJson.getRow_num()) + .lt(ObjectUtil.isNotEmpty(whereJson.getOut_order_seq()), Structattr::getOut_order_seq, whereJson.getOut_order_seq()) .ne( Structattr::getStoragevehicle_code,"") .isNotNull(Structattr::getStoragevehicle_code) - .orderByAsc(Structattr::getBlock_num);//neededit out_order_seq + .orderByAsc(Structattr::getOut_order_seq); jsonLockArr = structattrMapper.selectList(queryWrapper); } @@ -1370,12 +1473,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num")) - .eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit - .gt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit + queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getBlock_num()), Structattr::getBlock_num, whereJson.getBlock_num()) + .eq(ObjectUtil.isNotEmpty(whereJson.getRow_num()), Structattr::getRow_num, whereJson.getRow_num()) + .gt(ObjectUtil.isNotEmpty(whereJson.getOut_order_seq()), Structattr::getOut_order_seq, whereJson.getOut_order_seq()) .ne( Structattr::getStoragevehicle_code,"") .isNotNull(Structattr::getStoragevehicle_code) - .orderByDesc(Structattr::getBlock_num);//neededit out_order_seq + .orderByDesc(Structattr::getOut_order_seq); jsonLockArr = structattrMapper.selectList(queryWrapper); } else if (StrUtil.equals(placement_type, "03")) { @@ -1408,12 +1511,12 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getString("block_num")), Structattr::getBlock_num, whereJson.getString("block_num")) - .eq(ObjectUtil.isNotEmpty(whereJson.getString("row_num")), Structattr::getBlock_num, whereJson.getString("row_num"))//neededit - .lt(ObjectUtil.isNotEmpty(whereJson.getString("out_order_seq")), Structattr::getBlock_num, whereJson.getString("out_order_seq"))//neededit + queryWrapper.eq(ObjectUtil.isNotEmpty(whereJson.getBlock_num()), Structattr::getBlock_num, whereJson.getBlock_num()) + .eq(ObjectUtil.isNotEmpty(whereJson.getRow_num()), Structattr::getRow_num, whereJson.getRow_num()) + .lt(ObjectUtil.isNotEmpty(whereJson.getOut_order_seq()), Structattr::getOut_order_seq, whereJson.getOut_order_seq()) .ne( Structattr::getStoragevehicle_code,"") .isNotNull(Structattr::getStoragevehicle_code) - .orderByAsc(Structattr::getBlock_num);//neededit out_order_seq + .orderByAsc(Structattr::getOut_order_seq); jsonLockArr = structattrMapper.selectList(queryWrapper); } @@ -1451,7 +1554,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(Structattr::getStruct_code, json.getString("struct_code")) + .eq(Structattr::getIs_delete, "0"); - JSONObject jsonAttr = attrTab.query("struct_code = '" + json.getString("struct_code") + "'").uniqueResult(0); + Structattr jsonAttr = structattrMapper.selectOne(queryWrapper); JSONObject mapParam = new JSONObject();// 生成移库单传入参数 JSONArray table = new JSONArray(); // 明细参数 @@ -1490,7 +1595,7 @@ public class HandMoveStorServiceImpl extends ServiceImpl allTransactionConsumer) { //任务表 @@ -4140,30 +4141,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } } - /** - * 被挡的个数 - * - * @param arr - * @return - */ - /* public JSONArray isNum(JSONArray arr) { - WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); // 任务表 - - JSONArray result = new JSONArray(); - - for (int i = 0; i < arr.size(); i++) { - JSONObject json = arr.getJSONObject(i); - String struct_code = json.getString("struct_code"); - - JSONObject jsonTask1 = taskTab.query("point_code1 = '" + struct_code + "' and task_status in ('05','06')").uniqueResult(0); - - if (ObjectUtil.isEmpty(jsonTask1)) { - result.add(json); - } - } - - return result; - }*/ + @Override public JSONArray isNum(JSONArray arr) { StringJoiner joiner = new StringJoiner(",", "(", ")"); JSONArray result = new JSONArray();