From 44f605528fc979a4edde3f2f2c697b7c7a48d606 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Thu, 13 Oct 2022 19:47:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/AuthorizationController.java | 2 +- .../rest/MobileAuthorizationController.java | 2 +- .../mes/service/impl/LmsToMesServiceImpl.java | 1 + .../nl/wms/pda/mps/rest/CasingController.java | 3 +- .../wms/pda/mps/rest/EmptyTubeController.java | 3 +- .../nl/wms/pda/mps/rest/OutController.java | 3 +- .../pda/mps/rest/PointStatusController.java | 3 +- .../wms/pda/mps/rest/ShippingController.java | 6 +- .../nl/wms/pda/mps/service/CasingService.java | 4 +- .../wms/pda/mps/service/EmptyTubeService.java | 4 +- .../nl/wms/pda/mps/service/OutService.java | 4 +- .../pda/mps/service/PointStatusService.java | 2 +- .../wms/pda/mps/service/ShippingService.java | 6 +- .../mps/service/impl/CasingServiceImpl.java | 18 +++- .../service/impl/EmptyTubeServiceImpl.java | 15 ++- .../pda/mps/service/impl/OutServiceImpl.java | 16 +++- .../service/impl/PointStatusServiceImpl.java | 86 ++++++++++-------- .../mps/service/impl/ShippingServiceImpl.java | 29 ++++-- .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 53 ++++++++++- .../org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql | 2 +- .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 236544 -> 237056 bytes .../java/org/nl/wms/sch/service/wql/sch.xls | Bin 173056 -> 173056 bytes .../org/nl/wms/sch/tasks/CutConveyorTask.java | 2 + .../org/nl/wms/sch/tasks/CutTrussTask.java | 40 ++++++-- 24 files changed, 210 insertions(+), 94 deletions(-) diff --git a/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java b/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java index 36e79ddad..6c52df980 100644 --- a/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java +++ b/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java @@ -114,7 +114,7 @@ public class AuthorizationController { jsonObject.put("roles", permissionList); jsonObject.put("user", userDto); Map authInfo = new HashMap(2) {{ - put("token", StpUtil.getTokenValue()); + put("token","Bearer "+ StpUtil.getTokenValue()); put("user", jsonObject); }}; diff --git a/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java b/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java index de0e34b7c..fd3da9d72 100644 --- a/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java +++ b/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java @@ -79,7 +79,7 @@ public class MobileAuthorizationController { JSONObject jsonObject = new JSONObject(); jsonObject.put("user", userDto); Map authInfo = new HashMap(2) {{ - put("token", StpUtil.getTokenValue()); + put("token","Bearer "+ StpUtil.getTokenValue()); put("user", jsonObject); }}; diff --git a/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java index deda86c29..bb5a897c5 100644 --- a/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor @Slf4j public class LmsToMesServiceImpl implements LmsToMesService { + /** * LMS的PDA操作AGV下卷,AGV称重完成后AGV称重信息发送MES * diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/CasingController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/CasingController.java index c694e06da..ec4fac1a2 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/CasingController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/CasingController.java @@ -35,7 +35,6 @@ public class CasingController { @Log("套轴确认") @ApiOperation("套轴确认") public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - casingService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(casingService.confirm(whereJson), HttpStatus.OK); } } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java index 386ab5c35..0e8d6499c 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java @@ -35,7 +35,6 @@ public class EmptyTubeController { @Log("入库确认") @ApiOperation("入库确认") public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - emptyTubeService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(emptyTubeService.confirm(whereJson), HttpStatus.OK); } } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java index ec10ae48b..ebeb26e92 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java @@ -35,7 +35,6 @@ public class OutController { @Log("子卷出站") @ApiOperation("子卷出站") public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - outService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(outService.confirm(whereJson), HttpStatus.OK); } } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/PointStatusController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/PointStatusController.java index a299c7fbe..fa5964a6e 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/PointStatusController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/PointStatusController.java @@ -29,8 +29,7 @@ public class PointStatusController { @Log("点位解绑绑定") @ApiOperation("点位解绑绑定") public ResponseEntity pointOperate(@RequestBody JSONObject whereJson) { - pointStatusService.pointOperate(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(pointStatusService.pointOperate(whereJson), HttpStatus.OK); } @PostMapping("/pointStatusQuery") diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java index a4680e4b4..46e932246 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java @@ -35,15 +35,13 @@ public class ShippingController { @Log("呼叫载具") @ApiOperation("呼叫载具") public ResponseEntity needVehicle(@RequestBody JSONObject whereJson) { - shippingService.needVehicle(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(shippingService.needVehicle(whereJson), HttpStatus.OK); } @PostMapping("/confirm") @Log("套轴确认") @ApiOperation("套轴确认") public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - shippingService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(shippingService.confirm(whereJson), HttpStatus.OK); } } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/CasingService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/CasingService.java index ae1d457f4..2bb5ae38a 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/CasingService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/CasingService.java @@ -10,13 +10,13 @@ public interface CasingService { * @param whereJson / * @return JSONObject */ - JSONArray queryMaterialInfo(JSONObject whereJson); + JSONObject queryMaterialInfo(JSONObject whereJson); /** * 套轴确认 * @param whereJson / * @return JSONObject */ - void confirm(JSONObject whereJson); + JSONObject confirm(JSONObject whereJson); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/EmptyTubeService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/EmptyTubeService.java index 1bda0b79f..130519e41 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/EmptyTubeService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/EmptyTubeService.java @@ -10,13 +10,13 @@ public interface EmptyTubeService { * @param whereJson / * @return JSONObject */ - JSONArray queryMaterialInfo(JSONObject whereJson); + JSONObject queryMaterialInfo(JSONObject whereJson); /** * 入库确认 * @param whereJson / * @return JSONObject */ - void confirm(JSONObject whereJson); + JSONObject confirm(JSONObject whereJson); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java index 5ce17b7e1..e00fe01a6 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java @@ -10,13 +10,13 @@ public interface OutService { * @param whereJson / * @return JSONObject */ - JSONArray queryMaterialInfo(JSONObject whereJson); + JSONObject queryMaterialInfo(JSONObject whereJson); /** * 出站确认 * @param whereJson / * @return JSONObject */ - void confirm(JSONObject whereJson); + JSONObject confirm(JSONObject whereJson); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/PointStatusService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/PointStatusService.java index 9613d7edf..1c96ee4e7 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/PointStatusService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/PointStatusService.java @@ -10,7 +10,7 @@ public interface PointStatusService { * @param whereJson / * @return JSONObject */ - void pointOperate(JSONObject whereJson); + JSONObject pointOperate(JSONObject whereJson); /** * 点位状态查询 diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java index 5a0efa529..75c19045e 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java @@ -10,20 +10,20 @@ public interface ShippingService { * @param whereJson / * @return JSONObject */ - JSONArray queryMaterialInfo(JSONObject whereJson); + JSONObject queryMaterialInfo(JSONObject whereJson); /** * 呼叫载具 * @param whereJson / * @return JSONObject */ - void needVehicle(JSONObject whereJson); + JSONObject needVehicle(JSONObject whereJson); /** * 配送确认 * @param whereJson / * @return JSONObject */ - void confirm(JSONObject whereJson); + JSONObject confirm(JSONObject whereJson); } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java index a705033d9..40650c367 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.wms.ext.mes.service.LmsToMesService; import org.nl.wms.pda.mps.service.BakingService; import org.nl.wms.pda.mps.service.CasingService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.jar.JarEntry; @@ -25,7 +26,7 @@ public class CasingServiceImpl implements CasingService { private final LmsToMesService lmsToMesService; @Override - public JSONArray queryMaterialInfo(JSONObject whereJson) { + public JSONObject queryMaterialInfo(JSONObject whereJson) { String product_area = whereJson.getString("product_area"); HashMap map = new HashMap(); @@ -34,11 +35,15 @@ public class CasingServiceImpl implements CasingService { map.put("product_area", product_area); } JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0); - return rows; + JSONObject jo = new JSONObject(); + jo.put("data",rows); + jo.put("message","查询成功!"); + return jo; } + @Transactional(rollbackFor = Exception.class) @Override - public void confirm(JSONObject whereJson) { + public JSONObject confirm(JSONObject whereJson) { Long currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -64,8 +69,13 @@ public class CasingServiceImpl implements CasingService { JSONObject jo = new JSONObject(); jo.put("ContainerName",row.getString("container_name")); jo.put("isAirSwellAssComplete",1); - lmsToMesService.airSwellWithPaperTubeAssComplete(jo); + //lmsToMesService.airSwellWithPaperTubeAssComplete(jo); + } + + JSONObject result = new JSONObject(); + result.put("message","操作成功!"); + return result; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java index 2a83c1abc..356a9bd12 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java @@ -14,6 +14,7 @@ import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.pda.mps.service.BakingService; import org.nl.wms.pda.mps.service.EmptyTubeService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.jar.JarEntry; @@ -25,7 +26,7 @@ public class EmptyTubeServiceImpl implements EmptyTubeService { @Override - public JSONArray queryMaterialInfo(JSONObject whereJson) { + public JSONObject queryMaterialInfo(JSONObject whereJson) { String point_code = whereJson.getString("point_code"); String material_code = whereJson.getString("material_code"); String product_area = whereJson.getString("product_area"); @@ -42,11 +43,15 @@ public class EmptyTubeServiceImpl implements EmptyTubeService { map.put("product_area", product_area); } JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0); - return rows; + JSONObject jo = new JSONObject(); + jo.put("data",rows); + jo.put("message","查询成功!"); + return jo; } + @Transactional(rollbackFor = Exception.class) @Override - public void confirm(JSONObject whereJson) { + public JSONObject confirm(JSONObject whereJson) { JSONObject raw_jo = whereJson.getJSONObject("raw_jo"); double add_qty = whereJson.getDoubleValue("qty"); @@ -75,6 +80,10 @@ public class EmptyTubeServiceImpl implements EmptyTubeService { raw_jo.put("material_name",mater.getString("material_name")); raw_jo.put("qty",add_qty + raw_jo.getIntValue("qty")); WQLObject.getWQLObject("ST_IVT_EmptyTubeIvt").update(raw_jo); + + JSONObject jo = new JSONObject(); + jo.put("message","操作成功!"); + return jo; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 537a37c83..600e49332 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -23,7 +23,7 @@ public class OutServiceImpl implements OutService { @Override - public JSONArray queryMaterialInfo(JSONObject whereJson) { + public JSONObject queryMaterialInfo(JSONObject whereJson) { String product_area = whereJson.getString("product_area"); HashMap map = new HashMap(); @@ -32,12 +32,15 @@ public class OutServiceImpl implements OutService { map.put("product_area", product_area); } JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0); - return rows; + JSONObject jo = new JSONObject(); + jo.put("data",rows); + jo.put("message","查询成功!"); + return jo; } @Override - public void confirm(JSONObject whereJson) { + public JSONObject confirm(JSONObject whereJson) { String point_code = whereJson.getString("point_code"); //查询该点位对应的机台编号 @@ -69,8 +72,13 @@ public class OutServiceImpl implements OutService { jo.put("point_code2",point_code); jo.put("point_code3",point_code); jo.put("point_code4",delivery_point.getString("point_code")); + jo.put("vehicle_code",delivery_point.getString("qzzno")); + jo.put("vehicle_code2",qzzno); jo.put("task_type","010403"); - + + JSONObject result = new JSONObject(); + result.put("message","操作成功!"); + return result; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/PointStatusServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/PointStatusServiceImpl.java index a82f610f4..02b2bdf20 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/PointStatusServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/PointStatusServiceImpl.java @@ -19,94 +19,102 @@ public class PointStatusServiceImpl implements PointStatusService { @Override - public void pointOperate(JSONObject whereJson) { + public JSONObject pointOperate(JSONObject whereJson) { String point_code = whereJson.getString("point_code"); - if (StrUtil.isEmpty(point_code)){ + if (StrUtil.isEmpty(point_code)) { throw new BadRequestException("输入的点位不能为空!"); } String option = whereJson.getString("point_code"); //1-绑定 - if (option.equals("1")){ + if (option.equals("1")) { String container_name = whereJson.getString("container_name"); - if (StrUtil.isEmpty(container_name)){ + if (StrUtil.isEmpty(container_name)) { throw new BadRequestException("空轴/母卷不能为空!"); } //查询该点对应的是什么位置 - JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ + JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { String now_container_name = cut_point.getString("container_name"); - if (StrUtil.isNotEmpty(now_container_name)){ + if (StrUtil.isNotEmpty(now_container_name)) { throw new BadRequestException("该点位上已存在母卷,不能进行绑定!"); } - cut_point.put("container_name",container_name); - cut_point.put("full_point_status","02"); - }else { - cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ + cut_point.put("container_name", container_name); + cut_point.put("full_point_status", "02"); + } else { + cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { String empty_vehicle_code = cut_point.getString("empty_vehicle_code"); - if (StrUtil.isNotEmpty(empty_vehicle_code)){ + if (StrUtil.isNotEmpty(empty_vehicle_code)) { throw new BadRequestException("该点位上已存在空轴,不能进行绑定!"); } - cut_point.put("empty_vehicle_code",container_name); - cut_point.put("empty_point_status","02"); - }else { + cut_point.put("empty_vehicle_code", container_name); + cut_point.put("empty_point_status", "02"); + } else { throw new BadRequestException("未查询到对应的分切点!"); } } } //2-解绑 - if (option.equals("2")){ + if (option.equals("2")) { //查询该点对应的是什么位置 - JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ + JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { String now_container_name = cut_point.getString("container_name"); - if (StrUtil.isNotEmpty(now_container_name)){ + if (StrUtil.isNotEmpty(now_container_name)) { throw new BadRequestException("该点位上已存在母卷,不能进行绑定!"); } - cut_point.put("container_name",""); - cut_point.put("full_point_status","01"); - }else { - cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(cut_point)){ + cut_point.put("container_name", ""); + cut_point.put("full_point_status", "01"); + } else { + cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)) { String empty_vehicle_code = cut_point.getString("empty_vehicle_code"); - if (StrUtil.isNotEmpty(empty_vehicle_code)){ + if (StrUtil.isNotEmpty(empty_vehicle_code)) { throw new BadRequestException("该点位上已存在空轴,不能进行绑定!"); } - cut_point.put("empty_vehicle_code",""); - cut_point.put("empty_point_status","01"); - }else { + cut_point.put("empty_vehicle_code", ""); + cut_point.put("empty_point_status", "01"); + } else { throw new BadRequestException("未查询到对应的分切点!"); } } } + + JSONObject jo = new JSONObject(); + jo.put("message", "操作成功!"); + return jo; } @Override public JSONObject pointStatusQuery(JSONObject whereJson) { String point_code = whereJson.getString("point_code"); - if (StrUtil.isEmpty(point_code)){ + if (StrUtil.isEmpty(point_code)) { throw new BadRequestException("输入的点位不能为空!"); } String vehicle_code = ""; String have_goods = ""; - JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isEmpty(cut_point)){ - cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '"+point_code+"'").uniqueResult(0); - if (ObjectUtil.isEmpty(cut_point)){ + JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(cut_point)) { + cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(cut_point)) { throw new BadRequestException("未查询到对应的分切机点位!"); - }else { + } else { vehicle_code = cut_point.getString("empty_vehicle_code"); have_goods = cut_point.getString("empty_point_status"); } - }else { + } else { vehicle_code = cut_point.getString("container_name"); have_goods = cut_point.getString("full_point_status"); } JSONObject jo = new JSONObject(); - jo.put("container_name",vehicle_code); - jo.put("have_goods",have_goods); - return jo; + jo.put("container_name", vehicle_code); + jo.put("have_goods", have_goods); + + JSONObject result = new JSONObject(); + result.put("data", jo); + result.put("message", "查询成功!"); + return result; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java index 5f33c8274..e713a99eb 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java @@ -24,12 +24,12 @@ public class ShippingServiceImpl implements ShippingService { private final CutConveyorTask cutConveyorTask; @Override - public JSONArray queryMaterialInfo(JSONObject whereJson) { + public JSONObject queryMaterialInfo(JSONObject whereJson) { String product_area = whereJson.getString("product_area"); String qzzno = whereJson.getString("qzzno"); HashMap map = new HashMap(); - map.put("flag", "3"); + map.put("flag", "6"); if (StrUtil.isNotEmpty(product_area)) { map.put("product_area", product_area); } @@ -37,15 +37,19 @@ public class ShippingServiceImpl implements ShippingService { map.put("qzzno", qzzno); } JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0); - return rows; + JSONObject jo = new JSONObject(); + jo.put("data",rows); + jo.put("message","操作成功!"); + return jo; } @Override - public void needVehicle(JSONObject whereJson) { + public JSONObject needVehicle(JSONObject whereJson) { JSONObject cut_jo = whereJson.getJSONObject("cut_jo"); //查询离该分切计划包含机台最近的一个空载具 JSONObject empty_vehicle = WQL.getWO("PDA_02") .addParam("sort_seq", cut_jo.getString("sort_seq")) + .addParam("sql_str", " ORDER BY abs("+cut_jo.getString("sort_seq")+"-sort_seq),point_code") .addParam("product_area", cut_jo.getString("product_area")) .addParam("point_location", cut_jo.getString("point_location")) .addParam("flag", "3").process().uniqueResult(0); @@ -59,10 +63,14 @@ public class ShippingServiceImpl implements ShippingService { form.put("point_code2","SS01"); form.put("task_type","010401"); cutConveyorTask.createTask(form); + + JSONObject jo = new JSONObject(); + jo.put("message","操作成功!"); + return jo; } @Override - public void confirm(JSONObject whereJson) { + public JSONObject confirm(JSONObject whereJson) { JSONArray rows = whereJson.getJSONArray("cut_rows"); //通过气涨轴对应的分切计划来判断要送到哪个机台编号附近 @@ -77,17 +85,26 @@ public class ShippingServiceImpl implements ShippingService { JSONObject plan_jo = WQL.getWO("PDA_02").addParamMap(map).process().uniqueResult(0); //查询离该分切计划包含机台最近的一个空点位 JSONObject empty_point = WQL.getWO("PDA_02") - .addParam("sort_seq", plan_jo.getString("sort_seq")) + .addParam("sql_str", " ORDER BY abs("+plan_jo.getString("sort_seq")+"-sort_seq),point_code") .addParam("product_area", plan_jo.getString("product_area")) .addParam("point_location", plan_jo.getString("point_location")) .addParam("flag", "4").process().uniqueResult(0); + if (ObjectUtil.isEmpty(empty_point)){ + throw new BadRequestException("未查询到可用的空点位!"); + } + //下发输送线任务 JSONObject form = new JSONObject(); form.put("point_code1","SS02"); form.put("point_code2",empty_point.getString("point_code")); form.put("task_type","010401"); + form.put("vehicle_code",qzzno); cutConveyorTask.createTask(form); + + JSONObject jo = new JSONObject(); + jo.put("message","操作成功!"); + return jo; } diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index 5b33499f5..f272dc957 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -20,6 +20,7 @@ 输入.qzzno TYPEAS s_string 输入.sort_seq TYPEAS s_string 输入.point_location TYPEAS s_string + 输入.sql_str TYPEAS f_string [临时表] @@ -96,9 +97,11 @@ WHERE plan.STATUS < 2 AND - is_child_tz_ok = 1 + is_child_tz_ok = 0 AND is_child_ps_ok = 0 + AND + is_delete = '0' OPTION 输入.product_area <> "" ivt.product_area = 输入.product_area ENDOPTION @@ -123,8 +126,8 @@ OPTION 输入.product_area <> "" ivt.point_location = 输入.point_location ENDOPTION - ORDER BY - abs(输入.sort_seq-sort_seq),point_code + 输入.sql_str + ENDSELECT ENDQUERY ENDIF @@ -143,8 +146,7 @@ OPTION 输入.product_area <> "" ivt.point_location = 输入.point_location ENDOPTION - ORDER BY - abs(输入.sort_seq-sort_seq),point_code + 输入.sql_str ENDSELECT ENDQUERY ENDIF @@ -185,3 +187,44 @@ ENDQUERY ENDIF + IF 输入.flag = "6" + QUERY + SELECT + plan.mfg_order_name, + plan.container_name, + ivt.point_code, + plan.split_group, + plan.manufacture_sort, + plan.manufacture_date, + plan.paper_tube_or_FRP, + plan.paper_tube_material, + plan.paper_tube_description, + plan.paper_tube_model, + plan.FRP_material, + plan.FRP_description, + plan.FRP_model, + plan.workorder_id, + ivt.sort_seq, + ivt.product_area, + ivt.point_location + FROM + PDM_BI_SlittingProductionPlan plan + LEFT JOIN st_ivt_cutpointivt ivt ON ivt.ext_code = plan.resource_name + WHERE + plan.STATUS < 2 + AND + is_child_tz_ok = 1 + AND + is_child_ps_ok = 0 + AND + is_delete = '0' + OPTION 输入.product_area <> "" + ivt.product_area = 输入.product_area + ENDOPTION + OPTION 输入.qzzno <> "" + plan.qzzno = 输入.qzzno + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + diff --git a/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql index d5e6039a3..08eea9140 100644 --- a/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql +++ b/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql @@ -92,7 +92,7 @@ IF 输入.flag = "3" QUERY SELECT - label, + label AS text, value FROM sys_dict_detail diff --git a/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index dd9d88cf9cd1e6eaa6e1bed2062a9db694581066..153ea0cb5b7fada77204c41c4dcedd5ec8f6277d 100644 GIT binary patch delta 9919 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 Q_-+*=>RYso-Y(kyKRo)hb^rhX delta 9388 zcmZ`<33yG{7GC?D%pwvYfvs?T~3{Bvq17_nflb`w#%eN z?I5|p)EU$7w!gc&1Rv`pWWlcmp*Q{R;bGUDNo>i8!Ec376S_o1ju8^af=l$ObvCa4Y%R=r zLG#I$-0~1%zk0nvNYvk|g!%9_&3#%jW{U7h4obbzuYc;^ejQDL{c|LnSkKneOxFf1 zOf>jD=B`SNy*pZ&Pp&kM@hI7_g=0Sa=)n?~v0S#uNtI0+GvULTvz8=s*_BqR?8p9W zTI)}^%!Tgwahc3MTI4so>HB=u*FowkpU=1Sf0`IOjmwU_WtDAkoN4#jd}>Vp+>lzE zIjqA}Hr9dLqy9+Lh^Y1hzMSl8W6`r!MC~wYYnr$(xb@ll`vy<+yftrN{sIGv|w%fQI99t~W2c&k^=d20RTYe3~@A$AXE^%6@V>9_iQVVk6hhZJwe0y-$`3_B{-S)5PmF#+g z66SP1(XjSGMyyBrH=lm`kIoCG-fNdWX6?wUbd~(;`Y(QvJTB<=!eqw}nC~xP8KD=) z^#7qabaVg2n}^?7bK2`nz?|vnOQc1iQ$pT~h{;c^XnpPHBio7xO*~)T?~&p7+Z|4} zbsREy;ms3WFLe4(X1BzjwpVQ^zJ2+(^%s9H9JKTE;Mb;18MCva$yji5`s1NBmkUE* z{m>MZ-Emx5*zu7MS|oTauQPV|6|@pc~3u-RX20JcfvD= zvg!FA(>v$wJT&EAVseMzUBkQ2eq5eO^ak}E4${F3wJT<55DKMh@e$^NzMnvb1Lj&Tov%*`%&rAyD<|0yZ0`S{Y^(c2gQ z`6R7$XHuz4uVEj(5^Bf|f96;|EeUhhK4%&T5_NjtMPo}Ne);;v=)8u^+Y8&L%u@)Cwe)ZXof8s`rpvE+Ca3z zj;Q5EqUH8PC(!o>;y*HoE~0;mKFN`2*(M@;CnAr{MBk#{guZ11qBcgN)#&dSa4{Ol z$`&G*hFF-1h3Iq9w|5~*+)8u|{W0`Came-F2E))_*-kXf4TkN2QH_blpudFv6#CcQ zG0w&qeKGp*CPeW&i3-t|qmOP%)G>!>1A4=5Tm*U$`Q#Fs>^vS`gKtpW2e>_->+JUPPD8L_@rZZWIu`+luIMA<;x1Q0`u$_Yl#y zi->mMSS=|gYK%j(yo9K!4H@WIDUlySI-;CtCqnw^KB7{Dbnbqla|q?E0|+ldx$Phh zT7>YI3Zm|anD-%s7?Db-fY!FfVmRYpbtWXzC4PkATpDV5gkB8*a@Pc z@Vpj%f`@^q(8vjygMbeS#Iw;g-3zJNsNRoCX4xkq60Or!%bn#{n~*ghYL5<_vS7=O`Rt z0G$=Q&UM&9$5~eYqw0WxFU_1~4hErwKO$!td=!Q_|6e88mcLUXbYKfGhxiB`?*CT@ zlJx~0_L{BcH6HAt-25El5G5$GH~H;z%`8H|=K!7i?4G&x;?wzcL~#cY+0Sgc_2PV>G=EUj;wBk=Nqk{% zs<@0axX-9PHsNYxiS9L*lpkW)8h-l`8+OEer<^tQTzQF|Sy{tAiu-R}U7Z*1@J8dc z8my<*X#7Fsby^!VI6-aEpk1VKHu?@|(P*8Ntu-vnwmmLmlxsEYQ)hTU&!Ke~dS&=U zmT5k7i7g0GjwCS$mZp>^F?aJ+7s#;U*3jB;e8n93C!lLmKj9 zHNz7o)TRM$h9B?kZsR^DSzPHK(UnyZ?h;S`kxON-5dECz{icNYNdXhXh0z(}{)gKA86p`TSw=h= z^oV5$!}W+|AYy8EW>^w}M=V1m1P?$4URYPNKcI_8EJH+W1Zocvu?PXaNq|4r;5G?x zaEu83CQBx6su!_M7T`@5U>>neN{GMI{FTibK%@ZJEC8Nr0GkECpBlhs0I1L1W&seT zEN+8$e6DM=&^5}a>53A%jL>Cdle8nl2wg^&q#YSXi!LK{ZDKfd;k7dvVXToY$H$&{ zOpJ($kxdpyMPo85J^@lwwnd2uklHoM1X?ZYFXsFxQz`Ao0t_gzsDi-g;`XgDA&H@g z&_)tQ{5a;Sx59)9;!LKFY%qs1LmSy*4#kExvcu@OWn@p4gu+9cbHLn5ePqCSQb8z2 zv`Ht7P?Bh)1{k3*(MHY~p*+z>4KYHcqm5iJLdhZ$cpG~D(A2)h4c#Vo=n2N^NTSKi zPK)t23X^Fu_Cuev!I`Zm;5LNTtlgv^k9_a8DM?pZ^HJM16pH0~w+j?oP49N>-AZPU z5zpA|2wZ3JXl}>etz;#zMU~sq=bGFO4=+CxIKXyf_*9mnFh|MVkfp&m2$(DZ!g8RBd3284iACavAG!X#V z0${!dkSzeFXaLz3fb4nz*%pB8dH~r1z#ne_A}2frz)k_+ssZd204OS+wv&Pabkg04 zT{yt50G5YnCqiUq3$zgJR8Qv|O{teqnj@4p(Uj(hy=jUOcR$Bsbxys#$+7HBPQAU! zu^e(aVsAV&;GCECMk#48IgIiZ7UT*G^qM0V7FcVJTv(vi9J#Q-T65&W0=4GIg$34{ zBNrA}YmQt|bNJ_J4*LnXJOQWI9C^awo1{$WAbA+{8Y9o*V4iSLuQBqV-dbbi2`BX$ zBTug}EOgIl$)sWX3v83X)=LbNz}8C)6UpIPW}8H`^%}!uF~%f}(Q6Eoi1upb4~l(qsVU*PC`pAQ@>-{&KwR=&>{Q2ODK4=9!I^8sb$`+Pv@@)!9&U*A}zs*Tjp zuuC(dy)a^zFhb}3UBU>R_jd^+c#7^42I#!M%VNMTivj$B+a(P6JKo=|VRlq`f42bD zd4IP6)p>un1#~w+Iq#=*61-pD3B0csz-Dp3&iiJuLptx9ale)K&GjN@wrrBwvPt|A zGK)>(j+#Zb=)7-MdA~rjUM+_U1h~%o1p-{>{Q?2b6&2KrSb+t&zyi!8R-p2Jp$4Fq zxP<~h=lwzfp!0qq094*D6aZ05^FWRF3%RbQ?i_qC^wqLY#e?lfdsQ~Z_XQv_osEkC zVrAnZfLPhM2q0EAE&`C1jf>!km5qzwjg^gy5JoE-7a^2ZHZH2q#znBw%Em?XA{!T> z_OP;X5xvO9MJOb#Y>clyUSQ*55jUNUi{X-$jf?BEaWQ;R6HZHX!K`CI=f{mwfDPW9(2up<@IvbZ-(z_IUVq`iSm+A)tuhAP3FVfFbJWWRF zGh9;6b&;awY4n-WFj)HSeSS=qX%?zfT?Pwxvwv!wR0a#pY`n%vWflv|>RDK3v9Jsl zTB*8BnG-5CHS`S$E>43;2omvk7&PuHZL^kQvdO)Yv3H7-3pk|E9 z>j#A~I=3Da#^~I75XPuQ<3VAJPOS$m#vByJ=+t^pq_t6{)(QtUnh`3$SHg(hEK1AYN@0Xft(C$E zepXis1N8i@v=~rnF@O_Ar7+;{sP&MB2|DMm)Q5!UI<+1WpgOf4vVa}}D5uuA2tln$ z5ujFZGw!bv_v_SJB{oQ>)+(_<`YUx+y~tHrHmS<8N&MNU5}TxI=4X#ityLUf^K=#U-$4xrdaOGzwKnI0{*@50M>oC7H1apiD>-at;M zKQ16*PQ@{d3a4O-qMj6o7D$n}j-n7;g;N4#5x9!MRT#J+5Whq5;n!i9i9#Pw(P*=2rdSmU z9l_8U2WcSYW3Vbx=n5A1214EwS8i&K3XnX9-0Y_&+S5Aie^^+ zoh7x5$id|Sv@*1Ew0&s&rR^ZvA+!p#O0+68etR|gBTC>7>9kT7C)t`=wzO{Y;P4*d z!BIWq5ZlP8sF1*L1T`WsCLt^y(F_d@iw}!H7~`YkXU~jDpwOPdJ>sGR5x9uR!0_O( zPzsFh85S2997Vmt;-W)(gho5`j5Gh{E6cC4-O9s}@_kqJKQb<`*s=USGcNEXX~C0Z zfn@%Ev^>&7ahfjsrc82ZBq68k>KGmj{QCjfDr`Kya_lx;_H-MHO^U#VM`8!Yq6I5s zrpvwD-g-$~#Ki+%61&fkySfd0Nj#E^2fZZTIzx{282nc;OzR>kCuhh_6!)2OJGUW! zU7+-xDGy4SO0e0eSY-6dsGH|5t^vV-y{ zPI6V&&6J%DaSbp09^Jz;ZrPCxvy{E?B+n#l8C6za*|T)U7jaA1(4i^o<2LDXSG#e0 zmeA~k&9+Z`?lg#Ns>{{GM%mvSo`_My^ku6#~v zSf_k5PxezH=gD3+t|RU`Dof|dzRJ{jauaRtIV(}p=E`1X<5#i`|HF}zHDBI~`#)MB z<4YN374OC$Y&%+imjZ-6ID(*KN{v~&qiw<^^m{usai!ndISZqHIMUDt zl}woR6lSh!)67ShWr{QFPLd|xA+=2Fjp;vZRRUD8I^ZF3ar+f(>P@56npbeGMeYl= zhImt3M|StK+d~r^)U-w=BmHT;orZY*w>vGgPyX)`{~s>(b#T=BU?QEf>L)0nbvTGJFW1vbtk?|=t5t`(8TvZrNJ%JN?Cej%=s{D@r) zBPfT{8_pW)>)}Y};uX@{5#{|no$b^B;i4p0D@caX=`I>-<8Db`xb>jBT-4O2k2U?% z*^~a;#gW>$1Talk4c;%H+|O<<^ns_Embp68-5$(pwZNgJF4F{p)kAQDDxT{I+u9u&qHHI5lKLXeN3w(cxTX4B&pu}8V@5x7q{ z%xpnh4J^ePyl~gB{K)_oI~ge42VnIyhz$1bNy|O#e(y0PraTT+_CEqRd?9S8%8I(a=GC9IpXql&@&_SKM$h6Yf5kh4<>h`78S`B%P4t8SRv8!-}am{J2w2y5=-Zts6<}y)-C;?JXZ9$XL>6-mWqS@@&nzMF#hN zG8g(wqLSR9O$j||LzI%-rGW|lDqkpUYdMx8+@pcvTB?kf(~AR@9CsuRsl?#tPmAWe!J*MrcyfsTf~smFSZ zZQ0G-a)i7&fiJk{-_C?kvn~2!8@fn4EyMu3A;I%EO39D zVYV>3nPC=W@+yzQ9%Gr*4O%;HiuW1WTOE?*pgTb0VHuN^HLgcW^cHXlXWtsejGrx| z)5hD=OL76p@Bn$^ZKRwe4t(@smyau|p6}dRRn|1T6}~`R zctLtOEFcHoIG^@xUv`z}70zFO6?JAHXiLuQ}2uN-2OYPD81JyrS7DRy`Ep6?eXOWYRf`#&YyR)@w+ zkX(u$x3%iy8`qcLe*9Vfg>wljmY(TdbL`gkg6f9ChTE&oI_qy+Zno$*?!ZC&+cOg; z-16I@nK>!S=R3>7W4Upm(l5T+nf#q<;U^OhP4M<|9ecEBDd>ua?^$AZF%!RXO6_c*Ju896E zd8n6PWtG*>Z~2y4dlTo+cIJg{lin)WYBj6U^5&E;XXQF=nto&U`0?%yw?}Fx{Q3Dt zZQ9M`k-u%a_19mEZUhyL`|%UU%z>MF4{fymefFYC{&BaFmFEvz|9Y|E^o=PMmXnty zz;EJ)flI%7VmHtEyB`6GDXsqy=$qMtW^I6ZZlPyUH9i=WP#`QYxM`M*pZKdhTmQR&pr z==tU=DOF|AL*GLw)#>}!US7v(i**MNlz-%S{g~^@O*5}ASyW4sU+hp%vAFo=mB-|C zt&je@yu{oi-)ui#AWfaCxn(_a+vQ$YJd3rpk$obz9NWC7qSy5gBV0Z|b*awyZU2Y! zoPV0wx_zU1np*EYce3q)WhZp&zP=n$T~UN$H=J9K`L?8<_~GQUbLTgn_}96u6B2LL z<=k$)u(3(I?ZnJs5jK?z=k2=c_S^brVHxk|-1#Kuk71wtREAW+?kn#{gpc}T+@Uvz zRdO|>PBj0V(ELkT$(Vh{yW^(+pt3k?w||$`Yj;jz^tC79c}w%Y9`Ub8Qmyjx{H5kb z-cwaHS2V-r>8wbHAL-4A$KTX?ZC1XK>AJYF&w~#xp16DYs_bduG|QR~OPy)a%)CKg zBtIPM^jprc)^YnUzcY2y+k+eXef8~D*PQ!%dvD3u|F4>#A5QMQAm{g6s~hsyH13)i zbn(-SpZ45*QGF)kQQyxd-#x!>kZWw#_um*}aSax%OMX7}%Zy${W#2qI{rLPI&sLkd z<4?-!o~%CzyY$Yrvz_G&7Ju;Q@xIFQM_yl7f63VW*U`Tf`B&X~vnSZ@{r8xbGe0~W zWw-5i*~yV-zt}l{<40<^`|JEs4_9p);xcOA#E5N9jhd55WQcZ#a%c3^VU>oQ%GueK zA^r28e!TYWasK+%-0!Wh{Pa!gk{>7i6hC514R7Udb)c))J5i_A*8f}~F?g;XWl2UF zmQV*sxm_I33N1z+XfW4VbM=NX~3W%Qq zhyz?fx*h4GX#mv{fS~CBPmz9%bdeOmJ0CZHr2j!$i~E+#On^V+0H=|b;tn@*7Vb}$ zsDt!0(jBt_igIzYahn71C(`>!Kd}aQe=fij^cXk~U*kysKzh&yVA*_tG+ThXNDW9w zEdc0^n_%fefT8#%yp8lDq;D)j=PH1cNZ&>3QvlF{G^r4vyFCWJ7=u7+T?9pNxd(tv zF~Ii@0Hc@SZs!QFdMUsVd|B^b1~3Od#NJ&Fklhmvl%RoL7}yF74C(Nd7`zKW!YZ`k z3b5*30Dr8|m#YD$<5pWxiW%doyt@V<0C&y}WdIRau^npx;;~XI)}yp9mgsmnz(g$3 zy$t{qOT$$F?8Az@K)M?%BHe_+U?sX6`tJI!o2Bg@fB_%kN*KuD60Ybmy2K>`2e7~m z{y$w#1#%n#y>`KwoC2PM6)riZBfJ`z4H=G}bU95nFwibIlT#E4Mld>@V6s9W-Tu}H zuH&nW2sZ2l9(%>GKT2kTqZW2jRaJsq7~yzyhw;Al zvEgCWc+xI(q+MZOhw;NBrP_zUGN{HMM?RSCqxO?-G4{84*gl6x^pY`*JmTx3Ne|LY zU5~oa`9}k2^wDryf6{@TI2tdvJB%HC1o$RPvW?cC>O&NKgDnX&v>uzx75#=cCvFVJYo`~y$Y<&s2^OBZNbyqvnt3!%9Sr!AwhoN%}BF@_HRq|}H zUWK#Lz6xjM6!9W)V5%6a$*UA_UwI|2{u`Y2_^a%&p6-l~H95xpsSCq|<9_u@T=O?L z?rWXpH`E>@#PDhDT4Fio7(nP*fTM=&Q#O*Q=YYROgsx(p_riR(VzF752w#x|H$Fjz zbsjMv95HM^Ge^ob09Btmg~af~xc~{*2nNNa15$Z*18%WRLdWl*Bd)Ie_?n8Nzg~5t zhpu-sIA2$Kq*@T%1ko^ym*D4e*VED*f`oi7O0p0nr0Z#z|LhL2p8o(}P0s+d&)c6f zL;qGEi$NBIz0TNP(bZFXnhLT*lwm$BN!w|~S8$|&So2B?GL&@VCs~k8Bvlq94#|H^ zBvK;GiW#xtKWD_2S4c^3(w+A)kt`FLV@!({HPZ8-fk(P_}6OsNX(&uvW0h8aYFzJ28sGRWk6{JZu z1gkK>g1}o21e(3@En{r3B;GPI#Hdx0a?V>thG17z;|~y4OEvks)6RHVP2A-ue_g1n z2X0{hUEbM=)L6+!2tB7a-t0rl72fv5O7s?p+VA}7i_&<*8T>jvR2b`SU} zKeCm(3w)M8N#$_9-Jj^V`@nzePmU|=VU8#rhFg3+as!ATcL(@$0Ys17xgs~*#O)Pm z;-&`*+<785Lev$x=Sw#D{z+;Tfn6_W9dcV6Z#n@$dn3tgR`Aj@%$2G@x>wJ4Sq!ku_dYeB?L$s?;eVH zw@@;U4+zDlJewaKN<4=)Lm}$3to4{g6TE{nRt>#53B8cSHRfHw+mg^@mF}3Uq!*I7 ziGknb?}rliqGnhu8jcYR7mJ2t%!XqG!>MMx&2WrhcnRXHIx%8(8lzc|F<6}@C_*0F zabm!dRZ3iz1Nf?E8nGDa5xy*p*yL7#8;UZ;SPWt}xQotWF^F{{E`g2UVaBCUA>wR_ zSPz)ACFzE-dO7s_J@>hZWyy{`8=r11q)x$E;Up)G|E!d4m zfB0x#2q(k6>!C!HP7tJ*i_!^Z=>$Q#j?auBIViqT6i*bySBTn?0H-d|^1z6s2MUNAL>Qv(`w(z4JqOO>~!v?zZ4>0#k~q=+3kgq@uem zfLp%s5T%-Tf>gmBdrO;a$u7dG>~7 z@>wWPh5BX*^1)aP6W+GLWMP_{fPI&;(q-}fQMhSl8(XUeLPQ7I=%5Bd zMF-jFphj?zjSgxc%#2G#$JywBns=0JOr4_T#^`G3g_adKd+Agmq=u{D1-1CQ`E@b} z_>s|Mk);k5^>_hQ{orOh2$eA#7=))nVYJqhG_om{OtNunNf-Xz2%5|hSB*1c$u|;d zKIFkHJ|+oUBp+r&zHxjK*=9ke7@wz-Rtw&35s~rr3yI9A$RsV&j`Lxpr4xSyIjks( zg?P|G0N%s!^2JdcUO_kt#(((4;Mf=cmLG?s2ppMc2!!JHAB30=wPH}O5DHK#1ZN3I z!;r@;1fmYJ!E7;vS%|=S9HPD`nF#S}R0>6QBASXvMhL_hQznq)^fXqT(fAkU{V++m zbMR1-%s@Q4;_FTDOE`PS;$i&hAUVA-D>hyi5Fds~2E+vf`37TT0lwjJF%kGA$wES7 zgJN`;OnhNMct{v#5f&8W8yJB?zQI935xy9AT%d14Vm!thoT!VB3yCo{cyTsS9V?v2 z&9ETJ{KB`nyEej_;lGNNQNr3y<+jU>y=HR*39p~a^)gPH!@Wt$XE@+5J{fLa66`(> zTfq4HTn@k1f#0%_^WcVp@x($d&JyMD?>rslT00zsx=ZZ%_+^}fDjbU$g5`|Bbqj!8 z$mORl;}SKxt}wK=hH;L3Yb??7b<4QdR6$)Ocg?5EE zl^`0{73H%_xY+U;;e2ZeXJ0;JoMapaz+Wuk-1xkeT(9yOdVb(a&WoSFf*a1$5-z@| zA#2>f-)m{sZ|Qz!$8hKQ{aNz(c*5eTJNj*zJ~pxR{)5?j{%N*g+nN0g1YV;DE4%5YvTtQrsX9olX}J6dDj3 s8W9l2u82_M^Ud5cLIWfcWARq*drtlsgk6fSvnE=Et&PPyxMJD=0q7C{H2?qr delta 8530 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 diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java index 52fcf86f5..8972f25d2 100644 --- a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java +++ b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java @@ -77,6 +77,7 @@ public class CutConveyorTask extends AbstractAcsTask { // 更新分切输送库存状态 jsonIvt.put("point_status", "03"); + jsonIvt.put("qzzno", jsonTask.getString("vehicle_code")); ivtTab.update(jsonIvt); } } @@ -106,6 +107,7 @@ public class CutConveyorTask extends AbstractAcsTask { json.put("task_status", "01"); json.put("point_code1", form.getString("point_code1")); json.put("point_code2", form.getString("point_code2")); + json.put("vehicle_code", form.getString("vehicle_code")); json.put("handle_class", THIS_CLASS); json.put("create_id", currentUserId); json.put("create_name", currentUsername); diff --git a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java index 7b3fa5d0a..06b0f7c91 100644 --- a/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java +++ b/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -53,15 +54,36 @@ public class CutTrussTask extends AbstractAcsTask { if (jsonTask.getString("task_type").equals("010403")){ - // 校验终点是否存在 - JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code1 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("未找到可用点位:" + point_code2); + //更新分切机对应位置的气涨轴 + JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code = '"+jsonTask.getString("point_code2")+"'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)){ + cut_point.put("up_qzzno",jsonTask.getString("vehicle_code")); + }else { + cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("down_point_code = '"+jsonTask.getString("point_code2")+"'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(cut_point)){ + cut_point.put("down_qzzno",jsonTask.getString("vehicle_code")); + }else { + throw new BadRequestException("未查询到对应的分切机!"); + } + } + WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point); + //更新输送线的气涨轴编码 + JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("qzzno = '"+jsonTask.getString("point_code1")+"'").uniqueResult(0); + if (ObjectUtil.isEmpty(delivery_point)){ + throw new BadRequestException("未查询到对应的输送线点位!"); + } + delivery_point.put("qzzno",jsonTask.getString("vehicle_code2")); + WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").update(delivery_point); + //更新分切计划状态 + JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+jsonTask.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '1'").getResultJSONArray(0); + if (ObjectUtil.isEmpty(plan_jo)){ + throw new BadRequestException("未查询到气涨轴:"+jsonTask.getString("vehicle_code2")+"对应的分切计划!"); + } + for (int i = 0; i < plan_jo.size(); i++) { + JSONObject plan_row = plan_jo.getJSONObject(i); + plan_row.put("status","2"); + WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); } - - // 更新分切输送库存状态 - jsonIvt.put("point_status", "01"); - ivtTab.update(jsonIvt); } } } @@ -87,6 +109,8 @@ public class CutTrussTask extends AbstractAcsTask { json.put("task_id", IdUtil.getSnowflake(1,1).nextId()); json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); 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", "01"); json.put("point_code1", form.getString("point_code1")); json.put("point_code2", form.getString("point_code2"));