|
@@ -7,6 +7,7 @@ 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;
|
|
@@ -14,10 +15,12 @@ import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.jxst.entity.after.dto.AfterSalesRecordDetailDto;
|
|
|
import com.fjhx.jxst.entity.after.dto.AfterSalesRecordDto;
|
|
|
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.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;
|
|
@@ -33,15 +36,23 @@ 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;
|
|
|
+import com.fjhx.wms.entity.stock.emums.StockWaitType;
|
|
|
+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;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -64,13 +75,15 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
|
|
|
@Autowired
|
|
|
private WorkOrderBomService workOrderBomService;
|
|
|
@Autowired
|
|
|
- private BomInfoService bomInfoService;
|
|
|
- @Autowired
|
|
|
- private BomDetailService bomDetailService;
|
|
|
- @Autowired
|
|
|
private AfterSalesRecordDetailService afterSalesRecordDetailService;
|
|
|
@Autowired
|
|
|
private CodingRuleService codingRuleService;
|
|
|
+ @Autowired
|
|
|
+ private AfterSalesMaterialsService afterSalesMaterialsService;
|
|
|
+ @Autowired
|
|
|
+ private StockWaitService stockWaitService;
|
|
|
+ @Autowired
|
|
|
+ private StockWaitDetailsService stockWaitDetailsService;
|
|
|
|
|
|
@Override
|
|
|
public Page<AfterSalesRecordVo> getPage(AfterSalesRecordSelectDto dto) {
|
|
@@ -189,6 +202,30 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
|
|
|
}
|
|
|
List<AfterSalesRecordDetail> afterSalesRecordDetails = BeanUtil.copyToList(afterSalesRecordDetailList, AfterSalesRecordDetail.class);
|
|
|
afterSalesRecordDetailService.saveBatch(afterSalesRecordDetails);
|
|
|
+
|
|
|
+ //保存售后跟进申请的物料
|
|
|
+ List<AfterSalesMaterials> afterSalesMaterialsList = afterSalesRecordDto.getAfterSalesMaterialsList();
|
|
|
+ afterSalesMaterialsList.forEach(item->item.setAfterSalesRecordId(afterSalesRecordDto.getId()));
|
|
|
+ afterSalesMaterialsService.saveBatch(afterSalesMaterialsList);
|
|
|
+
|
|
|
+ //生成售后物料待出库数据
|
|
|
+ StockWait stockWait = new StockWait();
|
|
|
+ stockWait.setType(2);
|
|
|
+ stockWait.setStatus(0);
|
|
|
+ stockWait.setBusinessId(afterSalesRecordDto.getId());
|
|
|
+ stockWait.setBusinessType(StockWaitType.AFTER_SALES_MATERIAL_OUT.getDetailType());
|
|
|
+ stockWaitService.save(stockWait);
|
|
|
+
|
|
|
+ List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
|
|
|
+ for (AfterSalesMaterials afterSalesMaterials : afterSalesMaterialsList) {
|
|
|
+ StockWaitDetails stockWaitDetails = new StockWaitDetails();
|
|
|
+ stockWaitDetails.setStockWaitId(stockWait.getId());
|
|
|
+ stockWaitDetails.setProductId(afterSalesMaterials.getProductId());
|
|
|
+ stockWaitDetails.setQuantity(afterSalesMaterials.getQuantity());
|
|
|
+ stockWaitDetails.setBusinessDetailsId(afterSalesMaterials.getId());
|
|
|
+ stockWaitDetailsList.add(stockWaitDetails);
|
|
|
+ }
|
|
|
+ stockWaitDetailsService.saveBatch(stockWaitDetailsList);
|
|
|
}
|
|
|
|
|
|
}
|