diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls index 3890dc313..9746eb4ec 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdpb.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index 4e5940fe3..1714fda99 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -531,7 +531,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { } else { - //生成一个成品出库任务 + //生成一个改切出库任务 //查询该箱子所在仓位 String package_box_sn = plan_jo.getString("package_box_sn"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/rest/LmsToSapController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/rest/LmsToSapController.java index 50479a795..d94b1149b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/rest/LmsToSapController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/rest/LmsToSapController.java @@ -30,8 +30,8 @@ public class LmsToSapController { } @PostMapping("/returnMoveDtl") - @Log("LMS创建移库单") - @ApiOperation("LMS创建移库单") + @Log("LMS移库接口回传") + @ApiOperation("LMS移库接口回传") public ResponseEntity returnMoveDtl(@RequestBody JSONObject jo) { return new ResponseEntity<>(LmsToSapService.returnMoveDtl(jo), HttpStatus.OK); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java index ebeb26e92..e81b9e10f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/OutController.java @@ -37,4 +37,18 @@ public class OutController { public ResponseEntity confirm(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(outService.confirm(whereJson), HttpStatus.OK); } + + @PostMapping("/conveyPointQuery") + @Log("缓存点位查询") + @ApiOperation("缓存点位查询") + public ResponseEntity conveyPointQuery(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(outService.conveyPointQuery(whereJson), HttpStatus.OK); + } + + @PostMapping("/conveyConfirm") + @Log("出站配送") + @ApiOperation("出站配送") + public ResponseEntity conveyConfirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(outService.conveyConfirm(whereJson), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java index dd6f3d037..f06e434a1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/ShippingController.java @@ -44,4 +44,18 @@ public class ShippingController { public ResponseEntity confirm(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(shippingService.confirm(whereJson), HttpStatus.OK); } + + @PostMapping("/returnVehicle") + @Log("载具送回") + @ApiOperation("载具送回") + public ResponseEntity returnVehicle(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(shippingService.returnVehicle(whereJson), HttpStatus.OK); + } + + @PostMapping("/check") + @Log("配送校验") + @ApiOperation("配送校验") + public ResponseEntity check(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(shippingService.check(whereJson), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java index e00fe01a6..9b397ce5f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/OutService.java @@ -19,4 +19,18 @@ public interface OutService { */ JSONObject confirm(JSONObject whereJson); + /** + * 缓存点位查询 + * @param whereJson / + * @return JSONObject + */ + JSONObject conveyPointQuery(JSONObject whereJson); + + /** + * 出站配送 + * @param whereJson / + * @return JSONObject + */ + JSONObject conveyConfirm(JSONObject whereJson); + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java index 75c19045e..bd91fbadf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/ShippingService.java @@ -26,4 +26,18 @@ public interface ShippingService { */ JSONObject confirm(JSONObject whereJson); + /** + * 载具送回 + * @param whereJson / + * @return JSONObject + */ + JSONObject returnVehicle(JSONObject whereJson); + + /** + * 配送校验 + * @param whereJson / + * @return JSONObject + */ + JSONObject check(JSONObject whereJson); + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 433ca8e2b..9311e94f0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -12,6 +12,7 @@ import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.pda.mps.service.OutService; import org.nl.wms.pda.mps.service.ShippingService; +import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.CutTrussTask; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -157,5 +158,40 @@ public class OutServiceImpl implements OutService { return result; } + @Override + public JSONObject conveyPointQuery(JSONObject whereJson) { + String product_area = whereJson.getString("product_area"); + HashMap map = new HashMap<>(); + map.put("flag","10"); + if (StrUtil.isNotEmpty(product_area)){ + map.put("product_area",product_area); + } + JSONArray deliver_rows = WQL.getWO("PDA_02").addParam("product_area",product_area).addParam("flag","").process().getResultJSONArray(0); + JSONObject jo = new JSONObject(); + jo.put("data",deliver_rows); + jo.put("message","查询成功!"); + return jo; + } + + @Override + public JSONObject conveyConfirm(JSONObject whereJson) { + String point_code = whereJson.getString("point_code"); + if (StrUtil.isEmpty(point_code)){ + throw new BadRequestException("起点不能为空!"); + } + + //如果查询到给ACS下发一个输送线任务 + JSONObject form = new JSONObject(); + form.put("point_code1",point_code); + form.put("point_code2","SS01"); + form.put("task_type","010401"); + CutConveyorTask cutConveyorTask = new CutConveyorTask(); + cutConveyorTask.createTask(form); + + JSONObject jo = new JSONObject(); + jo.put("message","查询成功!"); + return jo; + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java index 94f19eb26..136dd936d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/ShippingServiceImpl.java @@ -72,6 +72,10 @@ public class ShippingServiceImpl implements ShippingService { @Override public JSONObject confirm(JSONObject whereJson) { JSONArray rows = whereJson.getJSONArray("cut_rows"); + String vehicle_code = whereJson.getString("vehicle_code"); + if (StrUtil.isEmpty(vehicle_code)){ + throw new BadRequestException("载具号不能为空!"); + } if (rows.size()>2){ throw new BadRequestException("最多选择两个子卷进行操作!"); @@ -126,6 +130,16 @@ public class ShippingServiceImpl implements ShippingService { map.put("qzzno", qzzno); } JSONObject plan_jo = WQL.getWO("PDA_02").addParamMap(map).process().uniqueResult(0); + + JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("ext_code = '"+resource_name+"'").uniqueResult(0); + String product_area = cut_jo.getString("product_area"); + String point_location = cut_jo.getString("point_location"); + + JSONObject vehicle_area = WQLObject.getWQLObject("md_pb_vehiclearea").query("product_area = '"+product_area+"' AND point_location = '"+point_location+"' AND vehicle_code = '"+vehicle_code+"'").uniqueResult(0); + + if (ObjectUtil.isEmpty(vehicle_area)){ + throw new BadRequestException("该气涨轴无法放在该载具上!"); + } //查询离该分切计划包含机台最近的一个空点位 JSONObject empty_point = WQL.getWO("PDA_02") .addParam("sql_str", " ORDER BY abs("+plan_jo.getString("sort_seq")+"-sort_seq),point_code") @@ -158,5 +172,48 @@ public class ShippingServiceImpl implements ShippingService { return jo; } + @Override + public JSONObject returnVehicle(JSONObject whereJson) { + String point_code = whereJson.getString("point_code"); + if (StrUtil.isEmpty(point_code)){ + throw new BadRequestException("起点不能为空!"); + } + + //根据起点判断区域查询对应的输送线空点位 + JSONObject point_jo = WQL.getWO("PDA_02").addParam("flag","4").addParam("product_area","A").process().uniqueResult(0); + //下发输送线任务 + JSONObject form = new JSONObject(); + form.put("point_code1",point_code); + form.put("point_code2",point_jo.getString("point_code")); + form.put("task_type","010402"); + form.put("vehicle_code",""); + cutConveyorTask.createTask(form); + JSONObject jo = new JSONObject(); + jo.put("message","操作成功!"); + return jo; + } + + @Override + public JSONObject check(JSONObject whereJson) { + String qzzno = whereJson.getString("qzzno"); + String vehicle_code = whereJson.getString("vehicle_code"); + + JSONObject plan = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("qzz_no = '"+qzzno+"'").uniqueResult(0); + String resource_name = plan.getString("resource_name"); + JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("ext_code = '"+resource_name+"'").uniqueResult(0); + String product_area = cut_jo.getString("product_area"); + String point_location = cut_jo.getString("point_location"); + + JSONObject vehicle_area = WQLObject.getWQLObject("md_pb_vehiclearea").query("product_area = '"+product_area+"' AND point_location = '"+point_location+"' AND vehicle_code = '"+vehicle_code+"'").uniqueResult(0); + + if (ObjectUtil.isEmpty(vehicle_area)){ + throw new BadRequestException("该气涨轴无法放在该载具上!"); + } + + JSONObject jo = new JSONObject(); + jo.put("message","校验无误,可以进行配送!"); + return jo; + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index cb8b961eb..07c882f69 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -143,10 +143,20 @@ st_ivt_deliverypointivt ivt WHERE point_status = '01' + AND NOT EXISTS ( + SELECT + * + FROM + sch_base_task + WHERE + ( point_code1 = ivt.point_code OR point_code2 = ivt.point_code ) + AND task_status < '07' + AND is_delete = '0' + ) OPTION 输入.product_area <> "" ivt.product_area = 输入.product_area ENDOPTION - OPTION 输入.product_area <> "" + OPTION 输入.point_location <> "" ivt.point_location = 输入.point_location ENDOPTION 输入.sql_str @@ -261,3 +271,43 @@ ENDQUERY ENDIF + IF 输入.flag = "9" + QUERY + SELECT + up_point_code AS VALUE, + CONCAT( point_code, '上轴位' ) AS text + FROM + st_ivt_cutpointivt cut + WHERE + cut.point_code = 输入.device_code + UNION + + SELECT + down_point_code AS VALUE, + CONCAT( point_code, '下轴位' ) AS text + FROM + st_ivt_cutpointivt cut + WHERE + cut.point_code = 输入.device_code + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "10" + QUERY + SELECT + * + FROM + st_ivt_deliverypointivt del + WHERE + 1=1 + OPTINON 输入.product_area <> " + del.product_area = 输入.product_area + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + + + +