diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/AgentInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/AgentInfoMapper.java index d2b58766..b3d9ebaa 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/AgentInfoMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/AgentInfoMapper.java @@ -59,4 +59,6 @@ public interface AgentInfoMapper */ public int deleteAgentInfoByIds(String[] ids); public int selectCountByCode(AgentInfo agentInfo); + + AgentInfo selectAgentInfoByCode(String agentCode); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderInfoMapper.java index 06430451..090a51ea 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderInfoMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderInfoMapper.java @@ -62,4 +62,6 @@ public interface ProjectOrderInfoMapper List selectProjectOrderInfoByProjectId(List projectId); int selectMaxOrderCode(String province); + + String selectAgentProvinceByProjectId(Long projectId); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IAgentInfoService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IAgentInfoService.java index 871c1be0..517e6f0c 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IAgentInfoService.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IAgentInfoService.java @@ -58,4 +58,6 @@ public interface IAgentInfoService * @return 结果 */ public int deleteAgentInfoById(Long id); + + AgentInfo selectAgentInfoByCode(String agentCode); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/AgentInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/AgentInfoServiceImpl.java index 4cef7f82..2c1f4105 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/AgentInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/AgentInfoServiceImpl.java @@ -105,4 +105,10 @@ public class AgentInfoServiceImpl implements IAgentInfoService { return agentInfoMapper.deleteAgentInfoById(id); } + + @Override + public AgentInfo selectAgentInfoByCode(String agentCode) { + + return agentInfoMapper.selectAgentInfoByCode(agentCode); + } } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java index 161e98d1..ca320185 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java @@ -10,6 +10,7 @@ import cn.hutool.core.collection.CollUtil; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.sip.domain.*; import com.ruoyi.sip.service.*; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService { private IProjectProductInfoService productInfoService; @Autowired private ICnareaService cnareaService; + /** * 查询订单管理 * @@ -80,8 +82,9 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService { */ @Override public int insertProjectOrderInfo(ProjectOrderInfo projectOrderInfo) { + // 生成订单编号 - String orderNumber = generateOrderNumber(projectOrderInfo.getProvince()); + String orderNumber = generateOrderNumber(projectOrderInfo.getProjectId()); projectOrderInfo.setOrderCode(orderNumber); projectOrderInfo.setCreateTime(DateUtils.getNowDate()); projectOrderInfo.setCreateBy(ShiroUtils.getUserId().toString()); @@ -111,7 +114,11 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService { * @param province 省份代码 * @return 订单编号 */ - private String generateOrderNumber(String province) { + private String generateOrderNumber(Long projectId) { + String province = projectOrderInfoMapper.selectAgentProvinceByProjectId(projectId); + if (StringUtils.isEmpty(province)) { + throw new ServiceException("代表处所属省为空,无法生成订单编号"); + } // 获取当前时间,格式为yyyyMMdd String currentDate = DateUtils.dateTimeNow("yyyyMMdd"); Cnarea cnarea = new Cnarea(); @@ -143,7 +150,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService { public int updateProjectOrderInfo(ProjectOrderInfo projectOrderInfo) { ProjectOrderInfo existProjectOrderInfo = projectOrderInfoMapper.selectProjectOrderInfoById(projectOrderInfo.getId()); if (!existProjectOrderInfo.getProvince().equals(projectOrderInfo.getProvince())) { - String orderNumber = generateOrderNumber(projectOrderInfo.getProvince()); + String orderNumber = generateOrderNumber(projectOrderInfo.getProjectId()); projectOrderInfo.setOrderCode(orderNumber); } projectOrderInfo.setUpdateBy(ShiroUtils.getUserId().toString()); diff --git a/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderInfoMapper.xml index 0479046f..72bbfa8a 100644 --- a/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderInfoMapper.xml @@ -101,6 +101,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/ruoyi-sip/src/main/resources/mapper/system/AgentInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/system/AgentInfoMapper.xml index 5138b2b9..70cf0810 100644 --- a/ruoyi-sip/src/main/resources/mapper/system/AgentInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/system/AgentInfoMapper.xml @@ -49,6 +49,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where agent_code=#{agentCode} and status=0 and id!=#{id} + insert into agent_info