From 0c61521492a28c01cbe8408b79899e86111d466b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Wed, 8 Jan 2025 17:20:36 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E5=93=81=E8=B4=A8=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E9=80=80=E6=8D=A2=E8=B4=A7=E5=8D=95=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=80=80=E6=8D=A2=E8=B4=A7=E5=8D=95=E5=AE=9E=E4=BD=93=E7=B1=BB?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=93=81=E8=B4=A8=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=92=8C=E6=98=AF=E5=90=A6=E9=80=80=E5=9B=9E=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=95=86=E5=AD=97=E6=AE=B5=EF=BC=9B=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E7=89=A9=E6=96=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AFcontroller=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=B0=83=E7=94=A8=E6=96=B9=E6=B3=95=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=80=E6=8D=A2=E8=B4=A7=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E6=96=B0=E5=A2=9E=E7=89=A9=E6=96=99=E5=9E=8B?= =?UTF-8?q?=E5=8F=B7=E5=AD=97=E6=AE=B5=EF=BC=9B=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=80=80=E6=8D=A2=E8=B4=A7=E8=AF=A6=E6=83=85mapper=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=EF=BC=9B=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=A0=B9=E6=8D=AE=E5=8D=95=E5=8F=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=93=81=E8=B4=A8=E7=AE=A1=E7=90=86=E9=80=80=E6=8D=A2=E8=B4=A7?= =?UTF-8?q?=E5=8D=95mapper=E6=96=B9=E6=B3=95=EF=BC=9B=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=93=81=E8=B4=A8=E7=AE=A1=E7=90=86=E9=80=80?= =?UTF-8?q?=E6=8D=A2=E8=B4=A7=E5=8D=95service=E6=96=B9=E6=B3=95=E3=80=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=80=80=E6=8D=A2=E8=B4=A7=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E5=AF=B9=E8=B1=A1=E3=80=81=E8=AF=A6=E6=83=85=E5=88=97?= =?UTF-8?q?=E8=A1=A8service=E6=96=B9=E6=B3=95=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E4=BE=9B=E5=BA=94=E5=95=86=E4=BF=A1=E6=81=AF?= =?UTF-8?q?service=E6=96=B9=E6=B3=95=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QualityRefundsExchangesController.java | 4 +- .../domain/QualityRefundsExchanges.java | 32 +++- .../domain/QualityRefundsExchangesDetail.java | 12 ++ .../domain/QualityRefundsExchangesOrder.java | 11 ++ .../mapper/QualityRefundsExchangesMapper.java | 6 + .../QualityRefundsExchangesServiceImpl.java | 166 +++++++++--------- .../QualityRefundsExchangesDetailMapper.xml | 14 +- .../quality/QualityRefundsExchangesMapper.xml | 23 ++- .../QualityRefundsExchangesOrderMapper.xml | 7 +- 9 files changed, 184 insertions(+), 91 deletions(-) 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 024530ee..f24be0eb 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 @@ -167,10 +167,10 @@ public class QualityRefundsExchangesController extends BaseController * */ @PostMapping( "/getAllMaterial") @ResponseBody - public TableDataInfo getAllMaterial() + public TableDataInfo getAllMaterial(ErpMaterialVo erpMaterialVo) { startPage(); - List erpMaterialVos = erpMaterialService.selectAllErpMaterialList(); + List erpMaterialVos = erpMaterialService.selectAllErpMaterialListByMaterialVo(erpMaterialVo); return getDataTable(erpMaterialVos); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java index 9d962e73..602d73ca 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java @@ -26,19 +26,19 @@ public class QualityRefundsExchanges extends BaseEntity @Excel(name = "退换货单号") private String refundsExchangesCode; - /** 退换货状态 */ + /** 退换货状态 (0待结案、1已结案)*/ @Excel(name = "退换货状态") private String refundsExchangesStatus; - /** 仓库状态 */ + /** 仓库状态(0待入库、1全部入库、2待出库、3部分出库、4全部出库) */ @Excel(name = "仓库状态") private String qualityWarehouseStatus; - /** 采购状态 */ + /** 采购状态(0待确认、1已确认、2供应商收货、3部分收货、4全部收货) */ @Excel(name = "采购状态") private String qualityPurchaseStatus; - /** 收货状态 */ + /** 收货状态(0 待收货 1 部分收货 2 全部收货) */ @Excel(name = "收货状态") private String qualityDeliveryStatus; @@ -77,6 +77,14 @@ public class QualityRefundsExchanges extends BaseEntity @Excel(name = "品质备注") private String qualityRemark; + /** 品质时间 */ + @Excel(name = "品质时间") + private Date qualityTime; + + /** 是否退回供应商 */ + @Excel(name = "是否退回供应商") + private String isReturnedToSupplier; + /*退换货详情列表*/ private List refundsExchangesDetails; @@ -223,6 +231,22 @@ public class QualityRefundsExchanges extends BaseEntity this.outStorageCode = outStorageCode; } + public Date getQualityTime() { + return qualityTime; + } + + public void setQualityTime(Date qualityTime) { + this.qualityTime = qualityTime; + } + + public String getIsReturnedToSupplier() { + return isReturnedToSupplier; + } + + public void setIsReturnedToSupplier(String isReturnedToSupplier) { + this.isReturnedToSupplier = isReturnedToSupplier; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java index 7235afda..39fe6182 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java @@ -112,6 +112,10 @@ public class QualityRefundsExchangesDetail extends BaseEntity @Excel(name = "物料描述") private String materialDescribe; + /** 物料型号 */ + @Excel(name = "物料型号") + private String materialModel; + /** 物料加工方式 */ @Excel(name = "物料加工方式") private String materialProcessMethod; @@ -406,6 +410,14 @@ public class QualityRefundsExchangesDetail extends BaseEntity this.refundsExchangesUnqualifieds = refundsExchangesUnqualifieds; } + public String getMaterialModel() { + return materialModel; + } + + public void setMaterialModel(String materialModel) { + this.materialModel = materialModel; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesOrder.java index 2669b523..8c898130 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesOrder.java @@ -85,6 +85,9 @@ public class QualityRefundsExchangesOrder extends BaseEntity @Excel(name = "不合格报告url") private String unqualifiedReportUrl; + /** 是否退回供应商 */ + private String isReturnedToSupplier; + public void setQualityRefundsExchangesOrderId(Long qualityRefundsExchangesOrderId) { this.qualityRefundsExchangesOrderId = qualityRefundsExchangesOrderId; @@ -239,6 +242,14 @@ public class QualityRefundsExchangesOrder extends BaseEntity return unqualifiedReportUrl; } + public String getIsReturnedToSupplier() { + return isReturnedToSupplier; + } + + public void setIsReturnedToSupplier(String isReturnedToSupplier) { + this.isReturnedToSupplier = isReturnedToSupplier; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityRefundsExchangesMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityRefundsExchangesMapper.java index 81918c32..1eac8d50 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityRefundsExchangesMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityRefundsExchangesMapper.java @@ -80,4 +80,10 @@ public interface QualityRefundsExchangesMapper public String findMaxRoundCode(@Param("prefix") String prefix); public List selectQualityRefundsExchangesByCodes(String[] refundsExchangesCodes); + + /** + * 查询品质管理退换货单 + */ + public QualityRefundsExchanges selectQualityRefundsExchangesByCode(String refundsExchangesCode); + } 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 8d819f9b..75d1b84a 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 @@ -9,8 +9,10 @@ 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.QualityOrderDetail; import com.ruoyi.quality.domain.QualityRefundsExchangesDetail; import com.ruoyi.quality.domain.QualityRefundsExchangesUnqualified; +import com.ruoyi.quality.domain.VO.QualityOrderReportVO; import com.ruoyi.quality.domain.VO.QualityRefundsExchangesExportVO; import com.ruoyi.quality.mapper.QualityRefundsExchangesDetailMapper; import com.ruoyi.quality.mapper.QualityRefundsExchangesUnqualifiedMapper; @@ -140,36 +142,26 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan qualityRefundsExchanges.setCreateTime(DateUtils.getNowDate()); qualityRefundsExchanges.setQualityReturnNode("1"); qualityRefundsExchanges.setRefundsExchangesStatus("0"); + qualityRefundsExchanges.setQualityPurchaseStatus("0"); - -// 生成入库单 - WarehouseStorageOrder warehouseStorageOrder = generateWarehouseStorageOrder(qualityRefundsExchanges); - warehouseStorageOrder.setWarehouseStorageCode(redisCache.generateBillNo("RK")); - warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder); - List warehouseStorageOrderDetails = createWarehouseStorageDetail(qualityRefundsExchanges,warehouseStorageOrder.getWarehouseStorageCode()); - warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails); - - qualityRefundsExchanges.setQualityWarehouseStatus("1"); - qualityRefundsExchanges.setInStorageCode(warehouseStorageOrder.getWarehouseStorageCode()); - qualityRefundsExchangesMapper.insertQualityRefundsExchanges(qualityRefundsExchanges); - return 1; + qualityRefundsExchanges.setQualityWarehouseStatus("0"); + return qualityRefundsExchangesMapper.insertQualityRefundsExchanges(qualityRefundsExchanges); } // 生成退换货入库单对象 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.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.setQualityTime(qualityRefundsExchanges.getQualityTime()); warehouseStorageOrder.setCreateBy(ShiroUtils.getLoginName()); warehouseStorageOrder.setCreateTime(DateUtils.getNowDate()); return warehouseStorageOrder; @@ -179,30 +171,38 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan 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); - } + throw new BusinessException("退换货详情物料数据为空"); + } + for (QualityRefundsExchangesDetail exchangeDetail:exchangesDetails) { + WarehouseStorageOrderDetail storageOrderDetail = new WarehouseStorageOrderDetail(); + storageOrderDetail.setWarehouseStorageCode(warehouseStorageCode); + storageOrderDetail.setRelatedOrderCode(qualityRefundsExchanges.getRefundsExchangesCode()); + storageOrderDetail.setWarehouseStorageStatus("2");//待入库 + storageOrderDetail.setWarehouseStorageType("3");//公司退货 + storageOrderDetail.setWarehouseOrderType("2");//退换货订单 + storageOrderDetail.setWarehouseDeptType("0");//仓库 + storageOrderDetail.setMaterialNo(exchangeDetail.getMaterialNo()); + storageOrderDetail.setMaterialName(exchangeDetail.getMaterialName()); + storageOrderDetail.setMaterialType(exchangeDetail.getMaterialType()); + storageOrderDetail.setMaterialPhotourl(exchangeDetail.getMaterialPhotourl()); + storageOrderDetail.setMaterialBrand(exchangeDetail.getMaterialBrand()); + storageOrderDetail.setMaterialUnit(exchangeDetail.getMaterialUnit()); + storageOrderDetail.setMaterialModel(exchangeDetail.getMaterialModel()); + storageOrderDetail.setMaterialDescribe(exchangeDetail.getMaterialDescribe()); + storageOrderDetail.setMaterialProcessMethod(exchangeDetail.getMaterialProcessMethod()); + storageOrderDetail.setMaterialDeptType("0"); + storageOrderDetail.setNotifyArriveNum(exchangeDetail.getQualityUnqualifiedNum()); + storageOrderDetail.setNotifyHasArrivedNum(exchangeDetail.getQualityUnqualifiedNum()); + storageOrderDetail.setHasStorageNum(0); + storageOrderDetail.setSupplierCode(exchangeDetail.getSupplierCode()); + storageOrderDetail.setSupplierName(exchangeDetail.getSupplierName()); + storageOrderDetail.setSupplierAddress(exchangeDetail.getSupplierAddress()); + storageOrderDetail.setContactNumber(exchangeDetail.getContactNumber()); + storageOrderDetail.setCustomerContact(exchangeDetail.getCustomerContact()); + storageOrderDetail.setRefundsExchangesNum(exchangeDetail.getQualityUnqualifiedNum()); + storageOrderDetail.setCreateBy(ShiroUtils.getLoginName()); + storageOrderDetail.setCreateTime(DateUtils.getNowDate()); + detailList.add(storageOrderDetail); } return detailList; } @@ -299,19 +299,32 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan if(CollectionUtils.isEmpty(details)){ throw new BusinessException("退换货详情为空!"); } + QualityRefundsExchangesDetail exchangeDetail = details.get(0); refundsExchanges.setRefundsExchangesDetails(details); - WarehouseOutOrder warehouseOutOrder = generateWarehouseOutOrder(refundsExchanges); - int insertOutResult = warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder); - if(insertOutResult<=0){ - throw new BusinessException("新增退换货出库单失败!"); + //生成入库单 + WarehouseStorageOrder warehouseStorageOrder = generateWarehouseStorageOrder(refundsExchanges); + warehouseStorageOrder.setWarehouseStorageCode(redisCache.generateBillNo("RK")); + warehouseStorageOrder.setSupplierCode(exchangeDetail.getSupplierCode()); + warehouseStorageOrder.setSupplierName(exchangeDetail.getSupplierName()); + warehouseStorageOrder.setCustomerContact(exchangeDetail.getCustomerContact()); + warehouseStorageOrder.setContactNumber(exchangeDetail.getContactNumber()); + warehouseStorageOrder.setSupplierAddress(exchangeDetail.getSupplierAddress()); + warehouseStorageOrder.setIsReturnedToSupplier(qualityRefundsExchanges.getIsReturnedToSupplier()); + int storageResult = warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder); + if(storageResult<=0){ + throw new BusinessException("新增退换货入库单失败!"); } - - qualityRefundsExchanges.setQualityWarehouseStatus("2"); - String loginName = ShiroUtils.getLoginName(); - qualityRefundsExchanges.setUpdateBy(loginName); - qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate()); + List warehouseStorageOrderDetails = createWarehouseStorageDetail(refundsExchanges,warehouseStorageOrder.getWarehouseStorageCode()); + int storageDetailResult = warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails); + if(storageDetailResult<=0){ + throw new BusinessException("新增退换货入库单详情失败!"); + } + refundsExchanges.setQualityWarehouseStatus("0");//待入库 + refundsExchanges.setQualityPurchaseStatus("1");//已确认 + refundsExchanges.setIsReturnedToSupplier(qualityRefundsExchanges.getIsReturnedToSupplier()); + refundsExchanges.setUpdateBy(ShiroUtils.getLoginName()); + refundsExchanges.setUpdateTime(DateUtils.getNowDate()); int updateResult = qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges); - return updateResult; } @@ -324,46 +337,33 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan String loginName = ShiroUtils.getLoginName(); List refundsExchangesDetails = qualityRefundsExchanges.getRefundsExchangesDetails(); if (StringUtils.isEmpty(refundsExchangesDetails)){ - log.warn("退款换货单[{}]无关联的物料详情信息", qualityRefundsExchanges.getRefundsExchangesCode()); - } - List warehouseStorageOrderDetailList = warehouseStorageOrderDetailMapper.selectStorageOrderDetailListByCode(qualityRefundsExchanges.getInStorageCode()); - if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ - log.warn("退款换货单[{}]无关联的入库单详情信息", qualityRefundsExchanges.getRefundsExchangesCode()); + throw new BusinessException("退换货物料详情为空"); } + int updateRows = 0; for (QualityRefundsExchangesDetail refundsExchangesDetail : refundsExchangesDetails) { - refundsExchangesDetail.setUpdateBy(loginName); 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); } - - - WarehouseOutOrder warehouseOutOrder = generateWarehouseOutOrder(qualityRefundsExchanges); - int insertOutResult = warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder); - if(insertOutResult<=0){ - throw new BusinessException("新增退换货出库单失败!"); + QualityRefundsExchanges oldRefundsExchange = qualityRefundsExchangesMapper.selectQualityRefundsExchangesByCode(qualityRefundsExchanges.getRefundsExchangesCode()); + //生成入库单 + WarehouseStorageOrder warehouseStorageOrder = generateWarehouseStorageOrder(oldRefundsExchange); + warehouseStorageOrder.setWarehouseStorageCode(redisCache.generateBillNo("RK")); + warehouseStorageOrder.setIsReturnedToSupplier(qualityRefundsExchanges.getIsReturnedToSupplier()); + int storageResult = warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder); + if(storageResult<=0){ + throw new BusinessException("新增退换货入库单失败!"); + } + List warehouseStorageOrderDetails = createWarehouseStorageDetail(qualityRefundsExchanges,warehouseStorageOrder.getWarehouseStorageCode()); + int storageDetailResult = warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails); + if(storageDetailResult<=0){ + throw new BusinessException("新增退换货入库单详情失败!"); } - qualityRefundsExchanges.setQualityPurchaseStatus("1"); qualityRefundsExchanges.setUpdateBy(loginName); qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate()); - qualityRefundsExchanges.setOutStorageCode(warehouseOutOrder.getOutOrderCode()); - int updateResult = qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges); if(updateResult<=0){ throw new BusinessException("更新退换货订单失败!"); @@ -378,6 +378,7 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan warehouseOutOrder.setWarehouseOutStatus("4");//出库状态:待出库 warehouseOutOrder.setWarehouseOrderType("4");//出库订单类型:退换货订单 warehouseOutOrder.setWarehouseOutType("4");//出库类型:公司退货 + warehouseOutOrder.setOutOrderSum(0); warehouseOutOrder.setRelatedOrderCode(refundsExchanges.getRefundsExchangesCode()); warehouseOutOrder.setBusinessName(ShiroUtils.getLoginName()); warehouseOutOrder.setMaterialSum(refundsExchanges.getMaterialTotal()); @@ -389,7 +390,7 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan int insertResult = 0; List refundsExchangesDetails = refundsExchanges.getRefundsExchangesDetails(); if(CollectionUtils.isEmpty(refundsExchangesDetails)){ - throw new BusinessException("新增出库单详情失败!退换货详情数据为空!"); + throw new BusinessException("退换货详情数据为空!"); } for (QualityRefundsExchangesDetail detail:refundsExchangesDetails) { insertResult += generateWarehouseOutOrderDetail(detail,outOrderCode); @@ -415,6 +416,7 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan outOrderDetail.setMaterialBrand(exchangeDetail.getMaterialBrand()); outOrderDetail.setMaterialUnit(exchangeDetail.getMaterialUnit()); outOrderDetail.setMaterialDescribe(exchangeDetail.getMaterialDescribe()); + outOrderDetail.setMaterialModel(exchangeDetail.getMaterialModel()); outOrderDetail.setMaterialProcessMethod(exchangeDetail.getMaterialProcessMethod()); outOrderDetail.setMaterialSum(exchangeDetail.getMaterialTotal()); outOrderDetail.setEnterpriseSum(exchangeDetail.getNumTotal()); diff --git a/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesDetailMapper.xml index 63cdbc5c..61a69db1 100644 --- a/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesDetailMapper.xml @@ -29,6 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -42,7 +43,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select refunds_exchanges_detail_id, refunds_exchanges_code, refunds_exchanges_status, quality_warehouse_status, quality_purchase_status, quality_delivery_status , related_order_code, in_storage_code, quality_return_node, material_total, num_total, supplier_code, supplier_name, customer_contact, contact_number, supplier_address, material_no, material_name, material_type, material_photoUrl, material_brand, material_unit, material_describe, material_process_method, refunds_exchanges_num, quality_unqualified_num ,delivery_inspection_time, inspection_time ,quality_remark, remark, create_by, create_time, update_by, update_time from quality_refunds_exchanges_detail + select refunds_exchanges_detail_id, refunds_exchanges_code, refunds_exchanges_status, + quality_warehouse_status, quality_purchase_status, quality_delivery_status , + related_order_code, in_storage_code, quality_return_node, material_total, + num_total, supplier_code, supplier_name, customer_contact, contact_number, + supplier_address, material_no, material_name, material_type, material_photoUrl, + material_brand, material_unit, material_describe, material_process_method, material_model, + refunds_exchanges_num, quality_unqualified_num ,delivery_inspection_time, inspection_time, + quality_remark, remark, create_by, create_time, update_by, update_time + from quality_refunds_exchanges_detail @@ -44,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and create_time = #{createTime} and create_time between #{params.beginCreateTime} and #{params.endCreateTime} + order by create_time desc + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesOrderMapper.xml b/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesOrderMapper.xml index 8c0de96d..ca864348 100644 --- a/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesOrderMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesOrderMapper.xml @@ -30,7 +30,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select quality_refunds_exchanges_order_id, refunds_exchanges_code, supplier_code, supplier_name, material_no, material_name, make_total, quality_hasqualified_num, ok_accepted_num, ok_report_url, special_concessions_num, special_report_url, checkout_completion_time, process_bad_classification, process_bad_grade, process_bad_num, unqualified_report_url, remark, create_by, create_time, update_by, update_time from quality_refunds_exchanges_order + select quality_refunds_exchanges_order_id, refunds_exchanges_code, supplier_code, + supplier_name, material_no, material_name, make_total, quality_hasqualified_num, + ok_accepted_num, ok_report_url, special_concessions_num, special_report_url, + checkout_completion_time, process_bad_classification, process_bad_grade, + process_bad_num, unqualified_report_url, remark, create_by, create_time, update_by, + update_time from quality_refunds_exchanges_order