|
@@ -1,4 +1,4 @@
|
|
|
-package com.fjhx.mes.service.produce.impl;
|
|
|
+package com.fjhx.mes.service.production.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
@@ -7,15 +7,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
-import com.fjhx.mes.entity.produce.dto.ProduceOrderDto;
|
|
|
-import com.fjhx.mes.entity.produce.dto.ProduceOrderSelectDto;
|
|
|
-import com.fjhx.mes.entity.produce.po.ProduceOrder;
|
|
|
-import com.fjhx.mes.entity.produce.po.ProduceOrderDetail;
|
|
|
-import com.fjhx.mes.entity.produce.vo.ProduceOrderDetailVo;
|
|
|
-import com.fjhx.mes.entity.produce.vo.ProduceOrderVo;
|
|
|
-import com.fjhx.mes.mapper.produce.ProduceOrderMapper;
|
|
|
-import com.fjhx.mes.service.produce.ProduceOrderDetailService;
|
|
|
-import com.fjhx.mes.service.produce.ProduceOrderService;
|
|
|
+import com.fjhx.mes.entity.production.dto.ProduceOrderSelectDto;
|
|
|
+import com.fjhx.mes.entity.production.dto.ProductionOrderDto;
|
|
|
+import com.fjhx.mes.entity.production.po.ProductionOrder;
|
|
|
+import com.fjhx.mes.entity.production.po.ProductionOrderDetail;
|
|
|
+import com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo;
|
|
|
+import com.fjhx.mes.entity.production.vo.ProductionOrderVo;
|
|
|
+import com.fjhx.mes.mapper.production.ProduceOrderMapper;
|
|
|
+import com.fjhx.mes.service.production.ProduceOrderDetailService;
|
|
|
+import com.fjhx.mes.service.production.ProduceOrderService;
|
|
|
import com.fjhx.sale.entity.contract.po.Contract;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
|
|
|
* @since 2024-01-10
|
|
|
*/
|
|
|
@Service
|
|
|
-public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, ProduceOrder> implements ProduceOrderService {
|
|
|
+public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, ProductionOrder> implements ProduceOrderService {
|
|
|
|
|
|
@Autowired
|
|
|
private ContractService contractService;
|
|
@@ -56,33 +56,33 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
private ProductInfoService productInfoService;
|
|
|
|
|
|
@Override
|
|
|
- public Page<ProduceOrderVo> getPage(ProduceOrderSelectDto dto) {
|
|
|
- IWrapper<ProduceOrder> wrapper = getWrapper();
|
|
|
- wrapper.orderByDesc("po", ProduceOrder::getId);
|
|
|
+ public Page<ProductionOrderVo> getPage(ProduceOrderSelectDto dto) {
|
|
|
+ IWrapper<ProductionOrder> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("po", ProductionOrder::getId);
|
|
|
|
|
|
//生产状态
|
|
|
- wrapper.eq(ProduceOrder::getProduceStatus, dto.getProduceStatus());
|
|
|
+ wrapper.eq(ProductionOrder::getProduceStatus, dto.getProduceStatus());
|
|
|
//交期-时间范围过滤
|
|
|
- wrapper.ge("po", ProduceOrder::getDeliveryPeriod, dto.getStaDeliveryPeriod());
|
|
|
- wrapper.le("po", ProduceOrder::getDeliveryPeriod, dto.getEndDeliveryPeriod());
|
|
|
+ wrapper.ge("po", ProductionOrder::getDeliveryPeriod, dto.getStaDeliveryPeriod());
|
|
|
+ wrapper.le("po", ProductionOrder::getDeliveryPeriod, dto.getEndDeliveryPeriod());
|
|
|
//下单时间(创建时间)-时间范围过滤
|
|
|
- wrapper.ge("po", ProduceOrder::getCreateTime, dto.getBeginTime());
|
|
|
- wrapper.le("po", ProduceOrder::getCreateTime, dto.getEndTime());
|
|
|
+ wrapper.ge("po", ProductionOrder::getCreateTime, dto.getBeginTime());
|
|
|
+ wrapper.le("po", ProductionOrder::getCreateTime, dto.getEndTime());
|
|
|
//关键字
|
|
|
- wrapper.keyword(dto.getKeyword(), new SqlField(ProduceOrder::getCode));
|
|
|
+ wrapper.keyword(dto.getKeyword(), new SqlField(ProductionOrder::getCode));
|
|
|
|
|
|
- Page<ProduceOrderVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
- List<ProduceOrderVo> records = page.getRecords();
|
|
|
+ Page<ProductionOrderVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ List<ProductionOrderVo> records = page.getRecords();
|
|
|
if (ObjectUtil.isEmpty(records)) {
|
|
|
return page;
|
|
|
}
|
|
|
//赋值订单明细信息
|
|
|
- List<Long> produceOrderIds = records.stream().map(ProduceOrder::getId).collect(Collectors.toList());
|
|
|
- List<ProduceOrderDetail> produceOrderDetailList = produceOrderDetailService.list(q ->
|
|
|
- q.in(ProduceOrderDetail::getProduceOrderId, produceOrderIds));
|
|
|
- List<ProduceOrderDetailVo> produceOrderDetailVos = BeanUtil.copyToList(produceOrderDetailList, ProduceOrderDetailVo.class);
|
|
|
+ List<Long> produceOrderIds = records.stream().map(ProductionOrder::getId).collect(Collectors.toList());
|
|
|
+ List<ProductionOrderDetail> productionOrderDetailList = produceOrderDetailService.list(q ->
|
|
|
+ q.in(ProductionOrderDetail::getProduceOrderId, produceOrderIds));
|
|
|
+ List<ProductionOrderDetailVo> produceOrderDetailVos = BeanUtil.copyToList(productionOrderDetailList, ProductionOrderDetailVo.class);
|
|
|
|
|
|
- productInfoService.attributeAssign(produceOrderDetailVos, ProduceOrderDetail::getProductId, (item, product) -> {
|
|
|
+ productInfoService.attributeAssign(produceOrderDetailVos, ProductionOrderDetail::getProductId, (item, product) -> {
|
|
|
item.setProductCode(product.getCustomCode());
|
|
|
item.setProductName(product.getName());
|
|
|
item.setProductUnit(product.getUnit());
|
|
@@ -92,9 +92,9 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
item.setProductHeight(product.getHeight());
|
|
|
});
|
|
|
|
|
|
- Map<Long, List<ProduceOrderDetailVo>> produceOrderDetailMap = produceOrderDetailVos.stream()
|
|
|
- .collect(Collectors.groupingBy(ProduceOrderDetail::getProduceOrderId));
|
|
|
- for (ProduceOrderVo record : records) {
|
|
|
+ Map<Long, List<ProductionOrderDetailVo>> produceOrderDetailMap = produceOrderDetailVos.stream()
|
|
|
+ .collect(Collectors.groupingBy(ProductionOrderDetail::getProduceOrderId));
|
|
|
+ for (ProductionOrderVo record : records) {
|
|
|
record.setProduceOrderDetailList(produceOrderDetailMap.get(record.getId()));
|
|
|
}
|
|
|
|
|
@@ -103,7 +103,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
|
|
|
@Override
|
|
|
@DSTransactional
|
|
|
- public void createOrder(ProduceOrderDto produceOrderDto) {
|
|
|
+ public void createOrder(ProductionOrderDto produceOrderDto) {
|
|
|
Long contractId = produceOrderDto.getContractId();
|
|
|
Assert.notEmpty(produceOrderDto.getContractId(), "合同id不能为空!");
|
|
|
|
|
@@ -123,21 +123,21 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
|
|
|
this.save(produceOrderDto);
|
|
|
|
|
|
//创建生产订单明细
|
|
|
- List<ProduceOrderDetail> produceOrderDetailList = new ArrayList<>();
|
|
|
+ List<ProductionOrderDetail> productionOrderDetailList = new ArrayList<>();
|
|
|
List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contractId));
|
|
|
for (ContractProduct contractProduct : contractProductList) {
|
|
|
- ProduceOrderDetail produceOrderDetail = new ProduceOrderDetail();
|
|
|
- produceOrderDetail.setProduceOrderId(produceOrderDto.getId());
|
|
|
- produceOrderDetail.setContractId(contractId);
|
|
|
- produceOrderDetail.setContractDetailId(contractProduct.getId());
|
|
|
- produceOrderDetail.setProductId(contractProduct.getProductId());
|
|
|
- produceOrderDetail.setQuantity(contractProduct.getQuantity());
|
|
|
- produceOrderDetail.setFinishQuantity(BigDecimal.ZERO);
|
|
|
- produceOrderDetail.setProduceStatus(0);
|
|
|
- produceOrderDetail.setTenantId(tenantId);
|
|
|
- produceOrderDetailList.add(produceOrderDetail);
|
|
|
+ ProductionOrderDetail productionOrderDetail = new ProductionOrderDetail();
|
|
|
+ productionOrderDetail.setProduceOrderId(produceOrderDto.getId());
|
|
|
+ productionOrderDetail.setContractId(contractId);
|
|
|
+ productionOrderDetail.setContractDetailId(contractProduct.getId());
|
|
|
+ productionOrderDetail.setProductId(contractProduct.getProductId());
|
|
|
+ productionOrderDetail.setQuantity(contractProduct.getQuantity());
|
|
|
+ productionOrderDetail.setFinishQuantity(BigDecimal.ZERO);
|
|
|
+ productionOrderDetail.setProduceStatus(0);
|
|
|
+ productionOrderDetail.setTenantId(tenantId);
|
|
|
+ productionOrderDetailList.add(productionOrderDetail);
|
|
|
}
|
|
|
- produceOrderDetailService.saveBatch(produceOrderDetailList);
|
|
|
+ produceOrderDetailService.saveBatch(productionOrderDetailList);
|
|
|
}
|
|
|
|
|
|
}
|