From f08a7c627343318fc44ee75ee40d127569bd68d7 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 26 Apr 2023 08:46:13 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=96=B0=E5=A2=9EPC=E8=A2=8B=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=96=B0=E5=A2=9E=E6=89=93=E5=8D=B0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/rest/BagrecordController.java | 8 + .../master/service/BagrecordService.java | 6 + .../service/impl/BagrecordServiceImpl.java | 37 ++++ .../src/api/wms/basedata/master/bagrecord.js | 10 +- .../wms/basedata/master/bagrecord/index.vue | 18 +- .../master/bagrecord/insertAndPrintDialog.vue | 196 ++++++++++++++++++ 6 files changed, 273 insertions(+), 2 deletions(-) create mode 100644 mes/qd/src/views/wms/basedata/master/bagrecord/insertAndPrintDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/BagrecordController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/BagrecordController.java index 8d900bca..e0ffad62 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/BagrecordController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/BagrecordController.java @@ -2,6 +2,7 @@ package org.nl.wms.basedata.master.rest; +import com.alibaba.fastjson.JSONObject; import org.nl.wms.basedata.master.service.BagrecordService; import org.nl.wms.basedata.master.service.dto.BagrecordDto; import org.springframework.data.domain.Pageable; @@ -68,6 +69,13 @@ public class BagrecordController { return new ResponseEntity<>(HttpStatus.OK); } + @Log("PC组袋") + @ApiOperation("PC组袋") + @PostMapping("/groupBag") + public ResponseEntity groupBag(@RequestBody JSONObject json) { + return new ResponseEntity<>(bagrecordService.groupBag(json),HttpStatus.OK); + } + @ApiOperation("导出数据") @GetMapping(value = "/download") public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/BagrecordService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/BagrecordService.java index 980aa205..cefda0fa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/BagrecordService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/BagrecordService.java @@ -1,6 +1,7 @@ package org.nl.wms.basedata.master.service; +import com.alibaba.fastjson.JSONObject; import org.nl.wms.basedata.master.service.dto.BagrecordDto; import org.springframework.data.domain.Pageable; @@ -78,4 +79,9 @@ public interface BagrecordService { */ void download(Map whereJson, HttpServletResponse response) throws IOException; + /** + * PC组袋 + * + */ + JSONObject groupBag(JSONObject json); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/BagrecordServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/BagrecordServiceImpl.java index 397344c7..c0125e15 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/BagrecordServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/BagrecordServiceImpl.java @@ -7,7 +7,10 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; +import org.nl.pda.st.set.service.PdaBagService; +import org.nl.pda.st.set.service.impl.PdaBagServiceImpl; import org.nl.utils.FileUtil; +import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.service.BagrecordService; import org.nl.wms.basedata.master.service.dto.BagrecordDto; import org.nl.wql.WQL; @@ -189,4 +192,38 @@ public class BagrecordServiceImpl implements BagrecordService { FileUtil.downloadExcel(list, response); } + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject groupBag(JSONObject json) { + WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + HashMap map = new HashMap<>(); + map.put("material_code", json.getString("material_code")); + map.put("pcsn", json.getString("pcsn")); + map.put("return_person", json.getString("return_person")); + map.put("storage_qty", json.getString("storage_qty")); + map.put("waste_type", json.getString("waste_type")); + map.put("bag_num", json.getString("bag_num")); + + // 组织数据调用pda组盘接口 + JSONObject jsonMater = materTab.query("material_code = '" + json.getString("material_code") + "'").uniqueResult(0); + + if (ObjectUtil.isEmpty(jsonMater)) throw new BadRequestException("物料不存在!"); + map.put("material_id",jsonMater.getString("material_id")); + + PdaBagService pdaBagService = SpringContextHolder.getBean(PdaBagService.class); + Map result = pdaBagService.groupBag(map); + + // 判断是否报错 + if (!StrUtil.equals(result.get("code").toString(), "1")) { + throw new BadRequestException(result.get("desc").toString()); + } + + String string = result.get("result").toString(); + JSONArray.parseArray(string); + JSONObject resultParam = new JSONObject(); + resultParam.put("data", JSONArray.parseArray(string)); + + return resultParam; + } + } diff --git a/mes/qd/src/api/wms/basedata/master/bagrecord.js b/mes/qd/src/api/wms/basedata/master/bagrecord.js index c7ea3395..fe46a291 100644 --- a/mes/qd/src/api/wms/basedata/master/bagrecord.js +++ b/mes/qd/src/api/wms/basedata/master/bagrecord.js @@ -24,4 +24,12 @@ export function edit(data) { }) } -export default { add, edit, del } +export function groupBag(data) { + return request({ + url: 'api/bagrecord/groupBag', + method: 'post', + data + }) +} + +export default { add, edit, del, groupBag } diff --git a/mes/qd/src/views/wms/basedata/master/bagrecord/index.vue b/mes/qd/src/views/wms/basedata/master/bagrecord/index.vue index 420146e8..b3daaa09 100644 --- a/mes/qd/src/views/wms/basedata/master/bagrecord/index.vue +++ b/mes/qd/src/views/wms/basedata/master/bagrecord/index.vue @@ -148,6 +148,16 @@ > 导出Excel + + 新增打印 + @@ -183,6 +193,7 @@ + @@ -197,13 +208,14 @@ import { download } from '@/api/data' import { downloadFile } from '@/utils' import { getLodop } from '@/assets/js/lodop/LodopFuncs' import crudBucketrecord from "@/api/wms/basedata/master/bucketrecord"; +import InsertAndPrint from '@/views/wms/basedata/master/bagrecord/insertAndPrintDialog' import Date from '@/utils/datetime' const defaultForm = { bagrecord_id: null, bag_id: null, material_id: null, pcsn: null, qty_unit_id: null, qty_unit_name: null, storage_qty: null, seqno: null, remark: null, waste_type: null, return_person: null, print_times: null, status: null, input_optid: null, input_optname: null, input_time: null, bucketunique: null, makeup_optid: null, makeup_optname: null, makeup_time: null, print_type: null } export default { name: 'Bagrecord', dicts: ['MD_MATERIAL_WASTE_TYPE'], - components: { pagination, crudOperation, rrOperation, udOperation }, + components: { pagination, crudOperation, rrOperation, udOperation, InsertAndPrint }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ @@ -232,6 +244,7 @@ export default { { 'code': '02', 'name': '组桶' }, { 'code': '03', 'name': '清洗' } ], + insertAndPrintDialog: false, query_flag: true, permission: { }, @@ -337,6 +350,9 @@ export default { this.crud.toQuery() }) }) + }, + insertAndPrint() { + this.insertAndPrintDialog = true } } } diff --git a/mes/qd/src/views/wms/basedata/master/bagrecord/insertAndPrintDialog.vue b/mes/qd/src/views/wms/basedata/master/bagrecord/insertAndPrintDialog.vue new file mode 100644 index 00000000..3bbcf26c --- /dev/null +++ b/mes/qd/src/views/wms/basedata/master/bagrecord/insertAndPrintDialog.vue @@ -0,0 +1,196 @@ + + + + +