Przeglądaj źródła

财务-合同归档

wangqiang 2 lat temu
rodzic
commit
1c997ae5f3

+ 10 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/domain/ContractFile.java

@@ -56,6 +56,16 @@ public class ContractFile extends BaseEntity {
     private String createId;       //创建人id
 
     /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 客户编号
+     */
+    private String customerNo;
+
+    /**
      * 附件信息
      */
     @TableField(exist = false)

+ 3 - 7
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/domain/ContractInfo.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jeeplus.core.domain.BaseEntity;
 import com.jeeplus.core.query.Query;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
 import lombok.Data;
 
@@ -84,14 +85,9 @@ public class ContractInfo extends BaseEntity {
     private List<WorkAttachmentDto> contractProperList;
 
     /**
-     * 客户名称
+     * 被服务单位信息
      */
     @TableField(exist = false)
-    private String customerName;
+    private List<CwWorkClientBaseDTO> cwWorkClientContactDTOList;
 
-    /**
-     * 客户编号
-     */
-    @TableField(exist = false)
-    private String customerNo;
 }

+ 22 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/domain/ContractParticipant.java

@@ -0,0 +1,22 @@
+package com.jeeplus.test.cw.contractRegistration.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 参与签约方信息
+ * @author: 王强
+ * @create: 2022-11-15 13:32
+ **/
+@Data
+@TableName(value = "cw_work_contract_participant")
+public class ContractParticipant extends BaseEntity {
+
+    private String customerName;
+
+    private String customerNo;
+
+    private String contractInfoId;
+}

+ 1 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/ContractInfoMapper.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.cw.contractRegistration.domain.ContractFile;
 import com.jeeplus.test.cw.contractRegistration.domain.ContractInfo;
+import com.jeeplus.test.cw.contractRegistration.domain.ContractParticipant;
 import com.jeeplus.test.oss.domain.WorkAttachment;
 import com.jeeplus.test.workContract.domain.WorkContractInfo;
 import com.jeeplus.test.workContract.service.dto.WorkAttachmentDto;
@@ -21,8 +22,6 @@ import java.util.List;
  **/
 public interface ContractInfoMapper extends BaseMapper<ContractInfo> {
 
-
-
     ContractFile getById(String id);
 
     List<WorkAttachmentDto> findDtos(@Param("id") String id);

+ 22 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/ContractParticipantMapper.java

@@ -0,0 +1,22 @@
+package com.jeeplus.test.cw.contractRegistration.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.contractRegistration.domain.ContractParticipant;
+
+import java.util.List;
+
+/**
+ * @author: 王强
+ * @create: 2022-11-15 13:44
+ **/
+public interface ContractParticipantMapper extends BaseMapper<ContractParticipant> {
+
+    /**
+     * 估计infoid删除相关的参与签约方信息
+     * @param InfoId
+     */
+    void deleteFromParticipant(String InfoId);
+
+
+    List<ContractParticipant> findByInfoId(String infoID);
+}

+ 2 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/xml/ContractInfoMapper.xml

@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.jeeplus.test.cw.contractRegistration.mapper.ContractInfoMapper">
+
     <update id="updateStatusById">
         UPDATE cw_work_contract_info SET `status` = #{status} WHERE del_flag = 0 AND id = #{id}
     </update>
     <update id="updatefiledTypeById">
         UPDATE cw_work_contract_info SET `filed_type` = #{status} WHERE del_flag = 0 AND id = #{id}
     </update>
+
     <select id="findPageList" resultType="com.jeeplus.test.cw.contractRegistration.domain.ContractInfo">
         SELECT
 			a.id,

+ 11 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/xml/ContractParticipantMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.cw.contractRegistration.mapper.ContractParticipantMapper">
+    <delete id="deleteFromParticipant">
+        delete from cw_work_contract_participant where contract_info_id = #{InfoId}
+    </delete>
+    <select id="findByInfoId" resultType="com.jeeplus.test.cw.contractRegistration.domain.ContractParticipant">
+        select customer_name as customerName,customer_no as customerNo from cw_work_contract_participant
+        where contract_info_id = #{infoID}
+    </select>
+</mapper>

+ 60 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/service/ContractInfoService.java

@@ -10,7 +10,10 @@ import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.UserUtils;
 import com.jeeplus.test.cw.contractRegistration.domain.ContractFile;
 import com.jeeplus.test.cw.contractRegistration.domain.ContractInfo;
+import com.jeeplus.test.cw.contractRegistration.domain.ContractParticipant;
 import com.jeeplus.test.cw.contractRegistration.mapper.ContractInfoMapper;
+import com.jeeplus.test.cw.contractRegistration.mapper.ContractParticipantMapper;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.test.mould.service.SerialnumTplService;
 import com.jeeplus.test.oss.domain.WorkAttachment;
 import com.jeeplus.test.oss.mapper.OssServiceMapper;
@@ -25,10 +28,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * @author: 王强
@@ -46,6 +46,9 @@ public class ContractInfoService {
     @Resource
     private OssServiceMapper ossServiceMapper;
 
+    @Resource
+    private ContractParticipantMapper participantMapper;
+
     /**
      * 根据id修改status
      */
@@ -138,7 +141,9 @@ public class ContractInfoService {
     public ContractInfo findById(String id) {
 
         ContractInfo dto = mapper.findById(id);
+
         if (dto != null){
+            List<ContractParticipant> participant = participantMapper.findByInfoId(dto.getId());
             dto.setContractStatus("新创建");
             // 查询附件信息
             List<WorkAttachmentDto> dtos = mapper.findDtos(id);
@@ -147,6 +152,17 @@ public class ContractInfoService {
                     i.setCreateBy(UserUtils.get(i.getBy()));
                 }
             }
+            List<CwWorkClientBaseDTO> list = new ArrayList<>();
+            if (participant.size()>0){
+                participant.forEach(cw->{
+                    CwWorkClientBaseDTO baseDTO = new CwWorkClientBaseDTO();
+                    baseDTO.setName(cw.getCustomerName());
+                    baseDTO.setNo(cw.getCustomerNo());
+                    list.add(baseDTO);
+                });
+
+            }
+            dto.setCwWorkClientContactDTOList(list);
             dto.setContractProperList(dtos);
         }
 
@@ -155,6 +171,7 @@ public class ContractInfoService {
 
     public String saveInfo(ContractInfo info) throws Exception {
         if (StringUtils.isNotEmpty(info.getId())) {
+            //对参与签约方进行处理  将参与签约方的客户编号 和 客户名称进行持久化
             ContractInfo contractInfo = mapper.selectById(info.getId());
             if (contractInfo != null) {
                 info.setCreateBy(info.getCreateId());
@@ -190,6 +207,26 @@ public class ContractInfoService {
         int num = Integer.parseInt(contractInfo.getChangeNum()) + 1;
         contractInfo.setChangeNum(num + "");
         mapper.updateById(contractInfo);
+        ContractParticipant participant = new ContractParticipant();
+        //对参与签约方进行操作
+        participantMapper.deleteFromParticipant(info.getId());
+        //在操作前,清空之前的信息
+        if (info.getCwWorkClientContactDTOList().size()>0){
+            info.getCwWorkClientContactDTOList().forEach(cw->{
+
+                String parId = UUID.randomUUID().toString().replace("-", "");
+                participant.setId(parId);
+                participant.setContractInfoId(info.getId());
+                participant.setCustomerName(cw.getName());
+                participant.setCustomerNo(cw.getNo());
+                participant.setCreateBy(userDTO.getId());
+                participant.setCreateDate(new Date());
+                participant.setUpdateBy(userDTO.getId());
+                participant.setUpdateDate(new Date());
+                participantMapper.insert(participant);
+            });
+        }
+
         List<WorkAttachmentDto> list = info.getContractProperList();
         if (CollectionUtils.isNotEmpty(list)) {
             updateFiles(list, userDTO, info.getId());
@@ -218,6 +255,25 @@ public class ContractInfoService {
         info.setUpdateBy(userDTO.getId());
         info.setUpdateDate(new Date());
         mapper.insert(info);
+        //对参与签约方进行持久化
+        //对参与签约方进行操作
+        participantMapper.deleteFromParticipant(info.getId());
+        ContractParticipant participant = new ContractParticipant();
+        if (info.getCwWorkClientContactDTOList().size()>0){
+            info.getCwWorkClientContactDTOList().forEach(cw->{
+                String parId = UUID.randomUUID().toString().replace("-", "");
+                participant.setId(parId);
+                participant.setContractInfoId(id);
+                participant.setCustomerName(cw.getName());
+                participant.setCustomerNo(cw.getNo());
+                participant.setCreateBy(userDTO.getId());
+                participant.setCreateDate(new Date());
+                participant.setUpdateBy(userDTO.getId());
+                participant.setUpdateDate(new Date());
+                participantMapper.insert(participant);
+            });
+        }
+
         List<WorkAttachmentDto> list = contractInfo.getContractProperList();
         if (CollectionUtils.isNotEmpty(list)) {
             saveFiles(list, userDTO, id);