diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java index 770b6054..b47cccbf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java @@ -90,10 +90,10 @@ public class QualityRefundsExchangesController extends BaseController /** * 新增品质管理退换货单 */ - @GetMapping("/add/{refundsExchangesCode}") - public String add(@PathVariable("refundsExchangesCode") String refundsExchangesCode,ModelMap mmap) + @GetMapping("/add") + public String add(ModelMap mmap) { - mmap.put("refundsExchangesCode", refundsExchangesCode); +// mmap.put("refundsExchangesCode", refundsExchangesCode); return prefix + "/add"; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java index 7a2baa4c..ccdd9f66 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java @@ -2,15 +2,24 @@ package com.ruoyi.quality.service.impl; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.quality.domain.QualityRefundsExchangesDetail; +import com.ruoyi.quality.domain.QualityRefundsExchangesUnqualified; import com.ruoyi.quality.mapper.QualityRefundsExchangesDetailMapper; +import com.ruoyi.quality.mapper.QualityRefundsExchangesUnqualifiedMapper; +import com.ruoyi.storehouse.domain.WarehousingInInfo; +import com.ruoyi.warehouse.domain.WarehouseStorageOrder; +import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail; +import com.ruoyi.warehouse.mapper.WarehouseStorageOrderDetailMapper; +import com.ruoyi.warehouse.mapper.WarehouseStorageOrderMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +45,21 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan @Autowired private QualityRefundsExchangesDetailMapper refundsExchangesDetailMapper; + @Autowired + private QualityRefundsExchangesUnqualifiedMapper unqualifiedMapper; + + @Autowired + private WarehouseStorageOrderMapper warehouseStorageOrderMapper; + + @Autowired + private WarehouseStorageOrderDetailMapper warehouseStorageOrderDetailMapper; + + @Autowired + private WarehouseStorageOrderDetailMapper storageOrderDetailMapper; + + @Autowired + private RedisCache redisCache; + /** * 查询品质管理退换货单 * @@ -70,36 +94,111 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan public int insertQualityRefundsExchanges(QualityRefundsExchanges qualityRefundsExchanges) { - String refundsExchangesCode = qualityRefundsExchanges.getRefundsExchangesCode(); + String refundsExchangesCode = redisCache.generateBillNo("THH"); + qualityRefundsExchanges.setRefundsExchangesCode(refundsExchangesCode); - if (StringUtils.isEmpty(refundsExchangesCode)){ - log.warn("退换货单号为空:{}",refundsExchangesCode); - } String loginName = ShiroUtils.getLoginName(); + int exchangeSum = 0; List refundsExchangesDetails = qualityRefundsExchanges.getRefundsExchangesDetails(); if (StringUtils.isEmpty(refundsExchangesDetails)){ - log.warn("物料数据为空:{}",qualityRefundsExchanges.getRefundsExchangesDetails()); + log.warn("物料数据为空:{}",qualityRefundsExchanges.getRefundsExchangesCode()); } for (QualityRefundsExchangesDetail tempDetail : refundsExchangesDetails) { - QualityRefundsExchangesDetail refundsExchangesDetail = new QualityRefundsExchangesDetail(); - refundsExchangesDetail.setRefundsExchangesCode(refundsExchangesCode); - refundsExchangesDetail.setDeliveryInspectionTime(qualityRefundsExchanges.getDeliveryInspectionTime()); - refundsExchangesDetail.setQualityRemark(qualityRefundsExchanges.getQualityRemark()); - refundsExchangesDetail.setMaterialNo(tempDetail.getMaterialNo()); - refundsExchangesDetail.setMaterialName(tempDetail.getMaterialName()); - refundsExchangesDetail.setMaterialBrand(tempDetail.getMaterialBrand()); - refundsExchangesDetail.setMaterialDescribe(tempDetail.getMaterialDescribe()); - refundsExchangesDetail.setMaterialPhotourl(tempDetail.getMaterialPhotourl()); - refundsExchangesDetail.setMaterialType(tempDetail.getMaterialType()); - refundsExchangesDetail.setMaterialProcessMethod(tempDetail.getMaterialProcessMethod()); - refundsExchangesDetail.setMaterialUnit(tempDetail.getMaterialUnit()); - refundsExchangesDetail.setCreateBy(loginName); - refundsExchangesDetail.setCreateTime(new Date()); - refundsExchangesDetailMapper.insertQualityRefundsExchangesDetail(refundsExchangesDetail); + tempDetail.setRefundsExchangesCode(refundsExchangesCode); + tempDetail.setDeliveryInspectionTime(qualityRefundsExchanges.getDeliveryInspectionTime()); + tempDetail.setQualityRemark(qualityRefundsExchanges.getQualityRemark()); + tempDetail.setQualityUnqualifiedNum(tempDetail.getRefundsExchangesNum()); + + exchangeSum += tempDetail.getRefundsExchangesNum(); + tempDetail.setCreateBy(loginName); + tempDetail.setCreateTime(DateUtils.getNowDate()); + refundsExchangesDetailMapper.insertQualityRefundsExchangesDetail(tempDetail); + List unqualifiedList = tempDetail.getRefundsExchangesUnqualifieds(); + if(StringUtils.isEmpty(unqualifiedList)){ + log.warn("不合格分类数据为空:{}",tempDetail.getRefundsExchangesCode()); + }else{ + for (QualityRefundsExchangesUnqualified unqualified: unqualifiedList) { + unqualified.setRefundsExchangesCode(refundsExchangesCode); + unqualified.setMaterialNo(tempDetail.getMaterialNo()); + unqualified.setMaterialName(tempDetail.getMaterialName()); + unqualified.setCreateBy(loginName); + unqualified.setCreateTime(DateUtils.getNowDate()); + unqualifiedMapper.insertQualityRefundsExchangesUnqualified(unqualified); + } + } } + qualityRefundsExchanges.setMaterialTotal(refundsExchangesDetails.size()); + qualityRefundsExchanges.setNumTotal(exchangeSum); + qualityRefundsExchanges.setCreateBy(loginName); + qualityRefundsExchanges.setCreateTime(DateUtils.getNowDate()); + qualityRefundsExchanges.setQualityReturnNode("1"); + qualityRefundsExchanges.setRefundsExchangesStatus("0"); + + +// 生成入库单 + WarehouseStorageOrder warehouseStorageOrder = generateWarehouseStorageOrder(qualityRefundsExchanges); + warehouseStorageOrder.setWarehouseStorageCode(redisCache.generateBillNo("RK")); + warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder); + List warehouseStorageOrderDetails = createWarehouseStorageDetail(qualityRefundsExchanges,warehouseStorageOrder.getWarehouseStorageCode()); + warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails); + + qualityRefundsExchanges.setQualityWarehouseStatus("0"); + qualityRefundsExchanges.setInStorageCode(warehouseStorageOrder.getWarehouseStorageCode()); + qualityRefundsExchangesMapper.insertQualityRefundsExchanges(qualityRefundsExchanges); return 1; } - +// 生成退换货入库单对象 + public WarehouseStorageOrder generateWarehouseStorageOrder(QualityRefundsExchanges qualityRefundsExchanges){ + WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder(); + warehouseStorageOrder.setRelatedOrderCode(qualityRefundsExchanges.getRefundsExchangesCode()); + warehouseStorageOrder.setWarehouseStorageStatus("2"); + warehouseStorageOrder.setWarehouseStorageType("3"); + warehouseStorageOrder.setWarehouseOrderType("2"); + warehouseStorageOrder.setWarehouseDeptType("0"); + warehouseStorageOrder.setWarehouseQualityStatus("2"); + warehouseStorageOrder.setActualArrivedNum(qualityRefundsExchanges.getNumTotal()); + warehouseStorageOrder.setNotifyArrivedNum(qualityRefundsExchanges.getNumTotal()); + warehouseStorageOrder.setStorageNum(qualityRefundsExchanges.getNumTotal()); + warehouseStorageOrder.setQualityQualifiedNum(0); + warehouseStorageOrder.setQualityUnqualifiedNum(qualityRefundsExchanges.getNumTotal()); + warehouseStorageOrder.setDeliveryInspectionTime(qualityRefundsExchanges.getDeliveryInspectionTime()); + warehouseStorageOrder.setQualityTime(qualityRefundsExchanges.getDeliveryInspectionTime()); + warehouseStorageOrder.setCreateBy(ShiroUtils.getLoginName()); + warehouseStorageOrder.setCreateTime(DateUtils.getNowDate()); + return warehouseStorageOrder; + } +// 生成退换货入库单详情对象 + public List createWarehouseStorageDetail(QualityRefundsExchanges qualityRefundsExchanges,String warehouseStorageCode){ + List detailList = new ArrayList<>(); + List exchangesDetails = qualityRefundsExchanges.getRefundsExchangesDetails(); + if(StringUtils.isEmpty(exchangesDetails)){ + log.warn("退换货详情物料数据为空:{}",qualityRefundsExchanges.getRefundsExchangesCode()); + }else { + for (QualityRefundsExchangesDetail exchangeDetail:exchangesDetails) { + WarehouseStorageOrderDetail warehouseStorageOrderDetail = new WarehouseStorageOrderDetail(); + warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageCode); + warehouseStorageOrderDetail.setRelatedOrderCode(qualityRefundsExchanges.getRefundsExchangesCode()); + warehouseStorageOrderDetail.setWarehouseStorageStatus("2"); + warehouseStorageOrderDetail.setWarehouseStorageType("3"); + warehouseStorageOrderDetail.setWarehouseOrderType("2"); + warehouseStorageOrderDetail.setWarehouseDeptType("0"); + warehouseStorageOrderDetail.setMaterialNo(exchangeDetail.getMaterialNo()); + warehouseStorageOrderDetail.setMaterialName(exchangeDetail.getMaterialName()); + warehouseStorageOrderDetail.setMaterialType(exchangeDetail.getMaterialType()); + warehouseStorageOrderDetail.setMaterialPhotourl(exchangeDetail.getMaterialPhotourl()); + warehouseStorageOrderDetail.setMaterialBrand(exchangeDetail.getMaterialBrand()); + warehouseStorageOrderDetail.setMaterialUnit(exchangeDetail.getMaterialUnit()); + warehouseStorageOrderDetail.setMaterialDescribe(exchangeDetail.getMaterialDescribe()); + warehouseStorageOrderDetail.setMaterialProcessMethod(exchangeDetail.getMaterialProcessMethod()); + warehouseStorageOrderDetail.setMaterialDeptType("0"); + warehouseStorageOrderDetail.setRefundsExchangesNum(exchangeDetail.getRefundsExchangesNum()); + warehouseStorageOrderDetail.setCreateBy(ShiroUtils.getLoginName()); + warehouseStorageOrderDetail.setCreateTime(DateUtils.getNowDate()); + detailList.add(warehouseStorageOrderDetail); + } + } + return detailList; + } /** * 修改品质管理退换货单 * @@ -192,24 +291,40 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan if (StringUtils.isEmpty(refundsExchangesDetails)){ log.warn("退款换货单[{}]无关联的物料详情信息", qualityRefundsExchanges.getRefundsExchangesCode()); } - + List warehouseStorageOrderDetailList = warehouseStorageOrderDetailMapper.selectStorageOrderDetailListByCode(qualityRefundsExchanges.getInStorageCode()); + if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ + log.warn("退款换货单[{}]无关联的入库单详情信息", qualityRefundsExchanges.getRefundsExchangesCode()); + } int updateRows = 0; for (QualityRefundsExchangesDetail refundsExchangesDetail : refundsExchangesDetails) { - refundsExchangesDetail.setRefundsExchangesCode(qualityRefundsExchanges.getRefundsExchangesCode()); - refundsExchangesDetail.setDeliveryInspectionTime(qualityRefundsExchanges.getDeliveryInspectionTime()); - refundsExchangesDetail.setQualityRemark(qualityRefundsExchanges.getQualityRemark()); + refundsExchangesDetail.setUpdateBy(loginName); - refundsExchangesDetail.setUpdateTime(new Date()); + refundsExchangesDetail.setUpdateTime(DateUtils.getNowDate()); + for (WarehouseStorageOrderDetail storageOrderDetail:warehouseStorageOrderDetailList) { + if(storageOrderDetail.getMaterialNo().equals(refundsExchangesDetail.getMaterialNo())){ + storageOrderDetail.setSupplierCode(refundsExchangesDetail.getSupplierCode()); + storageOrderDetail.setSupplierName(refundsExchangesDetail.getSupplierName()); + storageOrderDetail.setSupplierAddress(refundsExchangesDetail.getSupplierAddress()); + storageOrderDetail.setCustomerContact(refundsExchangesDetail.getCustomerContact()); + storageOrderDetail.setContactNumber(refundsExchangesDetail.getContactNumber()); + storageOrderDetail.setUpdateBy(loginName); + storageOrderDetail.setUpdateTime(DateUtils.getNowDate()); + warehouseStorageOrderDetailMapper.updateWarehouseStorageOrderDetail(storageOrderDetail); + } + } //更新数据库记录 updateRows += refundsExchangesDetailMapper.updateQualityRefundsExchangesDetail(refundsExchangesDetail); - } + qualityRefundsExchanges.setQualityPurchaseStatus("1"); + qualityRefundsExchanges.setUpdateBy(loginName); + qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate()); + qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges); return updateRows; } /** - * 保存入库前退货-确认供应商 + * 保存入库前退货-确认收货 */ @Override public int updateBeforeConfirmDelivery(QualityRefundsExchanges qualityRefundsExchanges) { @@ -224,12 +339,28 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan for (QualityRefundsExchangesDetail refundsExchangesDetail : refundsExchangesDetails) { refundsExchangesDetail.setRefundsExchangesCode(qualityRefundsExchanges.getRefundsExchangesCode()); refundsExchangesDetail.setUpdateBy(loginName); - refundsExchangesDetail.setUpdateTime(new Date()); - + refundsExchangesDetail.setUpdateTime(DateUtils.getNowDate()); + int purchaseStatus = Integer.parseInt(refundsExchangesDetail.getQualityDeliveryStatus()); + refundsExchangesDetail.setQualityPurchaseStatus(String.valueOf((purchaseStatus+2))); //更新数据库记录 updateRows += refundsExchangesDetailMapper.updateQualityRefundsExchangesDetail(refundsExchangesDetail); - } + boolean allStatusZero = refundsExchangesDetails.stream() + .allMatch(detail -> "0".equals(detail.getQualityDeliveryStatus())); + boolean hasStatusOne = refundsExchangesDetails.stream() + .anyMatch(detail -> "1".equals(detail.getQualityDeliveryStatus())); + boolean allStatusTwo = refundsExchangesDetails.stream() + .allMatch(detail -> "2".equals(detail.getQualityDeliveryStatus())); + if(allStatusZero){ + qualityRefundsExchanges.setQualityPurchaseStatus("2"); + }else if(hasStatusOne){ + qualityRefundsExchanges.setQualityPurchaseStatus("3"); + }else if(allStatusTwo){ + qualityRefundsExchanges.setQualityPurchaseStatus("4"); + } + qualityRefundsExchanges.setUpdateBy(loginName); + qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate()); + qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges); return updateRows; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesShippingInformController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesShippingInformController.java index 70f31264..3396cbc3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesShippingInformController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesShippingInformController.java @@ -90,7 +90,7 @@ public class SysSalesShippingInformController extends BaseController * 导出出货单1模板 * */ @RequiresPermissions("system:salesShippingInform:exportShippingOrderOne") - @Log(title = "采购订单", businessType = BusinessType.EXPORT) + @Log(title = "销售出货单", businessType = BusinessType.EXPORT) @GetMapping("/exportShippingOrderOne/{outOrderCode}") public void exportShippingOrderOne(@PathVariable("outOrderCode") String outOrderCode,HttpServletResponse response) { @@ -103,7 +103,7 @@ public class SysSalesShippingInformController extends BaseController * 导出出货单2模板 * */ @RequiresPermissions("system:salesShippingInform:exportShippingOrderTwo") - @Log(title = "采购订单", businessType = BusinessType.EXPORT) + @Log(title = "销售出货单", businessType = BusinessType.EXPORT) @GetMapping("/exportShippingOrderTwo/{outOrderCode}") public void exportShippingOrderTwo(@PathVariable("outOrderCode") String outOrderCode,HttpServletResponse response) { @@ -116,7 +116,7 @@ public class SysSalesShippingInformController extends BaseController * 导出出货单通知单模板 * */ @RequiresPermissions("system:salesShippingInform:exportShippingInformOrder") - @Log(title = "采购订单", businessType = BusinessType.EXPORT) + @Log(title = "销售出货单", businessType = BusinessType.EXPORT) @GetMapping("/exportShippingInformOrder/{outOrderCode}") public void exportShippingInformOrder(@PathVariable("outOrderCode") String outOrderCode,HttpServletResponse response) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java index 2614d158..f01919f8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java @@ -659,7 +659,7 @@ public class WarehouseStorageOrderController extends BaseController @RequestMapping("/storageRefundsExchangesDetailList") public Map> storageRefundsExchangesDetail(String warehouseStorageCode){ List allDetails = storageOrderDetailService.selectStorageOrderDetailListByCode(warehouseStorageCode); - Map> groupedDetails = allDetails.stream().collect(Collectors.groupingBy(WarehouseStorageOrderDetail::getCustomerId)); + Map> groupedDetails = allDetails.stream().collect(Collectors.groupingBy(WarehouseStorageOrderDetail::getSupplierCode)); return groupedDetails; } } diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysShippingAddressMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysShippingAddressMapper.xml index c38a226b..75790a1e 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysShippingAddressMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysShippingAddressMapper.xml @@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/add.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/add.html index 5cceb476..329cebf5 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/add.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/add.html @@ -46,8 +46,9 @@ diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterConfirmDelivery.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterConfirmDelivery.html index 6c64b32a..df51e886 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterConfirmDelivery.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterConfirmDelivery.html @@ -51,6 +51,9 @@ var refundsExchangesCode = [[${qualityRefundsExchanges.refundsExchangesCode}]] + var processMethodDatas = [[${@dict.getType('processMethod')}]]; + var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; + var qualityDeliveryStatusDatas = [[${@dict.getType('quality_delivery_status')}]]; var prefix = ctx + "quality/refundsExchanges"; $("#form-afterConfirmDelivery-edit").validate({ @@ -156,17 +159,24 @@ { title: '料号', field: 'materialNo' - }, { + }, + { title: '物料名称', field: 'materialName' }, { title: '物料类型', field: 'materialType', + formatter: function(value, row, index) { + return $.table.selectCategoryLabel(materialTypeDatas, value); + } }, { - title: '物料图片地址', + title: '物料图片', field: 'materialPhotourl', + formatter: function(value, row, index) { + return $.table.imageView(value); + } }, { title: '物料描述', @@ -183,26 +193,16 @@ { title: '物料加工方式', field: 'materialProcessMethod', - }, - { - title: '订单数', - field: 'makeTotal', - }, - { - title: '品质已合格数', - field: 'qualityHasqualifiedNum', - }, - { - title: '本次到货数', - field: 'thisArrivedNum', + formatter: function(value, row, index) { + return $.table.selectDictLabel(processMethodDatas, value); + } }, { title: '品质报告', align: 'center', formatter: function(value, row, index) { - // 这里直接使用row对象获取supplierCode,假设它是存在的 var actions = []; - actions.push('报告 '); + actions.push('报告 '); return actions.join(''); } }, @@ -227,13 +227,13 @@ /*品质报告*/ - function qualityReport(materialNo, supplierCode) { + function qualityReport(materialNo, refundsExchangesCode) { var queryParams = new URLSearchParams(); queryParams.append('materialNo', materialNo); - queryParams.append('supplierCode', encodeURIComponent(supplierCode)); + queryParams.append('refundsExchangesCode', encodeURIComponent(refundsExchangesCode)); - var url = ctx + 'quality/qualityOrder/qualityReport?' + queryParams.toString(); - $.modal.open("品质报告", url); + var url = ctx + 'quality/refundsExchanges/afterQualityReportDetail?' + queryParams.toString(); + $.modal.open("品质报告详情", url); } // 列中获取收货状态下拉改变数据 diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterNoConfirmSupplier.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterNoConfirmSupplier.html index d4d8e1a9..d97242be 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterNoConfirmSupplier.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterNoConfirmSupplier.html @@ -6,6 +6,8 @@
+ +
@@ -13,17 +15,17 @@
- +
- +
- +
- +
@@ -42,7 +44,10 @@ var refundsExchangesCode = [[${qualityRefundsExchanges.refundsExchangesCode}]] var qualityRefundsExchanges = [[${qualityRefundsExchanges}]]; + var processMethodDatas = [[${@dict.getType('processMethod')}]]; + var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; + var supplier = []; var $table = $("#bootstrap-table"); var prefix = ctx + "quality/refundsExchanges"; @@ -50,18 +55,12 @@ focusCleanup: true }); - // function submitHandler() { - // if ($.validate.form()) { - // $.operate.save(prefix + "/returnBeforeStorageDetail", $('#form-qualityRefundsExchanges-edit').serialize()); - // } - // } - - // 新增提交 function submitHandler() { - // 获取表单数据 - // const afterNoConfirmSupplierData = $("#form-afterNoConfirmSupplier-edit").serializeArray(); - // 获取表单数据 + + $("input[name='refundsExchangesCode']").removeAttr("disabled"); + $("input[name='qualityRemark']").removeAttr("disabled"); + const afterNoConfirmSupplierData = $("#form-afterNoConfirmSupplier-edit").serializeArray().reduce((obj, item) => { obj[item.name] = item.value; return obj; @@ -121,65 +120,77 @@ checkbox: true }, { - title: '供应商ID', - field: 'supplierCode', + title: '退换货详情Id', + field: 'refundsExchangesDetailId', visible: false }, { - title: '退换货详情Id', - field: 'refundsExchangesDetailId', + title: '退换货单号', + field: 'refundsExchangesCode', visible: false }, { title: '料号', field: 'materialNo' - }, { + }, + { + title: '图片', + field: 'materialPhotourl', + formatter: function(value, row, index) { + return $.table.imageView(value); + } + }, + { title: '物料名称', field: 'materialName' }, { title: '物料类型', field: 'materialType', - }, - { - title: '物料图片地址', - field: 'materialPhotourl', + formatter: function(value, row, index) { + return $.table.selectCategoryLabel(materialTypeDatas, value); + } }, { title: '物料描述', field: 'materialDescribe', }, { - title: '物料品牌', + title: '品牌', field: 'materialBrand', }, { - title: '物料单位', + title: '单位', field: 'materialUnit', }, { - title: '物料加工方式', + title: '加工方式', field: 'materialProcessMethod', + formatter: function(value, row, index) { + return $.table.selectDictLabel(processMethodDatas, value); + } }, { title: '订单数', field: 'makeTotal', + visible: false }, { title: '品质已合格数', field: 'qualityHasqualifiedNum', + visible: false }, { title: '本次到货数', field: 'thisArrivedNum', + visible: false }, { title: '品质报告', align: 'center', formatter: function(value, row, index) { - // 这里直接使用row对象获取supplierCode,假设它是存在的 var actions = []; - actions.push('报告 '); + actions.push('报告 '); return actions.join(''); } }, @@ -244,6 +255,7 @@ codes.forEach(function (code) { selectElement.append(''); }); + supplier = codes; // 设置默认值(如果存在) var rowData = $table.bootstrapTable('getData')[index]; if (rowData && rowData.supplierCode) { @@ -259,6 +271,14 @@ var tableData = $table.bootstrapTable('getData'); var newRow = tableData[rowIndex]; newRow.supplierCode = newSupplierCode; + supplier.forEach(function (index){ + if(index.supplierCode === newSupplierCode){ + newRow.supplierName = index.supplierName; + newRow.customerContact = index.customerContact; + newRow.contactNumber = index.contactNumber; + newRow.supplierAddress = index.customerAddress; + } + }); // getSupplierNameType(newRow.supplierCode,newRow,rowIndex); $table.bootstrapTable('updateRow', {index: rowIndex, row: newRow}); @@ -293,9 +313,26 @@ var tableData = $table.bootstrapTable('getData'); var newRow = tableData[rowIndex]; // 获取当前行数据 newRow.supplierName = newSupplierName; + supplier.forEach(function (index){ + if(index.supplierName === newSupplierName){ + newRow.customerContact = index.customerContact; + newRow.contactNumber = index.contactNumber; + newRow.supplierAddress = index.customerAddress; + } + }); // 更新行数据 $table.bootstrapTable('updateRow', {index: rowIndex, row: newRow}); } + + function qualityReport(materialNo, refundsExchangesCode) { + var queryParams = new URLSearchParams(); + queryParams.append('materialNo', materialNo); + queryParams.append('refundsExchangesCode', encodeURIComponent(refundsExchangesCode)); + console.log("materialNo:"+materialNo); + console.log("refundsExchangesCode:"+refundsExchangesCode); + var url = ctx + 'quality/refundsExchanges/afterQualityReportDetail?' + queryParams.toString(); + $.modal.open("品质报告详情", url); + } \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterQualityReportDetail.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterQualityReportDetail.html index 19d46a0f..e517000a 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterQualityReportDetail.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/afterQualityReportDetail.html @@ -89,9 +89,7 @@ showSearch:false, singleSelect:true, queryParams:queryParams, - columns: [{ - checkbox: false - }, + columns: [ { title: '品质报告单id', field: 'qualityOrderReportId', @@ -100,6 +98,7 @@ { title: '不良分类', field: 'processBadClassification', + align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(processBadClassificationDatas, value); } @@ -108,6 +107,7 @@ { title: '不良等级', field: 'processBadGrade', + align: 'center', formatter: function(value, row, index) { return $.table.selectDictLabel(processBadGradeDatas, value); } @@ -115,10 +115,17 @@ { title: '数量', field: 'processBadNum', + align: 'center', }, { title: '报告', field: 'unqualifiedReportUrl', + align: 'center', + formatter: function(value, row, index) { + var actions = []; + actions.push('报告 '); + return actions.join(''); + } }, ] }; diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/beforeQualityReportDetail.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/beforeQualityReportDetail.html new file mode 100644 index 00000000..4a5339d1 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/beforeQualityReportDetail.html @@ -0,0 +1,307 @@ + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+

