/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.plan.service.impl; 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.CustomerService; import com.chinaztt.mes.plan.state.auditstate.constant.AuditStateStringValues; import com.chinaztt.mes.plan.state.orderstate.constant.CustomerOrderStateStringValues; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; /** * 客户订单主表 * * @author sunxl * @date 2021-08-16 10:55:28 */ @Service @AllArgsConstructor public class CustomerServiceImpl extends ServiceImpl implements CustomerService { private CustomerOrderMapper customerOrderMapper; @Override public boolean saveDto(CustomerDTO customerDTO) { //客户订单号 ZTTIC20220001 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); return true; } @Override public String contractNoMake() { // 固定字符串 ZTTIC + (四位)年 + 四位流水 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy"); String yrar = formatter.format(LocalDateTime.now()); String code = "ZTTIC" + yrar; List customerOrderNos = baseMapper.getNos(code + "%"); if (CollectionUtil.isEmpty(customerOrderNos)) { code = code + "0001"; } else { String no = customerOrderNos.get(0); Integer a = Integer.parseInt(no.substring(no.length() - 8, no.length())); code = "ZTTIC" + (a + 1); } return code; } }