dcs 1 tahun lalu
induk
melakukan
5f91f037f6

+ 3 - 2
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ContractController.java

@@ -6,6 +6,7 @@ import com.bosshand.virgo.api.model.Tag;
 import com.bosshand.virgo.api.service.ContractService;
 import com.bosshand.virgo.api.service.ProjectItemTargetRoomService;
 import com.bosshand.virgo.core.response.Response;
+import com.bosshand.virgo.core.utils.StringUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,7 +47,7 @@ public class ContractController {
         List<Tag> tags = new ArrayList<>();
         for (Contract ct : list) {
             tags.clear();
-            if (ct.getTagIds() != null) {
+            if (StringUtil.notBlank(ct.getTagIds())) {
                 for (String tagId : ct.getTagIds().split(",")) {
                     tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
                 }
@@ -94,7 +95,7 @@ public class ContractController {
         Contract contract = contractService.get(id);
         List<Tag> tags = new ArrayList<>();
         String tagIds = contract.getTagIds();
-        if (tagIds != null) {
+        if (StringUtil.notBlank(tagIds)) {
             for (String tagId : tagIds.split(",")) {
                 tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
             }

+ 10 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/Contract.java

@@ -12,6 +12,8 @@ public class Contract {
 
     private long id;
 
+    private String code;
+
     /**
      * 创建时间
      */
@@ -182,6 +184,14 @@ public class Contract {
         this.id = id;
     }
 
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
     public Date getCreateDate() {
         return createDate;
     }

+ 5 - 1
virgo.api/src/main/java/com/bosshand/virgo/api/service/ContractService.java

@@ -4,6 +4,8 @@ import com.bosshand.virgo.api.dao.ClauseDao;
 import com.bosshand.virgo.api.dao.ContractDao;
 import com.bosshand.virgo.api.model.Clause;
 import com.bosshand.virgo.api.model.Contract;
+import com.bosshand.virgo.core.utils.DateTimeUtils;
+import com.bosshand.virgo.core.utils.RandomNumberUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,13 +21,15 @@ public class ContractService {
     private ClauseDao clauseDao;
 
     private void batchInsertClause(long contractId, List<Clause> clauseList) {
-        if (clauseList.size() > 0) {
+        if (clauseList != null && clauseList.size() > 0) {
             clauseList.forEach(ls -> ls.setContractId(contractId));
             clauseDao.batchInsert(clauseList);
         }
     }
 
     public void insert(Contract contract) {
+        String code = DateTimeUtils.getSysCurrentTimeMillis() + RandomNumberUtil.createRandomNumber(6);
+        contract.setCode(code);
         contractDao.insert(contract);
         batchInsertClause(contract.getId(), contract.getClauseList());
     }

+ 7 - 2
virgo.api/src/main/resources/mapper/ContractMapper.xml

@@ -6,6 +6,7 @@
 
     <resultMap type="com.bosshand.virgo.api.model.Contract" id="contractResult">
         <id column="id" property="id"/>
+        <result column="code" property="code"/>
         <result column="createDate" property="createDate"/>
         <result column="organizationId" property="organizationId"/>
         <result column="organizationName" property="organizationName"/>
@@ -40,6 +41,7 @@
 
     <resultMap type="com.bosshand.virgo.api.model.Contract" id="result">
         <id column="id" property="id"/>
+        <result column="code" property="code"/>
         <result column="createDate" property="createDate"/>
         <result column="organizationId" property="organizationId"/>
         <result column="organizationName" property="organizationName"/>
@@ -76,10 +78,10 @@
 
 
     <insert id="insert" parameterType="com.bosshand.virgo.api.model.Contract" useGeneratedKeys="true" keyProperty="id">
-        INSERT INTO contract(`createDate`, `organizationId`, `organizationName`, `roleId`, `roleName`, `investmentPromotion`, `operator`, `investmentPromotionName`, `operatorName`,`tenantType`, `merchantId`, `merchantName`, `clientId`, `clientName`,
+        INSERT INTO contract(`code`, `createDate`, `organizationId`, `organizationName`, `roleId`, `roleName`, `investmentPromotion`, `operator`, `investmentPromotionName`, `operatorName`,`tenantType`, `merchantId`, `merchantName`, `clientId`, `clientName`,
                              `tenant`, `industry`, `corporation`, `signatory`, `tenantContactPerson`, `signingDate`, `startDate`, `endDate`,
                              `lateFeesStartingDays`, `lateFeesProportion`, `lateFeesCeiling`, `tagIds`, `projectItemTargetRoomIds`, `attachment`, `document`, `data`)
-        VALUES (now(), #{organizationId}, #{organizationName}, #{roleId}, #{roleName}, #{investmentPromotion}, #{operator}, #{investmentPromotionName}, #{operatorName}, #{tenantType}, #{merchantId}, #{merchantName}, #{clientId}, #{clientName}, #{tenant},
+        VALUES (#{code}, now(), #{organizationId}, #{organizationName}, #{roleId}, #{roleName}, #{investmentPromotion}, #{operator}, #{investmentPromotionName}, #{operatorName}, #{tenantType}, #{merchantId}, #{merchantName}, #{clientId}, #{clientName}, #{tenant},
                 #{industry}, #{corporation}, #{signatory}, #{tenantContactPerson}, #{signingDate}, #{startDate}, #{endDate}, #{lateFeesStartingDays},
                 #{lateFeesProportion}, #{lateFeesCeiling}, #{tagIds}, #{projectItemTargetRoomIds}, #{attachment}, #{document}, #{data})
     </insert>
@@ -159,6 +161,7 @@
     <select id="getList" resultMap="contractResult">
         SELECT * FROM contract
         <where>
+            <if test="code!=null">and code=#{code}</if>
             <if test="organizationId!=0">and organizationId=#{organizationId}</if>
             <if test="organizationName!=null">and organizationName=#{organizationName}</if>
             <if test="roleId!=0">and roleId=#{roleId}</if>
@@ -197,6 +200,7 @@
     <select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.Contract" resultType="Integer">
         SELECT count(*) FROM contract
         <where>
+            <if test="code!=null">and code=#{code}</if>
             <if test="organizationId!=0">and organizationId=#{organizationId}</if>
             <if test="organizationName!=null">and organizationName=#{organizationName}</if>
             <if test="roleId!=0">and roleId=#{roleId}</if>
@@ -235,6 +239,7 @@
     <select id="getLimit" resultMap="contractResult">
         SELECT * FROM contract
         <where>
+            <if test="p.code!=null">and code=#{p.code}</if>
             <if test="p.organizationId!=0">and organizationId=#{p.organizationId}</if>
             <if test="p.organizationName!=null">and organizationName=#{p.organizationName}</if>
             <if test="p.roleId!=0">and roleId=#{p.roleId}</if>