Fixiaobai
2023-11-14 b529d99aed6a1e1dc4223057813d221d988987bd
mes-plan/src/main/java/com/chinaztt/mes/plan/service/impl/CustomerServiceImpl.java
@@ -18,20 +18,24 @@
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaztt.mes.plan.dto.CustomerDTO;
import com.chinaztt.mes.plan.entity.Customer;
import com.chinaztt.mes.plan.entity.CustomerOrder;
import com.chinaztt.mes.plan.mapper.CustomerMapper;
import com.chinaztt.mes.plan.mapper.CustomerOrderMapper;
import com.chinaztt.mes.plan.service.CustomerOrderService;
import com.chinaztt.mes.plan.service.CustomerService;
import com.chinaztt.mes.plan.state.auditstate.constant.AuditStateStringValues;
import com.chinaztt.mes.plan.state.orderstate.constant.CustomerOrderStateStringValues;
import com.chinaztt.mes.plan.vo.CustomerOrderVO;
import com.chinaztt.mes.plan.vo.CustomerVO;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 客户订单主表
@@ -45,24 +49,44 @@
   private CustomerOrderMapper customerOrderMapper;
   private CustomerOrderService customerOrderService;
   @Override
   public boolean saveDto(CustomerDTO customerDTO) {
      //客户订单号 ZTTIC20220001
   public boolean saveDto(CustomerVO customerVO) {
      /*新增客户订单主表*/
      //客户订单号 ZTMSLS2023101801
      Customer customer = new Customer();
      BeanUtils.copyProperties(customerVO,customer);
      String contractNo = contractNoMake();
      customerDTO.setContractNo(contractNo);
      baseMapper.insert(customerDTO);
      CustomerOrder customerOrder = customerDTO.getCustomerOrder();
      customerOrder.setCustomerId(customerDTO.getId());
      customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK);
      customerOrder.setIsAudit(AuditStateStringValues.DRAFT);
      customerOrder.setSalesmanName(customerDTO.getSalesMan());
      customerOrder.setDivision(customerDTO.getSalesDepartment());
      customerOrder.setCustomerName(customerDTO.getCustomerName());
      customerOrder.setOtcPartSync(true);
      customerOrder.setCustomerOrderNo(contractNo);
      customerOrder.setOtcPartSync(false);
      customerOrder.setSalesPartNo(customerDTO.getCustomerOrder().getPartNo());
      customerOrderMapper.insert(customerOrder);
      customer.setContractNo(contractNo); //合同号
      baseMapper.insert(customer);
      /*批量新增客户订单产品表*/
      List<CustomerOrderVO> customerOrderVOList = customerVO.getCustomerOrderVOList();
      List<CustomerOrder> customerOrders = customerOrderVOList.stream().map(customerOrderVO -> {
         CustomerOrder customerOrder = new CustomerOrder();
         BeanUtils.copyProperties(customerOrderVO, customerOrder);
         //合同号
         customerOrder.setCustomerOrderNo(customer.getContractNo());
         //客户号
         customerOrder.setCustomerNo(customer.getCustomerNo());
         //客户名称
         customerOrder.setCustomerName(customer.getCustomerName());
         //工程名称
         customerOrder.setEntityName(customer.getEntityName());
         //期望交货时间
         customerOrder.setWantedDeliveryDate(customerVO.getDeliveryDate());
         //业务员
         customerOrder.setSalesmanName(customer.getSalesMan());
         //状态:工艺文件待选
         customerOrder.setCoState(CustomerOrderStateStringValues.TECHNOLOGYUNCHECK);
         //审核状态为 01draft 草稿
         customerOrder.setIsAudit(AuditStateStringValues.DRAFT);
         //来源 1:手动
         customerOrder.setSourceId("1");
         //关联主表id
         customerOrder.setCustomerId(customer.getId());
         return customerOrder;
      }).collect(Collectors.toList());
      customerOrderService.saveBatch(customerOrders);
      return true;
   }