river пре 4 година
родитељ
комит
db91982eba

+ 97 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OAFinancialDto.java

@@ -0,0 +1,97 @@
+package com.ym.mec.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public class OAFinancialDto {
+
+    @ApiModelProperty(value = "公司名称", required = false)
+    private String organName;
+
+    @ApiModelProperty(value = "费用申请人", required = false)
+    private String realName;
+
+    @ApiModelProperty(value = "费用类型", required = false)
+    private String feeType;
+
+    @ApiModelProperty(value = "报销金额", required = false)
+    private BigDecimal totalMoney;
+
+    @ApiModelProperty(value = "是否有借款 (是 否)", required = false)
+    private String hasLoan;
+
+    @ApiModelProperty(value = "情况说明", required = false)
+    private String memo;
+
+    @ApiModelProperty(value = "审批人数据", required = false)
+    private List<CirculationUser> circulationUsers;
+
+    @ApiModelProperty(value = "执行人数据", required = false)
+    private List<CirculationUser> executors;
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getFeeType() {
+        return feeType;
+    }
+
+    public void setFeeType(String feeType) {
+        this.feeType = feeType;
+    }
+
+    public BigDecimal getTotalMoney() {
+        return totalMoney;
+    }
+
+    public void setTotalMoney(BigDecimal totalMoney) {
+        this.totalMoney = totalMoney;
+    }
+
+    public String getHasLoan() {
+        return hasLoan;
+    }
+
+    public void setHasLoan(String hasLoan) {
+        this.hasLoan = hasLoan;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public List<CirculationUser> getCirculationUsers() {
+        return circulationUsers;
+    }
+
+    public void setCirculationUsers(List<CirculationUser> circulationUsers) {
+        this.circulationUsers = circulationUsers;
+    }
+
+    public List<CirculationUser> getExecutors() {
+        return executors;
+    }
+
+    public void setExecutors(List<CirculationUser> executors) {
+        this.executors = executors;
+    }
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.ym.mec.biz.dal.dto.CirculationUser;
+import com.ym.mec.biz.dal.dto.OAFinancialDto;
 import com.ym.mec.biz.dal.entity.SysUserTsign;
 import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -138,6 +139,6 @@ public interface ContractService {
 	 * @param executors 执行人
 	 * @return
 	 */
-	String transferOaFinancial(List<CirculationUser> circulationUsers, List<CirculationUser> executors);
+	String transferOaFinancial(OAFinancialDto financialDto);
 
 }

+ 16 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
 import com.ym.mec.auth.api.enums.CertificateTypeEnum;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.CirculationUser;
+import com.ym.mec.biz.dal.dto.OAFinancialDto;
 import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -1263,9 +1264,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 
 
     @Override
-    public String transferOaFinancial(List<CirculationUser> circulationUsers, List<CirculationUser> executors) {
-        List<Integer> circulationUserIds = circulationUsers.stream().map(CirculationUser::getUserId).collect(Collectors.toList());
-        List<Integer> executorIds = executors.stream().map(CirculationUser::getUserId).collect(Collectors.toList());
+    public String transferOaFinancial(OAFinancialDto financialDto) {
+        List<Integer> circulationUserIds = financialDto.getCirculationUsers().stream().map(CirculationUser::getUserId).collect(Collectors.toList());
+        List<Integer> executorIds = financialDto.getExecutors().stream().map(CirculationUser::getUserId).collect(Collectors.toList());
         circulationUserIds.addAll(executorIds);
         List<SysUser> users = employeeDao.getUsers(circulationUserIds);
 
@@ -1280,7 +1281,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
                     throw new BizException(user.getRealName() + "电子签章注册失败");
                 }
             }
-            for (CirculationUser circulationUser : circulationUsers) {
+            for (CirculationUser circulationUser : financialDto.getCirculationUsers()) {
                 if (workOrderId == null) {
                     workOrderId = circulationUser.getWorkOrderId();
                 }
@@ -1290,7 +1291,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
                 circulationUser.setPhone(user.getPhone());
                 circulationUser.setSysUserTsign(sysUserTsign);
             }
-            for (CirculationUser executor : executors) {
+            for (CirculationUser executor : financialDto.getExecutors()) {
                 if (!executor.getUserId().equals(user.getId())) continue;
                 executor.setRealName(user.getRealName());
                 executor.setIdCard(user.getIdCardNo());
@@ -1317,8 +1318,14 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
         Map<String, Object> params = new HashMap<String, Object>();
 
         // 查询参数信息
-        params.put("circulationUsers", circulationUsers);
-        params.put("executors", executors);
+        params.put("organName", financialDto.getOrganName());
+        params.put("realName", financialDto.getRealName());
+        params.put("feeType", financialDto.getFeeType());
+        params.put("totalMoney", financialDto.getTotalMoney());
+        params.put("hasLoan", financialDto.getHasLoan());
+        params.put("memo", financialDto.getMemo());
+        params.put("circulationUsers", financialDto.getCirculationUsers());
+        params.put("executors", financialDto.getExecutors());
 
         templateEngine.render(params, "financial.ftl", srcFile);
 
@@ -1329,11 +1336,11 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
             logger.error("生成产品协议失败", e);
         }
 
-        for (CirculationUser circulationUser : circulationUsers) {
+        for (CirculationUser circulationUser : financialDto.getCirculationUsers()) {
             eSealPlugin.userSign(circulationUser.getSysUserTsign().getAccountId(), circulationUser.getSysUserTsign().getSealData(), srcPdfPath, srcPdfPath);
         }
 
-        for (CirculationUser executor : executors) {
+        for (CirculationUser executor : financialDto.getExecutors()) {
             eSealPlugin.userSign(executor.getSysUserTsign().getAccountId(), executor.getSysUserTsign().getSealData(), srcPdfPath, srcPdfPath);
         }
 
@@ -1342,7 +1349,6 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
         dateStrOss = "oa/" + dateStrOss + "/" + DateUtil.getHour(date);
         String pdfFilePath = storagePluginContext.uploadFile(KS3StoragePlugin.PLUGIN_NAME, dateStrOss, srcFile);
 
-
         FileUtils.deleteQuietly(srcFile);
 
         return pdfFilePath;

+ 6 - 6
mec-biz/src/main/resources/config/contracts/financial.ftl

@@ -52,29 +52,29 @@
     <table class="table">
         <tr>
             <td class="title">公司名称:</td>
-            <td class="concat">XXXXX</td>
+            <td class="concat">${organName!}</td>
         </tr>
         <tr>
             <td class="title">费用申请人:</td>
-            <td class="concat">XXXXX</td>
+            <td class="concat">${realName!}</td>
         </tr>
         <tr>
             <td class="title">费用类型:</td>
-            <td class="concat">XXXXX</td>
+            <td class="concat">${feeType!}</td>
         </tr>
         <tr>
             <td class="title">报销金额:</td>
-            <td class="concat">XXXXX</td>
+            <td class="concat">${totalMoney!}</td>
         </tr>
         <tr>
             <td class="title">是否有借款:</td>
-            <td class="concat">XXXXX</td>
+            <td class="concat">${hasLoan!}</td>
         </tr>
 
         <tr>
             <td class="title">情况说明:</td>
             <td class="concat">
-                有很多很的情况有很多很多的情况有很多很多的情况
+                ${memo!}
             </td>
         </tr>
     </table>

+ 46 - 44
mec-web/src/main/java/com/ym/mec/web/controller/education/OaContractsController.java

@@ -1,12 +1,14 @@
 package com.ym.mec.web.controller.education;
 
 import com.ym.mec.biz.dal.dto.CirculationUser;
+import com.ym.mec.biz.dal.dto.OAFinancialDto;
 import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -22,51 +24,51 @@ public class OaContractsController extends BaseController {
     private ContractService contractService;
 
     @GetMapping("finance")
-    public HttpResponseResult<String> transferProduceContract() {
-        List<CirculationUser> circulationUsers = new ArrayList<>();
-        CirculationUser circulationUser1 = new CirculationUser();
-        circulationUser1.setUserId(100002);
-        circulationUser1.setRealName("宋筠");
-        circulationUser1.setPhone("13986250561");
-        circulationUser1.setIdCard("420527198308075343");
-        circulationUser1.setState("主管审批");
-        circulationUser1.setRemark("费用无误通过");
-        circulationUser1.setWorkOrderId(1);
-        circulationUsers.add(circulationUser1);
+    public HttpResponseResult<String> transferProduceContract(@RequestBody OAFinancialDto financialDto) {
+//        List<CirculationUser> circulationUsers = new ArrayList<>();
+//        CirculationUser circulationUser1 = new CirculationUser();
+//        circulationUser1.setUserId(100002);
+//        circulationUser1.setRealName("宋筠");
+//        circulationUser1.setPhone("13986250561");
+//        circulationUser1.setIdCard("420527198308075343");
+//        circulationUser1.setState("主管审批");
+//        circulationUser1.setRemark("费用无误通过");
+//        circulationUser1.setWorkOrderId(1);
+//        circulationUsers.add(circulationUser1);
+//
+//        CirculationUser circulationUser2 = new CirculationUser();
+//        circulationUser2.setUserId(100134);
+//        circulationUser2.setRealName("李志超");
+//        circulationUser2.setPhone("18249982421");
+//        circulationUser2.setIdCard("372901199202297212");
+//        circulationUser2.setState("经理审批");
+//        circulationUser2.setRemark("费用无误通过");
+//        circulationUser2.setWorkOrderId(1);
+//        circulationUsers.add(circulationUser2);
+//
+//        List<CirculationUser> executors = new ArrayList<>();
+//
+//        CirculationUser executor1 = new CirculationUser();
+//        executor1.setUserId(100229);
+//        executor1.setRealName("刘德蕊");
+//        executor1.setPhone("18198285631");
+//        executor1.setIdCard("510102196408016563");
+//        executor1.setState("分部会计");
+//        executor1.setRemark("费用无误通过");
+//        executor1.setWorkOrderId(1);
+//        executors.add(executor1);
+//
+//        CirculationUser executor2 = new CirculationUser();
+//        executor2.setUserId(100201);
+//        executor2.setRealName("蔡明哲");
+//        executor2.setPhone("18611812776");
+//        executor2.setIdCard("230204198110311914");
+//        executor2.setState("财务经理");
+//        executor2.setRemark("费用无误通过");
+//        executor2.setWorkOrderId(1);
+//        executors.add(executor2);
 
-        CirculationUser circulationUser2 = new CirculationUser();
-        circulationUser2.setUserId(100134);
-        circulationUser2.setRealName("李志超");
-        circulationUser2.setPhone("18249982421");
-        circulationUser2.setIdCard("372901199202297212");
-        circulationUser2.setState("经理审批");
-        circulationUser2.setRemark("费用无误通过");
-        circulationUser2.setWorkOrderId(1);
-        circulationUsers.add(circulationUser2);
-
-        List<CirculationUser> executors = new ArrayList<>();
-
-        CirculationUser executor1 = new CirculationUser();
-        executor1.setUserId(100229);
-        executor1.setRealName("刘德蕊");
-        executor1.setPhone("18198285631");
-        executor1.setIdCard("510102196408016563");
-        executor1.setState("分部会计");
-        executor1.setRemark("费用无误通过");
-        executor1.setWorkOrderId(1);
-        executors.add(executor1);
-
-        CirculationUser executor2 = new CirculationUser();
-        executor2.setUserId(100201);
-        executor2.setRealName("蔡明哲");
-        executor2.setPhone("18611812776");
-        executor2.setIdCard("230204198110311914");
-        executor2.setState("财务经理");
-        executor2.setRemark("费用无误通过");
-        executor2.setWorkOrderId(1);
-        executors.add(executor2);
-
-        String fileUrl = contractService.transferOaFinancial(circulationUsers, circulationUsers);
+        String fileUrl = contractService.transferOaFinancial(financialDto);
         return succeed(fileUrl);
     }