合格数

+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+ 不合格数 + + 添加 + +
+
+
+
+
+
+
+
+ +
+ + +
+ +
+
+ + +
+
+
+
+ +
+ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/materialSelect.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/materialSelect.html index f6fa0d67..b752dc7a 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/materialSelect.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/materialSelect.html @@ -16,6 +16,11 @@ var prefix = ctx + "quality/refundsExchanges"; // 从后端拿到传入的makeNo var makeNo = /*[[${makeNo}]]*/ ''; + var processMethodDatas = [[${@dict.getType('processMethod')}]]; + var sysUnitClassDatas = [[${@dict.getType('sysUnitClassDatas')}]]; + var warehouseDeptDatas = [[${@dict.getType('warehouseDept')}]]; + var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; + $(function() { var options = { id: 'bootstrap-materialSelect-table', @@ -38,6 +43,10 @@ { title: '图片', field: 'materialPhotourl', + formatter: function(value, row, index) { + return $.table.imageView(value); + } + }, { title: '物料名称', @@ -46,18 +55,27 @@ { title: '类型', field: 'materialType', + formatter: function(value, row, index) { + return $.table.selectCategoryLabel(materialTypeDatas, value); + } }, { title: '描述', - field: 'materialDescribe', + field: 'describe', }, { title: '品牌', - field: 'materialBrand', + field: 'brand', }, { title: '单位', - field: 'materialUnit', + field: 'unit', + }, + { title: '加工方式', + field: 'processMethod', + formatter: function(value, row, index) { + return $.table.selectDictLabel(processMethodDatas, value); + } }, ] }; diff --git a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/qualityOrderReport.html b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/qualityOrderReport.html index b789d32e..1bb31d97 100644 --- a/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/qualityOrderReport.html +++ b/ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/qualityOrderReport.html @@ -7,7 +7,7 @@
- +
@@ -41,7 +41,7 @@
- +
@@ -52,7 +52,7 @@