|
@@ -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);
|
|
|
|
|
|
//生成售后物料待出库数据
|