From daa53221214f28edac130e72e8495ea19dd3c075 Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 25 Apr 2025 17:17:45 +0800 Subject: [PATCH] =?UTF-8?q?opt=EF=BC=9Aadd=EF=BC=9A=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=8B=E6=8C=81=E8=BD=AF=E5=BA=9F=E7=9B=B4=E6=8E=A5=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E5=8A=9F=E8=83=BD=EF=BC=9Brev=EF=BC=9A1.=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=8F=B0=E8=B4=A6=E4=BC=98=E5=8C=962.=E5=8E=82?= =?UTF-8?q?=E5=AE=B6=E8=B4=A8=E4=BF=9D=E4=B9=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HandPFOutIvtServiceImpl.java | 2 +- .../PcsIfPurchaseorderprocController.java | 11 + .../PcsIfPurchaseorderprocService.java | 14 + .../PcsIfPurchaseorderprocServiceImpl.java | 221 ++++++++++- .../pcs/wql/QPCS_IF_PURCHASEORDERPROC02.wql | 1 + .../ql/rest/FactorywarrantymstController.java | 7 + .../ql/service/FactorywarrantymstService.java | 5 + .../impl/FactorywarrantymstServiceImpl.java | 19 + mes/qd/src/api/wms/ql/factorywarrantymst.js | 10 +- .../wms/ql/factorywarranty/checkDialog.vue | 357 ++++++++++++++++++ .../views/wms/ql/factorywarranty/index.vue | 14 +- .../statistics/ledgerQuery/ReceiveDialog.vue | 1 + .../wms/statistics/ledgerQuery/index.vue | 35 +- 13 files changed, 684 insertions(+), 13 deletions(-) create mode 100644 mes/qd/src/views/wms/ql/factorywarranty/checkDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java index a56d59a4..f0efa972 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java @@ -492,7 +492,7 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService { String point_code = jsonObject.get("point_code"); String storagevehicle_code = jsonObject.get("storagevehicle_code"); // 手工出库 - String bill_type= "010601"; + String bill_type= "010302"; JSONObject vehicleObj = WQLObject.getWQLObject("MD_PB_StorageVehicleInfo").query("storagevehicle_code='" + storagevehicle_code + "'").uniqueResult(0); if (ObjectUtil.isEmpty(vehicleObj)) { diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/rest/PcsIfPurchaseorderprocController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/rest/PcsIfPurchaseorderprocController.java index 0199853d..eacc3923 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/rest/PcsIfPurchaseorderprocController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/rest/PcsIfPurchaseorderprocController.java @@ -16,9 +16,13 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; + +import java.io.IOException; import java.util.Map; import lombok.extern.slf4j.Slf4j; +import javax.servlet.http.HttpServletResponse; + /** * @author Liuxy * @date 2021-12-15 @@ -122,4 +126,11 @@ public class PcsIfPurchaseorderprocController { public ResponseEntity receiveQuery(@RequestParam Map whereJson, Pageable page){ return new ResponseEntity<>(pcsIfPurchaseorderprocService.receiveQuery(whereJson,page),HttpStatus.OK); } + + @GetMapping(value = "/download") + @Log("导出合同台账") + @ApiOperation("导出合同台账") + public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { + pcsIfPurchaseorderprocService.download(pcsIfPurchaseorderprocService.ledgerQueryDownloadQuery(whereJson), response); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/PcsIfPurchaseorderprocService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/PcsIfPurchaseorderprocService.java index e588bd5e..e45c8518 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/PcsIfPurchaseorderprocService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/PcsIfPurchaseorderprocService.java @@ -106,4 +106,18 @@ public interface PcsIfPurchaseorderprocService { * @param whereJson / */ void saveRemark(JSONObject whereJson); + + /** + * 合同台账导出查询 + * @param whereJson 、 + * @return 、 + */ + List ledgerQueryDownloadQuery(Map whereJson); + + /** + * 合同台账 + * @param ledgerQueryDownloadQuery 、 + * @param response 、 + */ + void download(List ledgerQueryDownloadQuery, HttpServletResponse response) throws IOException; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/impl/PcsIfPurchaseorderprocServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/impl/PcsIfPurchaseorderprocServiceImpl.java index 1f62b4dc..6d9937d8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/impl/PcsIfPurchaseorderprocServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/service/impl/PcsIfPurchaseorderprocServiceImpl.java @@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.exception.BadRequestException; import org.nl.ext.erp.service.WmsToErpService; +import org.nl.utils.FileUtil; import org.nl.utils.PageUtil; import org.nl.utils.SecurityUtils; import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; @@ -30,6 +31,9 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.locks.ReentrantLock; @@ -418,8 +422,14 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc erp.put("norigtaxmny", erp.getString("norigtaxmny")); // 未到货重量 erp.put("qty_zt", erp.getString("qty_zt")); - // 处理状态: 合同未到货重量 = 0则为【完成】;合同未到货重量 <> 0则为【采购中】 - erp.put("proc_status", erp.getString("qty_zt").equals("0") ? "完成" : "采购中"); + // 处理状态: 合同未到货重量 = 0则为【完成】; 合同未到货重量 = 合同重量则为【生成】;否则为【采购中】 + if (erp.getString("qty_zt").equals("0")) { + erp.put("proc_status","完成"); + } else if (erp.getDoubleValue("qty_zt") == erp.getDoubleValue("qty_ht")) { + erp.put("proc_status","生成"); + } else { + erp.put("proc_status","在途"); + } // 账龄:取供应商【honour_days】字段 JSONObject jsonSupp = suppList.stream() @@ -447,6 +457,13 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc resultList.add(erp); } + // 判断是否有处理状态查询条件 + if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "proc_status"))) { + resultList = resultList.stream() + .filter(row -> row.getString("proc_status").equals(MapUtil.getStr(whereJson, "proc_status"))) + .collect(Collectors.toList()); + } + // 根据签订时间排序(倒序) resultList = resultList.stream() .sorted(Comparator.comparing(row -> row.getString("subscribedate"),Comparator.reverseOrder())) @@ -457,7 +474,62 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc PageUtil.toPage(page.getPageNumber(), page.getPageSize(), resultList), resultList.size() ); - return json; + + return calculateTotal(json,resultList); + } + + /** + * 合同台账计算合计 + * @param json 分页数据 + * @param resultList 全部数据集合 + */ + private Map calculateTotal(Map json, List resultList) { + // 格式化 + List content = JSON.parseArray(json.get("content").toString(), JSONObject.class); + + // 计算合同重量 + double qty_ht = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("qty_ht"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + // 计算合同金额 + double norigtaxmny = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("norigtaxmny"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + // 计算合同未到货重量 + double qty_zt = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("qty_zt"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + // 计算账龄 + double honour_days = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("honour_days"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + // 合计重量 + double allqty = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("allqty"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + // 合计金额 + double all_valmoney = resultList.stream() + .map(row -> NumberUtil.round(row.getDoubleValue("all_valmoney"), 3)) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + + JSONObject param = new JSONObject(); + param.put("subscribedate", "合计"); + param.put("qty_ht", qty_ht); + param.put("norigtaxmny", norigtaxmny); + param.put("qty_zt", qty_zt); + param.put("honour_days", honour_days); + param.put("allqty", allqty); + param.put("all_valmoney", all_valmoney); + content.add(param); + + json.put("content",content); + return json ; } @Override @@ -486,6 +558,149 @@ public class PcsIfPurchaseorderprocServiceImpl implements PcsIfPurchaseorderproc tab.update(jsonObject); } + @Override + public List ledgerQueryDownloadQuery(Map whereJson) { + // 供应商表 + WQLObject suppTab = WQLObject.getWQLObject("md_cs_supplierbase"); + // 采购订单接口处理表 + WQLObject procTab = WQLObject.getWQLObject("pcs_if_purchaseorderproc"); + + String material_code = MapUtil.getStr(whereJson, "material_code"); + HashMap map = new HashMap<>(); + map.put("flag", "88"); + map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); + map.put("end_time", MapUtil.getStr(whereJson, "end_time")); + map.put("iszero", MapUtil.getStr(whereJson, "iszero")); + + if (!ObjectUtil.isEmpty(material_code)) { + //处理转义字符 + if (material_code.contains("\\")) { + material_code = material_code.replace("\\", "\\\\\\"); + } + map.put("material_code", "%" + material_code + "%"); + } + String contract_no = MapUtil.getStr(whereJson, "contract_no"); + String supp_name = MapUtil.getStr(whereJson, "supp_name"); + if (!ObjectUtil.isEmpty(contract_no)) { + map.put("contract_no", "%" + contract_no + "%"); + } + if (!ObjectUtil.isEmpty(supp_name)) { + map.put("supp_name", "%" + supp_name + "%"); + } + + // 查询erp合同信息 + List erpList = WQL.getWO("QERP").setDbname("dataSource1").addParamMap(map).process().getResultJSONArray(0).toJavaList(JSONObject.class); + // 查询所有供应商 + List suppList = suppTab.query("is_used = '1' and is_delete = '0'") + .getResultJSONArray(0).toJavaList(JSONObject.class); + // 根据合同编码找所有采购订单 + String vbillcode_in = erpList.stream() + .map(row -> row.getString("vbillcode")) + .collect(Collectors.joining("','")); + List procList = procTab.query("contract_no IN ('" + vbillcode_in + "') AND dr = '0'") + .getResultJSONArray(0).toJavaList(JSONObject.class); + // 根据采购订单id查询所有有效的到货通知单明细 + String proc_id_in = procList.stream() + .map(row -> row.getString("id")) + .collect(Collectors.joining("','")); + List dtlList = WQL.getWO("QPCS_IF_PURCHASEORDERPROC02").addParam("flag", "14").addParam("proc_id", "('" + proc_id_in + "')") + .process().getResultJSONArray(0).toJavaList(JSONObject.class); + + // 处理erp返回数据 + List resultList = new ArrayList<>(); + for (JSONObject erp : erpList) { + // 签订时间 + erp.put("subscribedate", erp.getString("subscribedate")); + // 合同编码 + erp.put("contract_no", erp.getString("vbillcode")); + // 供应商 + erp.put("supp_name", erp.getString("name")); + // 物料编码 + erp.put("material_code", erp.getString("item_code")); + // 物料名称 + erp.put("material_name", erp.getString("item_name")); + // 单价含税 + erp.put("price_tax", erp.getString("norigtaxprice")); + // 合同重量 + erp.put("qty_ht", erp.getString("qty_ht")); + // 合同金额 + erp.put("norigtaxmny", erp.getString("norigtaxmny")); + // 未到货重量 + erp.put("qty_zt", erp.getString("qty_zt")); + // 处理状态: 合同未到货重量 = 0则为【完成】; 合同未到货重量 = 合同重量则为【生成】;否则为【采购中】 + if (erp.getString("qty_zt").equals("0")) { + erp.put("proc_status","完成"); + } else if (erp.getDoubleValue("qty_zt") == erp.getDoubleValue("qty_ht")) { + erp.put("proc_status","生成"); + } else { + erp.put("proc_status","采购中"); + } + + // 账龄:取供应商【honour_days】字段 + JSONObject jsonSupp = suppList.stream() + .filter(row -> row.getString("ext_id").equals(erp.getString("cvendorid"))) + .findFirst().orElse(null); + if (ObjectUtil.isEmpty(jsonSupp)) { + throw new BadRequestException("外部标志为【"+erp.getString("cvendorid")+"】的供应商不存在或未启用!"); + } + erp.put("honour_days", jsonSupp.getString("honour_days")); + + // 合计重量:1.根据此【合同编码】和【物料编码】找采购订单 2.根据采购订单【标识】找到所有到货通知单明细数量的和 + String procId_contains = procList.stream() + .filter(row -> row.getString("contract_no").equals(erp.getString("vbillcode")) + && row.getString("item_id").equals(erp.getString("item_id")) + ) + .map(row -> row.getString("id")) + .collect(Collectors.joining("','")); + double allqty = dtlList.stream() + .filter(row -> procId_contains.contains(row.getString("source_billdtl_id"))) + .map(row -> row.getDoubleValue("receive_qty")) + .reduce(Double::sum).orElse(0.00); + // 合计金额:合计重量 * 含税单价 + erp.put("allqty", allqty); + erp.put("all_valmoney", NumberUtil.mul(allqty, erp.getDoubleValue("norigtaxprice"))); + resultList.add(erp); + } + + // 判断是否有处理状态查询条件 + if (ObjectUtil.isNotEmpty(MapUtil.getStr(whereJson, "proc_status"))) { + resultList = resultList.stream() + .filter(row -> row.getString("proc_status").equals(MapUtil.getStr(whereJson, "proc_status"))) + .collect(Collectors.toList()); + } + + // 根据签订时间排序(倒序) + resultList = resultList.stream() + .sorted(Comparator.comparing(row -> row.getString("subscribedate"),Comparator.reverseOrder())) + .collect(Collectors.toList()); + return resultList; + } + + @Override + public void download(List ledgerQueryDownloadQuery, HttpServletResponse response) throws IOException { + List> list = new ArrayList<>(); + for (int i = 0; i < ledgerQueryDownloadQuery.size(); i++) { + JSONObject jo = ledgerQueryDownloadQuery.get(i); + Map dtl_map = new LinkedHashMap<>(); + dtl_map.put("签订时间", jo.getString("subscribedate")); + dtl_map.put("合同编码", jo.getString("contract_no")); + dtl_map.put("处理状态", jo.getString("proc_status")); + dtl_map.put("供应商", jo.getString("supp_name")); + dtl_map.put("物料编码", jo.getString("material_code")); + dtl_map.put("物料名称", jo.getString("material_name")); + dtl_map.put("单价含税", NumberUtil.round(jo.getDoubleValue("price_tax"), 3)); + dtl_map.put("合同重量", NumberUtil.round(jo.getDoubleValue("qty_ht"), 3)); + dtl_map.put("合同金额", NumberUtil.round(jo.getDoubleValue("norigtaxmny"), 3)); + dtl_map.put("合同未到货重量", NumberUtil.round(jo.getDoubleValue("qty_zt"), 3)); + dtl_map.put("账龄", jo.getString("honour_days")); + dtl_map.put("合计重量", NumberUtil.round(jo.getDoubleValue("allqty"), 3)); + dtl_map.put("合计金额", NumberUtil.round(jo.getDoubleValue("all_valmoney"), 3)); + list.add(dtl_map); + } + FileUtil.downloadExcel(list, response); + + } + public static long getDaySize(String start_datetime, String end_datetime) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/wql/QPCS_IF_PURCHASEORDERPROC02.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/wql/QPCS_IF_PURCHASEORDERPROC02.wql index af9eabef..354a0a0d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/wql/QPCS_IF_PURCHASEORDERPROC02.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pcs/wql/QPCS_IF_PURCHASEORDERPROC02.wql @@ -222,6 +222,7 @@ mst.receive_code, LEFT(mst.input_time,10) as input_time, dtl.receive_qty, + dtl.pcsn, dtl.receive_qty * oder.PRICE_TAX AS valmoney, DATE_ADD(LEFT(mst.input_time,10),INTERVAL supp.honour_days DAY) AS plan_date FROM diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/rest/FactorywarrantymstController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/rest/FactorywarrantymstController.java index a05dedbb..3b9b91db 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/rest/FactorywarrantymstController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/rest/FactorywarrantymstController.java @@ -123,6 +123,13 @@ public class FactorywarrantymstController { return new ResponseEntity<>(HttpStatus.OK); } + @Log("复核") + @ApiOperation("复核") + @PostMapping("/checkData") + public ResponseEntity checkData(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(factorywarrantymstService.checkData(whereJson),HttpStatus.OK); + } + @PostMapping({"/pictures/{inspection_id}"}) @ApiOperation("质保书上传") public ResponseEntity upload(@RequestParam MultipartFile file, @PathVariable String inspection_id) { diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/FactorywarrantymstService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/FactorywarrantymstService.java index aba304b3..571433ff 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/FactorywarrantymstService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/FactorywarrantymstService.java @@ -89,4 +89,9 @@ public interface FactorywarrantymstService { void confirm(JSONObject whereJson); + /** + * 复核 + * @param whereJson 、 + */ + JSONObject checkData(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/FactorywarrantymstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/FactorywarrantymstServiceImpl.java index f181ef3f..d454ebd1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/FactorywarrantymstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/FactorywarrantymstServiceImpl.java @@ -5,6 +5,7 @@ package org.nl.wms.ql.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; @@ -512,6 +513,24 @@ public class FactorywarrantymstServiceImpl implements FactorywarrantymstService } } + @Override + public JSONObject checkData(JSONObject whereJson) { + JSONObject result = new JSONObject(); + WQLObject tab = WQLObject.getWQLObject("ql_test_factorywarrantydtl"); + JSONObject json = tab.query("inspection_id = '" + whereJson.getString("inspection_id") + "' AND inspection_item_id = '1510155749437870083'").uniqueResult(0); + + // 比较 + boolean is_check = false; + if (NumberUtil.round(whereJson.getDoubleValue("value"), 4).doubleValue() != NumberUtil.round(json.getDoubleValue("value"), 4).doubleValue()) { + result.put("value",NumberUtil.round(json.getDoubleValue("value"), 4).doubleValue()); + } else { + is_check = true; + } + result.put("is_check", is_check); + + return result; + } + @Override public Map localStorage(Map whereJson, Pageable page) { HashMap map = new HashMap<>(whereJson); diff --git a/mes/qd/src/api/wms/ql/factorywarrantymst.js b/mes/qd/src/api/wms/ql/factorywarrantymst.js index 5560e13d..a6e7472b 100644 --- a/mes/qd/src/api/wms/ql/factorywarrantymst.js +++ b/mes/qd/src/api/wms/ql/factorywarrantymst.js @@ -55,4 +55,12 @@ export function confirm(data) { }) } -export default { add, edit, del, getStatus, getParameter, sure, confirm } +export function checkData(data) { + return request({ + url: 'api/factorywarrantymst/checkData', + method: 'post', + data + }) +} + +export default { add, edit, del, getStatus, getParameter, sure, confirm, checkData } diff --git a/mes/qd/src/views/wms/ql/factorywarranty/checkDialog.vue b/mes/qd/src/views/wms/ql/factorywarranty/checkDialog.vue new file mode 100644 index 00000000..082a4d4e --- /dev/null +++ b/mes/qd/src/views/wms/ql/factorywarranty/checkDialog.vue @@ -0,0 +1,357 @@ + + + + + diff --git a/mes/qd/src/views/wms/ql/factorywarranty/index.vue b/mes/qd/src/views/wms/ql/factorywarranty/index.vue index a32aea64..b88c8e90 100644 --- a/mes/qd/src/views/wms/ql/factorywarranty/index.vue +++ b/mes/qd/src/views/wms/ql/factorywarranty/index.vue @@ -188,6 +188,7 @@ + @@ -202,6 +203,7 @@ import pagination from '@crud/Pagination' import DateRangePicker from '@/components/DateRangePicker' import AddDialog from '@/views/wms/ql/factorywarranty/AddDialog' import ResultPutDialog from '@/views/wms/ql/factorywarranty/ResultPutDialog' +import checkDialog from '@/views/wms/ql/factorywarranty/checkDialog' import PicDialog from '@/views/wms/ql/factorywarranty/PicDialog' import { mapGetters } from 'vuex' import { getToken } from '@/utils/auth' @@ -209,7 +211,7 @@ import { getToken } from '@/utils/auth' export default { name: 'Factorywarranty', dicts: ['QC_INV_TYPE'], - components: { PicDialog, AddDialog, pagination, crudOperation, rrOperation, udOperation, DateRangePicker, ResultPutDialog }, + components: { PicDialog, AddDialog, pagination, crudOperation, rrOperation, udOperation, DateRangePicker, ResultPutDialog, checkDialog }, mixins: [presenter(), header(), crud()], cruds() { return CRUD({ @@ -235,6 +237,7 @@ export default { openParam: {}, PicDialog: false, resultPutDialog: false, + checkDialog: false, permission: { } } @@ -327,6 +330,15 @@ export default { }) }, confirm() { + const _selectData = this.$refs.table.selection + const inspection_id = _selectData[0].inspection_id + const material_id = _selectData[0].material_id + crudFactorywarrantymst.getParameter({ 'inspection_id': inspection_id, 'material_id': material_id }).then(res => { + this.openParam = res + this.checkDialog = true + }) + }, + confirm2() { const _selectData = this.$refs.table.selection if (_selectData.length === 0 || _selectData.length > 1) { this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO) diff --git a/mes/qd/src/views/wms/statistics/ledgerQuery/ReceiveDialog.vue b/mes/qd/src/views/wms/statistics/ledgerQuery/ReceiveDialog.vue index 55c0c67f..5f2e5252 100644 --- a/mes/qd/src/views/wms/statistics/ledgerQuery/ReceiveDialog.vue +++ b/mes/qd/src/views/wms/statistics/ledgerQuery/ReceiveDialog.vue @@ -21,6 +21,7 @@ > + diff --git a/mes/qd/src/views/wms/statistics/ledgerQuery/index.vue b/mes/qd/src/views/wms/statistics/ledgerQuery/index.vue index 829fbccc..6d0bcab0 100644 --- a/mes/qd/src/views/wms/statistics/ledgerQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/ledgerQuery/index.vue @@ -88,7 +88,18 @@ - + + + 导出excel + + { - this.procStatusList = res - }) - }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { @@ -226,6 +238,15 @@ export default { openRemarkDaing(row) { this.openParam = row.id this.remarkDaing = true + }, + downdtl() { + crud.downloadLoading = true + download('/api/purchaseorderproc/download', this.crud.query).then(result => { + downloadFile(result, '合同台账', 'xlsx') + crud.downloadLoading = false + }).catch(() => { + crud.downloadLoading = false + }) } } }