From 8212d870c03491ddc6ec8dcb3be2d64a233a59f0 Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Wed, 1 Jun 2022 18:28:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/ProduceshiftorderController.java | 20 ++- .../service/ProduceshiftorderService.java | 20 +++ .../dto/ProduceshiftorderdetailDto.java | 2 +- .../impl/ProduceshiftorderServiceImpl.java | 169 +++++++++++++++++- .../org/nl/acs/order/service/wql/order.xls | Bin 231424 -> 232448 bytes 5 files changed, 206 insertions(+), 5 deletions(-) diff --git a/nladmin-system/src/main/java/org/nl/acs/order/rest/ProduceshiftorderController.java b/nladmin-system/src/main/java/org/nl/acs/order/rest/ProduceshiftorderController.java index c6bd986..092fcbc 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/rest/ProduceshiftorderController.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/rest/ProduceshiftorderController.java @@ -70,8 +70,8 @@ public class ProduceshiftorderController { @Log("修改工单") @ApiOperation("修改工单") //@PreAuthorize("@el.check('produceshiftorder:edit')") - public ResponseEntity update(@Validated @RequestBody ProduceshiftorderDto dto) { - produceshiftorderService.update(dto); + public ResponseEntity update(@Validated @RequestBody Map whereJson) { + produceshiftorderService.update(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -100,6 +100,22 @@ public class ProduceshiftorderController { return new ResponseEntity<>(HttpStatus.OK); } + @Log("急停") + @ApiOperation("急停") + @PostMapping(value = "/stop") + public ResponseEntity stop() { + produceshiftorderService.stop(); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("设备恢复") + @ApiOperation("设备恢复") + @PostMapping(value = "/device_restore") + public ResponseEntity device_restore() { + produceshiftorderService.device_restore(); + return new ResponseEntity<>(HttpStatus.OK); + } + @Log("清料") @ApiOperation("清料") @PostMapping(value = "/clear") diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java index 01789f9..ef8b316 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java @@ -96,6 +96,13 @@ public interface ProduceshiftorderService { void update(ProduceshiftorderDto dto); + /** + * 编辑 + * + * @param whereJson / + */ + void update(Map whereJson); + /** * 多选删除 * @@ -117,6 +124,19 @@ public interface ProduceshiftorderService { */ void device_pause(); + /** + * 设备恢复 + * + */ + void device_restore(); + + /** + * 急停 + * + */ + void stop(); + + /** * 清料 diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java b/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java index 590d2da..208966b 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java @@ -58,7 +58,7 @@ public class ProduceshiftorderdetailDto implements Serializable { private String lettering_message; /** 刻字图标类型 */ - private String lettering_icon_type; + private String lettering_icon; /** 图标后刻字信息 */ private String lettering_message2; diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java index 2b0c89d..203bad7 100644 --- a/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java +++ b/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java @@ -97,6 +97,9 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A new_jo.put("cust_code", orderDteail_jo.getString("cust_code")); new_jo.put("cust_name", orderDteail_jo.getString("cust_name")); new_jo.put("qty", orderDteail_jo.getString("order_detail_qty")); + new_jo.put("lettering_icon_type", orderDteail_jo.getString("lettering_icon")); + new_jo.put("lettering_message", orderDteail_jo.getString("lettering_message")); + new_jo.put("lettering_message2", orderDteail_jo.getString("lettering_message2")); new_jo.put("type", "orderDteail"); new_jo.put("is_flag", "0"); children.add(new_jo); @@ -152,6 +155,9 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A new_jo.put("cust_code", orderDteail_jo.getString("cust_code")); new_jo.put("cust_name", orderDteail_jo.getString("cust_name")); new_jo.put("qty", orderDteail_jo.getString("order_detail_qty")); + new_jo.put("lettering_icon_type", orderDteail_jo.getString("lettering_icon_type")); + new_jo.put("lettering_message", orderDteail_jo.getString("lettering_message")); + new_jo.put("lettering_message2", orderDteail_jo.getString("lettering_message2")); new_jo.put("type", "orderDteail"); new_jo.put("is_flag", "0"); children.add(new_jo); @@ -308,6 +314,132 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A } } + @Override + public void update(Map whereJson) { + JSONObject param=new JSONObject(whereJson); + String currentUsername = SecurityUtils.getCurrentUsername(); + ProduceshiftorderDto orderDto = new ProduceshiftorderDto(); + String order_id = MapUtil.getStr(whereJson, "order_id"); + String order_code = MapUtil.getStr(whereJson, "order_code"); + String material_id = MapUtil.getStr(whereJson, "material_id"); + String material_code = MapUtil.getStr(whereJson, "material_code"); + String material_name = MapUtil.getStr(whereJson, "material_name"); + String material_spec = MapUtil.getStr(whereJson, "material_spec"); + String outer_diameter = MapUtil.getStr(whereJson, "outer_diameter"); + String wall_thickness = MapUtil.getStr(whereJson, "wall_thickness"); + String length = MapUtil.getStr(whereJson, "length"); + String qty = MapUtil.getStr(whereJson, "qty"); + if(StrUtil.isEmpty(material_code)){ + throw new RuntimeException("物料编号不可为空!"); + } + JSONArray tableData = param.getJSONArray("tableData"); + if (ObjectUtil.isEmpty(tableData)){ + throw new BadRequestException("客户信息不可为空!"); + } + + ProduceshiftorderDto entity = this.findById(order_id); + if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); + orderDto.setMaterial_code(material_code); + orderDto.setMaterial_name(material_name); + orderDto.setMaterial_spec(material_spec); + orderDto.setMaterial_uuid(material_id); + orderDto.setLength(length); + orderDto.setOuter_diameter(outer_diameter); + orderDto.setWall_thickness(wall_thickness); + orderDto.setOrder_code(order_code); + orderDto.setQty(qty); + orderDto.setCreate_by(currentUsername); + orderDto.setIs_coating("1"); + orderDto.setIs_labeling("1"); + orderDto.setIs_lettering("1"); + orderDto.setIs_risking("1"); + orderDto.setIs_strapping("1"); + orderDto.setIs_unbundling("1"); + + for(int i=0; i deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class); + if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) { + haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0); + if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){ + throw new BadRequestException("设备未联机,无法下发恢复!"); + } + if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){ + throw new BadRequestException("设备已处于恢复状态,无法下发恢复!"); + } + haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0"); + } + } + + + @Override + public void stop() { + HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver; + List deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class); + if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) { + haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0); + if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){ + throw new BadRequestException("设备未联机,无法下发恢复!"); + } + if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){ + throw new BadRequestException("设备已处于恢复状态,无法下发恢复!"); + } + haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0"); + } + } + @Override public void clear() { HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver; @@ -399,8 +564,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){ throw new BadRequestException("设备未联机,无法下发暂停!"); } - if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){ - throw new BadRequestException("设备已处于恢复状态,无法下发恢复!"); + if(haiLiangFeedingTrunkDeviceDriver.getPause() != 0 ){ + throw new BadRequestException("设备已处于暂停状态,无法下发暂停!"); } haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0"); } diff --git a/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls b/nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls index 848ea71897b220ac18ac376d965f66661d7844c6..7f5632378d9879e9fb1829708badd5dae5150d46 100644 GIT binary patch delta 26199 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