dcs 2 meses atrás
pai
commit
ad5ea97749

+ 13 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/model/OrderInfo.java

@@ -85,6 +85,11 @@ public class OrderInfo {
      */
     private long contractId;
 
+    /**
+     * 合同编号-dto
+     */
+    private String contractNo;
+
     /**
      * 合同状态-dto
      */
@@ -222,6 +227,14 @@ public class OrderInfo {
         this.contractId = contractId;
     }
 
+    public String getContractNo() {
+        return contractNo;
+    }
+
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
+    }
+
     public int getContractStatus() {
         return contractStatus;
     }

+ 1 - 0
virgo.api/src/main/resources/mapper/OrderInfoMapper.xml

@@ -48,6 +48,7 @@
                b.file                         as invoice_file,
                b.state                        as invoice_state,
                c.id                           as contractId,
+               c.contractNo                   as contractNo,
                c.state                        as contractStatus
         from workark_orderInfo a
             left join workark_invoice b on a.orderNo = b.orderNo

+ 8 - 2
virgo.file/src/main/java/com/bosshand/virgo/file/controller/WorkarkContractController.java

@@ -55,7 +55,7 @@ public class WorkarkContractController {
 
     @ApiOperation("展示合同PDF")
     @RequestMapping(value = "/pdf/{id}", method = RequestMethod.GET)
-    public void getPDF(@PathVariable long id, final HttpServletResponse response) {
+    public void getContractPDF(@PathVariable long id, final HttpServletResponse response) {
         byte[] data = null;
         OutputStream outputStream = null;
         try {
@@ -147,8 +147,14 @@ public class WorkarkContractController {
         return Response.ok();
     }
 
+    @ApiOperation("获取绑定后合同")
+    @RequestMapping(value = "/pdf/get/{id}", method = RequestMethod.GET)
+    public Response getPdf(@PathVariable long id) {
+        return Response.ok(workarkContractService.getWorkarkContractPdf(id));
+    }
+
     @ApiOperation("展示绑定后合同PDF")
-    @RequestMapping(value = "/show/{pdfId}", method = RequestMethod.GET)
+    @RequestMapping(value = "/pdf/show/{pdfId}", method = RequestMethod.GET)
     public void getShowPdf(@PathVariable long pdfId, final HttpServletResponse response) {
         byte[] data = null;
         OutputStream outputStream = null;

+ 42 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/model/WorkarkContractPdf.java

@@ -21,6 +21,16 @@ public class WorkarkContractPdf {
      */
     private long contractId;
 
+    /**
+     * 合同名称
+     */
+    private String contractName;
+
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+
     /**
      * 合同状态
      */
@@ -39,8 +49,16 @@ public class WorkarkContractPdf {
      */
     private Node node;
 
+    /**
+     * 组织id
+     */
     private long organizationId;
 
+    /**
+     * 购买组织id
+     */
+    private long payOrganizationId;
+
     public long getId() {
         return id;
     }
@@ -65,6 +83,22 @@ public class WorkarkContractPdf {
         this.contractId = contractId;
     }
 
+    public String getContractName() {
+        return contractName;
+    }
+
+    public void setContractName(String contractName) {
+        this.contractName = contractName;
+    }
+
+    public String getContractNo() {
+        return contractNo;
+    }
+
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
+    }
+
     public Integer getState() {
         return state;
     }
@@ -112,4 +146,12 @@ public class WorkarkContractPdf {
     public void setOrganizationId(long organizationId) {
         this.organizationId = organizationId;
     }
+
+    public long getPayOrganizationId() {
+        return payOrganizationId;
+    }
+
+    public void setPayOrganizationId(long payOrganizationId) {
+        this.payOrganizationId = payOrganizationId;
+    }
 }

+ 21 - 1
virgo.file/src/main/java/com/bosshand/virgo/file/service/WorkarkContractService.java

@@ -12,7 +12,10 @@ import org.springframework.stereotype.Service;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
+import java.util.Random;
 
 @Service
 public class WorkarkContractService {
@@ -81,6 +84,20 @@ public class WorkarkContractService {
         return workarkContractPdfDao.getOrderNo(orderNo);
     }
 
+    /**
+     * 生成编号
+     */
+    public String getNo() {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+        String newDate = sdf.format(new Date());
+        String result = "";
+        Random random = new Random();
+        for (int i = 0; i < 3; i++) {
+            result += random.nextInt(10);
+        }
+        return newDate + result;
+    }
+
     public void saveWorkarkContractPdf(WorkarkContractPdf workarkContractPdf) {
 
         String orderNo = workarkContractPdf.getOrderNo();
@@ -89,7 +106,10 @@ public class WorkarkContractService {
 
         WorkarkContract workarkContract = get(contractId);
 
-        workarkContractPdf.setName(orderNo+".PDF");
+        workarkContractPdf.setContractNo("HT" + getNo());
+
+        workarkContractPdf.setName(orderNo + ".PDF");
+        workarkContractPdf.setContractName(workarkContract.getName());
         workarkContractPdf.setOrganizationId(workarkContract.getOrganizationId());
 
         byte[] pdf = getPDF(contractId);

+ 5 - 1
virgo.file/src/main/resources/mapper/WorkarkContractPdfMapper.xml

@@ -7,8 +7,11 @@
     <resultMap type="com.bosshand.virgo.file.model.WorkarkContractPdf" id="result" >
         <id column="id" property="id"/>
         <id column="orderNo" property="orderNo"/>
+        <id column="contractNo" property="contractNo"/>
         <id column="contractId" property="contractId"/>
+        <id column="contractName" property="contractName"/>
         <id column="organizationId" property="organizationId"/>
+        <id column="payOrganizationId" property="payOrganizationId"/>
         <id column="state" property="state"/>
         <id column="name" property="name"/>
         <id column="createDate" property="createDate"/>
@@ -33,7 +36,8 @@
     </delete>
 
     <insert id="insert" parameterType="com.bosshand.virgo.file.model.WorkarkContractPdf" useGeneratedKeys="true" keyProperty="id">
-        INSERT into workark_contract_pdf(orderNo, contractId, organizationId, name, createDate, node) values(#{orderNo}, #{contractId}, #{organizationId}, #{name}, now(), #{node, typeHandler=com.bosshand.virgo.core.typehandler.BlobTypeHandler})
+        INSERT into workark_contract_pdf(orderNo, contractNo, contractId, contractName, organizationId, payOrganizationId, name, createDate, node)
+        values(#{orderNo}, #{contractNo}, #{contractId}, #{contractName}, #{organizationId}, #{payOrganizationId}, #{name}, now(), #{node, typeHandler=com.bosshand.virgo.core.typehandler.BlobTypeHandler})
     </insert>
 
     <update id="update" parameterType="com.bosshand.virgo.file.model.WorkarkContractPdf">