Ver código fonte

创建合同区分大修项目和维保项目

别傲 4 anos atrás
pai
commit
862c0dae50

+ 9 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/capital/service/CapitalRepairService.java

@@ -181,6 +181,14 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
         return resultMap;
     }
 
+    public boolean saveCapitalRepair(CapitalRepair repair){
+        //按当前日期时间戳自动生成项目编号
+        String projectCode = DateUtils.generateCode();
+        repair.setProjectCode("XM" + projectCode);
+        repair.setProjectStatus(CapitalRepairStatus.NO_START.getCode());
+        return save(repair);
+    }
+
     /**
      * @param request 新增大修项目数据项
      * @return Integer 成功1或失败0
@@ -190,10 +198,7 @@ public class CapitalRepairService extends ServiceImpl<CapitalRepairMapper, Capit
     @Transactional(rollbackFor = Exception.class)
     public RestResponse add(CapitalRepairRequest request) {
         CapitalRepair repair = request.getCapitalRepair();
-        String projectCode = DateUtils.generateCode();
-        repair.setProjectCode("XM" + projectCode);
-        repair.setProjectStatus(CapitalRepairStatus.NO_START.getCode());
-        boolean result = save(repair);
+        boolean result = saveCapitalRepair(repair);
         if (!result) return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         //批量新增项目成员信息
         List<ProjectUser> users = request.getUserList();

+ 30 - 11
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java

@@ -1,5 +1,7 @@
 package cn.com.ty.lift.business.contract.service;
 
+import cn.com.ty.lift.business.capital.dao.entity.CapitalRepair;
+import cn.com.ty.lift.business.capital.service.CapitalRepairService;
 import cn.com.ty.lift.business.contract.dao.entity.Contracts;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
@@ -49,6 +51,9 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
     @Resource
     private ProjectService projectService;
 
+    @Resource
+    private CapitalRepairService capitalRepairService;
+
     /**
      * @param request 合同列表查询条件
      * @return RestResponse 合同分页列表结果
@@ -70,18 +75,32 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
     public RestResponse add(ContractRequest request) {
         Contracts contracts = request.getContracts();
         Long projectId = request.getProjectId();
+        String contractType = request.getContractType();
         if (Objects.isNull(projectId)) {
-            //插入项目信息
-            Project project = new Project();
-            project.setProjectName(request.getProjectName());
-            project.setAddress(request.getProjectAddress());
-            project.setNum(contracts.getLiftNum());
-            project.setStartDate(contracts.getStarDate());
-            project.setEndDate(contracts.getEndDate());
-            project.setMtCompanyId(contracts.getMtCompanyId());
-            boolean pro = projectService.saveProject(project);
-            if (!pro) return RestResponse.fail(MessageUtils.get("msg.add.fail"));
-            contracts.setProjectId(project.getId());
+            if ("5".equals(contractType)) {
+                //插入大修项目
+                CapitalRepair repair = new CapitalRepair();
+                repair.setProjectName(request.getProjectName());
+                repair.setProjectAddress(request.getProjectAddress());
+                repair.setStartDate(contracts.getStarDate());
+                repair.setEndDate(contracts.getEndDate());
+                repair.setMtCompanyId(contracts.getMtCompanyId());
+                boolean result = capitalRepairService.saveCapitalRepair(repair);
+                if (!result) return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+                contracts.setProjectId(repair.getId());
+            } else {
+                //插入项目信息
+                Project project = new Project();
+                project.setProjectName(request.getProjectName());
+                project.setAddress(request.getProjectAddress());
+                project.setNum(contracts.getLiftNum());
+                project.setStartDate(contracts.getStarDate());
+                project.setEndDate(contracts.getEndDate());
+                project.setMtCompanyId(contracts.getMtCompanyId());
+                boolean pro = projectService.saveProject(project);
+                if (!pro) return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+                contracts.setProjectId(project.getId());
+            }
         } else {
             contracts.setProjectId(projectId);
         }