Selaa lähdekoodia

售后明细添加物料申请明细

yzc 1 vuosi sitten
vanhempi
commit
399655d6fb

+ 26 - 1
hx-jxst/src/main/java/com/fjhx/jxst/entity/after/vo/AfterSalesMaterialsVo.java

@@ -7,11 +7,36 @@ import lombok.Setter;
 /**
  * 售后跟进物料表列表查询返回值实体
  *
- * @author 
+ * @author
  * @since 2023-12-07
  */
 @Getter
 @Setter
 public class AfterSalesMaterialsVo extends AfterSalesMaterials {
 
+    /**
+     * 产品名称
+     */
+    private String productName;
+    /**
+     * 产品类型
+     */
+    private String productType;
+    /**
+     * 产品编号
+     */
+    private String productCode;
+    /**
+     * 产品单位
+     */
+    private String productUnit;
+    /**
+     * 产品规格
+     */
+    private String productSpec;
+    /**
+     * 产品定义
+     */
+    private Integer productDefinition;
+
 }

+ 5 - 0
hx-jxst/src/main/java/com/fjhx/jxst/entity/after/vo/AfterSalesRecordVo.java

@@ -35,4 +35,9 @@ public class AfterSalesRecordVo extends AfterSalesRecord {
      * bom明细列表
      */
     List<BomDetailVo> bomDetailList;
+
+    /**
+     * 申请物料明细
+     */
+    List<AfterSalesMaterialsVo> afterSalesMaterialsList;
 }

+ 25 - 18
hx-jxst/src/main/java/com/fjhx/jxst/service/after/impl/AfterSalesRecordServiceImpl.java

@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.enums.CodingRuleEnum;
-import com.fjhx.common.enums.TaskDetailsStockStatus;
 import com.fjhx.common.service.coding.CodingRuleService;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.file.utils.ObsFileUtil;
@@ -18,21 +17,17 @@ import com.fjhx.jxst.entity.after.dto.AfterSalesRecordSelectDto;
 import com.fjhx.jxst.entity.after.po.AfterSalesMaterials;
 import com.fjhx.jxst.entity.after.po.AfterSalesRecord;
 import com.fjhx.jxst.entity.after.po.AfterSalesRecordDetail;
+import com.fjhx.jxst.entity.after.vo.AfterSalesMaterialsVo;
 import com.fjhx.jxst.entity.after.vo.AfterSalesRecordVo;
 import com.fjhx.jxst.mapper.after.AfterSalesRecordMapper;
 import com.fjhx.jxst.service.after.AfterSalesMaterialsService;
 import com.fjhx.jxst.service.after.AfterSalesRecordDetailService;
 import com.fjhx.jxst.service.after.AfterSalesRecordService;
-import com.fjhx.jxst.utils.CodeEnum;
-import com.fjhx.mes.entity.bom.po.BomDetail;
-import com.fjhx.mes.entity.bom.po.BomInfo;
 import com.fjhx.mes.entity.bom.vo.BomDetailVo;
 import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
 import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
 import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.entity.work.po.WorkOrderBom;
-import com.fjhx.mes.service.bom.BomDetailService;
-import com.fjhx.mes.service.bom.BomInfoService;
 import com.fjhx.mes.service.production.ProductionTaskDetailService;
 import com.fjhx.mes.service.work.WorkOrderBomService;
 import com.fjhx.mes.service.work.WorkOrderService;
@@ -41,18 +36,15 @@ import com.fjhx.wms.entity.stock.po.StockWait;
 import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import com.fjhx.wms.service.stock.StockWaitDetailsService;
 import com.fjhx.wms.service.stock.StockWaitService;
-import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 
 /**
@@ -91,15 +83,15 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
 
         //关键字搜索
         wrapper.keyword(dto.getKeyword(),
-                new SqlField("asr",AfterSalesRecord::getCode),
-                new SqlField("asr",AfterSalesRecord::getProductSn),
-                new SqlField("asr",AfterSalesRecord::getRemark),
-                new SqlField("asr",AfterSalesRecord::getAfterSalesRemark),
-                new SqlField("asr",AfterSalesRecord::getAmount)
+                new SqlField("asr", AfterSalesRecord::getCode),
+                new SqlField("asr", AfterSalesRecord::getProductSn),
+                new SqlField("asr", AfterSalesRecord::getRemark),
+                new SqlField("asr", AfterSalesRecord::getAfterSalesRemark),
+                new SqlField("asr", AfterSalesRecord::getAmount)
         );
 
         //合同id过滤
-        wrapper.eq("scd.sales_contract_id",dto.getContractId());
+        wrapper.eq("scd.sales_contract_id", dto.getContractId());
 
         wrapper.orderByDesc("asr", AfterSalesRecord::getId);
         Page<AfterSalesRecordVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
@@ -162,6 +154,21 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
         }
 
         result.setBomDetailList(bomDetailList);
+
+        //赋值物料申请明细
+        List<AfterSalesMaterials> afterSalesMaterialsList = afterSalesMaterialsService.list(q -> q.eq(AfterSalesMaterials::getAfterSalesRecordId, id));
+        List<AfterSalesMaterialsVo> afterSalesMaterialsVos = BeanUtil.copyToList(afterSalesMaterialsList, AfterSalesMaterialsVo.class);
+        //赋值物料信息
+        productInfoService.attributeAssign(afterSalesMaterialsVos, AfterSalesMaterialsVo::getProductId, (item, productInfo) -> {
+            item.setProductName(productInfo.getName());
+            item.setProductType(productInfo.getType());
+            item.setProductCode(productInfo.getCode());
+            item.setProductUnit(productInfo.getUnit());
+            item.setProductSpec(productInfo.getSpec());
+            item.setProductDefinition(productInfo.getDefinition());
+        });
+        result.setAfterSalesMaterialsList(afterSalesMaterialsVos);
+
         return result;
     }
 
@@ -179,11 +186,11 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
 
         //赋值单号
 //        dto.setCode(CodeEnum.AFTER_SALES.getCode());
-        dto.setCode(codingRuleService.createCode(CodingRuleEnum.JXST_AFTER_SALES.getKey(),null));
+        dto.setCode(codingRuleService.createCode(CodingRuleEnum.JXST_AFTER_SALES.getKey(), null));
 
         this.save(dto);
 
-        ObsFileUtil.editFile(dto.getFileList(),dto.getId());
+        ObsFileUtil.editFile(dto.getFileList(), dto.getId());
     }
 
     @DSTransactional
@@ -205,7 +212,7 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
 
         //保存售后跟进申请的物料
         List<AfterSalesMaterials> afterSalesMaterialsList = afterSalesRecordDto.getAfterSalesMaterialsList();
-        afterSalesMaterialsList.forEach(item->item.setAfterSalesRecordId(afterSalesRecordDto.getId()));
+        afterSalesMaterialsList.forEach(item -> item.setAfterSalesRecordId(afterSalesRecordDto.getId()));
         afterSalesMaterialsService.saveBatch(afterSalesMaterialsList);
 
         //生成售后物料待出库数据