Explorar el Código

工作流返回完善,开票流程

ljy121 hace 1 año
padre
commit
f37df87f2c
Se han modificado 14 ficheros con 104 adiciones y 87 borrados
  1. 8 0
      zjugis-business/src/main/java/com/zjugis/business/bean/entity/ContractInvoice.java
  2. 2 2
      zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/controller/FlowContractInvoiceController.java
  3. 11 1
      zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/service/FlowContractInvoiceService.java
  4. 1 1
      zjugis-business/src/main/resources/templates/FlowContract/apply.ftl
  5. 7 2
      zjugis-business/src/main/resources/templates/FlowContract/js/apply.js
  6. 17 50
      zjugis-business/src/main/resources/templates/FlowContractInvoice/apply.ftl
  7. 25 0
      zjugis-business/src/main/resources/templates/FlowContractInvoice/js/apply.js
  8. 1 1
      zjugis-business/src/main/resources/templates/FlowProject/apply.ftl
  9. 1 1
      zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/model/SerialNumberDto.java
  10. 1 1
      zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/rpc/remote/WorkflowClient.java
  11. 9 2
      zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/utils/Constant.java
  12. 9 12
      zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/workflow/WorkflowModalService.java
  13. 11 13
      zjugis-workflow/src/main/java/com/zjugis/z_workflow/controller/TModalController.java
  14. 1 1
      zjugis-workflow/src/main/java/com/zjugis/z_workflow/service/CodeTemplateService.java

+ 8 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/entity/ContractInvoice.java

@@ -92,6 +92,14 @@ public class ContractInvoice extends BaseEntity {
      * 开票日期
      */
     private LocalDate invoiceDate;
+    /**
+     * 领票人
+     */
+    private String invoicePerson;
+    /**
+     * 领票人ID
+     */
+    private String invoicePersonId;
     /**
      * 发票类型 1-增值税专用发票 2-增值税普通发票 3-服务业通用机打发票 4-统一收款收据
      */

+ 2 - 2
zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/controller/FlowContractInvoiceController.java

@@ -35,8 +35,8 @@ public class FlowContractInvoiceController extends BaseController {
 
     @WorkFlow(isReceiveMaterial = true, isReceiveOpinion = true)
     @GetMapping("/apply")
-    public String apply(String activityTemplateId, String flowInstanceId, String userId) throws Exception {
-        Map<String, Object> map = invoiceFlowService.getFormParams(flowInstanceId);
+    public String apply(Integer isKp, String flowInstanceId) throws Exception {
+        Map<String, Object> map = invoiceFlowService.getFormParams(flowInstanceId,isKp);
         return resultPage(map);
     }
 

+ 11 - 1
zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/service/FlowContractInvoiceService.java

@@ -62,7 +62,7 @@ public class FlowContractInvoiceService {
     @Autowired
     AdminUserApi adminUserApi;
 
-    public Map<String, Object>  getFormParams(String flowInstanceId) {
+    public Map<String, Object>  getFormParams(String flowInstanceId,Integer isKp) {
         String userId = SecurityFrameworkUtils.getLoginUserId();
         CommonResult<IFlowInstance> flowResult = workflowClient.flowInstance(flowInstanceId);
         if(flowResult.isSuccess()){
@@ -79,6 +79,16 @@ public class FlowContractInvoiceService {
                 entity.setApplyWorkerDeptId(result.getCheckedData().getDeptId());
                 contractInvoiceService.insert(entity);
             }
+            if(isKp == 1){
+                if(entity.getInvoiceDate() == null){
+                    entity.setInvoiceDate(LocalDate.now());
+                }
+                if(StringUtils.isNotBlank(userId) && StringUtils.isBlank(entity.getInvoicePersonId())){
+                    CommonResult<AdminUserRespDTO> user = adminUserApi.getUser(userId);
+                    entity.setInvoicePerson(user.getCheckedData().getNickname());
+                    entity.setInvoicePersonId(userId);
+                }
+            }
             return createMap(entity);
         }
         return createModelMap();

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowContract/apply.ftl

@@ -568,7 +568,7 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css','/timeSelector/Tim
                           <td>已回款金额(元)</td>
                           <td>预计到款时间</td>
                           <td>说明</td>
-                          <td>操作</td>
+                          <td style="width: 170px;">操作</td>
                       </tr>
                       </thead>
                       <tbody class="tbody tbodyQjsq" name="milestone"></tbody>

+ 7 - 2
zjugis-business/src/main/resources/templates/FlowContract/js/apply.js

@@ -53,7 +53,7 @@
                             z.ui.alertWarning(res.msg);
                         }
                     },
-                    error: function () {
+                    error: function (res) {
                     }
                 })
             }
@@ -136,15 +136,20 @@
             all({success: false});
             return;
         }
+        var milestoneFlag = false;
         var milestoneList = new Array()
         for (let key of Object.keys(postData)) {
             let mealName = postData[key];
             if (key.startsWith("ContractMilestone")) {
                 mealName.contractId = contractId;
                 milestoneList.push(z.ui.form.childStringify(mealName));
-
+                milestoneFlag  =true;
             }
         }
+        if(istransfer && !milestoneFlag){
+            all({success: false, errorMsg: "请填写合同里程碑!"});
+            return;
+        }
         postData.milestoneList = milestoneList;
         z.ui.ajax({
             url: z.ui.comm.getEntranceUrl("/flow/contract/update"),

+ 17 - 50
zjugis-business/src/main/resources/templates/FlowContractInvoice/apply.ftl

@@ -627,51 +627,28 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
                       <table class="jbxx-table-info">
                           <tr>
                               <td class="th">
-                                  <div class="form-label">领票时间:</div>
+                                  <div class="form-label">开票人:</div>
                               </td>
                               <td>
                                   <div class="form-group">
                                       <div class="form-item">
-                                          <div class="z-comp-input" name="contractInvoice$lpsj">
-                                              <input type="text" value="${formEntity.lpsj!}">
+                                          <input type="hidden" name="contractInvoice$invoicePersonId" value="${formEntity.invoicePersonId!}">
+                                          <div class="z-comp-input" name="contractInvoice$invoicePerson">
+                                              <input type="text" value="${formEntity.invoicePerson!}">
                                           </div>
                                       </div>
                                   </div>
                               </td>
                               <td class="th">
-                                  <div class="form-label">票人:</div>
+                                  <div class="form-label">票人:</div>
                               </td>
                               <td>
                                   <div class="form-group">
-                                      <div class="form-item">
-                                          <div class="z-comp-input" name="contractInvoice$spr">
-                                              <input type="text" value="${formEntity.spr!}">
-                                          </div>
-                                      </div>
-                                  </div>
-                              </td>
-                          </tr>
-                          <tr>
-                              <td class="th">
-                                  <div class="form-label">客户签收人:</div>
-                              </td>
-                              <td>
-                                  <div class="form-group">
-                                      <div class="form-item">
-                                          <div class="z-comp-input" name="contractInvoice$khqsr">
-                                              <input type="text" value="${formEntity.khqsr!}">
-                                          </div>
-                                      </div>
-                                  </div>
-                              </td>
-                              <td class="th">
-                                  <div class="form-label">签收日期:</div>
-                              </td>
-                              <td>
-                                  <div class="form-group">
-                                      <div class="form-item">
-                                          <div class="z-comp-input" name="contractInvoice$qsrq">
-                                              <input type="text" value="${formEntity.qsrq!}">
+                                      <div class="z-comp-selecttree" name="lpr">
+                                          <input type="hidden" name="contractInvoice$lprId" value="${formEntity.lprId!}">
+                                          <input type="hidden" name="contractInvoice$lpr" value="${formEntity.lpr!}">
+                                          <div class="z-inputselect-bar">
+                                              <span> ${formEntity.lpr!} </span><i></i>
                                           </div>
                                       </div>
                                   </div>
@@ -679,31 +656,19 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
                           </tr>
                           <tr>
                               <td class="th">
-                                  <div class="form-label">送达方式:</div>
+                                  <div class="form-label">开票日期:</div>
                               </td>
                               <td>
                                   <div class="form-group">
                                       <div class="form-item">
-                                          <div class="z-comp-input" name="contractInvoice$sdfs">
-                                              <input type="text" value="${formEntity.sdfs!}">
-                                          </div>
-                                      </div>
-                                  </div>
-                              </td>
-                          </tr>
-                          <tr>
-                              <td class="th">
-                                  <div class="form-label">回执备注:</div>
-                              </td>
-                              <td colspan="3">
-                                  <div class="form-group">
-                                      <div class="form-item" style="margin: 10px 0;">
-                                          <div class="z-comp-textarea" name="contractInvoice$hzbz">
-                                              <textarea>${formEntity.hzbz!}</textarea>
+                                          <div class="z-comp-date" name="contractInvoice$invoiceDate">
+                                              <input type="text" value="${formEntity.invoiceDate!}">
                                           </div>
                                       </div>
                                   </div>
                               </td>
+                              <td class="th"></td>
+                              <td></td>
                           </tr>
                       </table>
                   </div>
@@ -806,5 +771,7 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
     <script>
         window.returnMoneyList = '${returnMoneyListJson!}';
         window.contractList = '${contractListJson!}';
+        window.curUserId = '${currentUserId!}' ;
+        window.curUser = '${currentUser!}' ;
     </script>
 </@w.workFlow>

+ 25 - 0
zjugis-business/src/main/resources/templates/FlowContractInvoice/js/apply.js

@@ -1,6 +1,7 @@
 (function () {
     var lists = [];
     let viewState = z.ui.comm.getUrlParam("_o");
+    let isKp = z.ui.comm.getUrlParam("kp");
     let read = z.ui.comm.getUrlParam("read");
     var totalContractAmount = 0;
     var totalReturnAmount =0;
@@ -32,12 +33,36 @@
     function initData(){
         initPayCompany();
         initInvoiceCompany();
+        initLpr();
+    }
+    function initLpr() {
+        z.ui.ajax({
+            type: "get",
+            url: "/common/user-tree",
+            data: {},
+            success: function (res) {
+                if (res && res.length > 0) {
+                    selecttree("[name='lpr']", res, clickLpr, allowChildClick)
+                }
+            },
+            error: function () {
+            }
+        })
+    }
+
+    function clickLpr(even, treeId, treeNode) {
+        if (treeNode.type === 3) {
+            $("[name='contractInvoice$lpr']").val(treeNode.name);
+            $("[name='contractInvoice$lprId']").val(treeNode.id);
+        }
     }
 
     function initReturnReg(){
         let register = z.ui.comm.getUrlParam("registerReturn");
         if(register === '1'){
             $("[name=addData]").show();
+            $("[name=return-header]").show();
+            $("[name=return-body]").show();
         }
     }
 

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowProject/apply.ftl

@@ -286,7 +286,7 @@
               <td>里程碑信息</td>
               <td>计划完成时间</td>
               <td>项目进度</td>
-              <td>操作</td>
+              <td style="width: 170px;">操作</td>
             </tr>
             </thead>
             <tbody class="tbody tbodyQjsq" name="milestone"></tbody>

+ 1 - 1
zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/model/SerialNumberDto.java

@@ -20,5 +20,5 @@ public class SerialNumberDto {
 
     private String deptId;
 
-    private Integer isPreview;
+    private Integer isPreview = 0;
 }

+ 1 - 1
zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/rpc/remote/WorkflowClient.java

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 public interface WorkflowClient {
 
     @GetMapping("/TModal/main")
-    String main(@RequestParam("param") String param);
+    CommonResult<String> main(@RequestParam("param") String param);
 
     @GetMapping("/TMobileModalApi/main")
     String mobileMain(@RequestParam("param") String param);

+ 9 - 2
zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/utils/Constant.java

@@ -1,9 +1,13 @@
 package com.zjugis.framework.workflow.utils;
 
 import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import java.util.concurrent.Future;
 
+import static com.zjugis.framework.common.exception.enums.GlobalErrorCodeConstants.UNAUTHORIZED;
+import static com.zjugis.framework.common.exception.util.ServiceExceptionUtil.exception;
+
 public class Constant {
 
 	/**
@@ -48,7 +52,10 @@ public class Constant {
 	}
 
 	public static String getUserId() {
-//	    return "dc794fe0-66fe-4b1d-9273-f747950b27c3";
-        return SecurityFrameworkUtils.getLoginUserId();
+		String loginUserId = SecurityFrameworkUtils.getLoginUserId();
+		if(StringUtils.isBlank(loginUserId)){
+			throw exception(UNAUTHORIZED);
+		}
+		return loginUserId;
 	}
 }

+ 9 - 12
zjugis-framework/zjugis-spring-boot-starter-workflow/src/main/java/com/zjugis/framework/workflow/workflow/WorkflowModalService.java

@@ -1,6 +1,7 @@
 package com.zjugis.framework.workflow.workflow;
 
 import com.alibaba.fastjson2.JSON;
+import com.zjugis.framework.common.pojo.CommonResult;
 import com.zjugis.framework.workflow.rpc.remote.WorkflowClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -35,18 +36,14 @@ public class WorkflowModalService {
 		ExecutorService executorService = Executors.newFixedThreadPool(1);
 		Callable<Map> task = () -> {
 			Map rtnMap = null;
-			try {
-				rtnMap = new HashMap() {{
-					put("URL", workflowUrl);
-					put("CHILD", param.get("CHILD"));
-				}};
-				String workFlowStr = workflowClient.main(JSON.toJSONString(param));
-				Map map = JSON.parseObject(workFlowStr, Map.class);
-				if (!CollectionUtils.isEmpty(map)) {
-					rtnMap.putAll(map);
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
+			rtnMap = new HashMap() {{
+				put("URL", workflowUrl);
+				put("CHILD", param.get("CHILD"));
+			}};
+			CommonResult<String> main = workflowClient.main(JSON.toJSONString(param));
+			Map map = JSON.parseObject(main.getCheckedData(), Map.class);
+			if (!CollectionUtils.isEmpty(map)) {
+				rtnMap.putAll(map);
 			}
 			return rtnMap;
 		};

+ 11 - 13
zjugis-workflow/src/main/java/com/zjugis/z_workflow/controller/TModalController.java

@@ -2,6 +2,7 @@ package com.zjugis.z_workflow.controller;
 
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
+import com.zjugis.framework.common.pojo.CommonResult;
 import com.zjugis.framework.workflow.exception.BusinessException;
 import com.zjugis.framework.workflow.model.BaseController;
 import com.zjugis.framework.workflow.utils.Constant;
@@ -84,27 +85,24 @@ public class TModalController extends BaseController {
 
 	@ResponseBody
 	@RequestMapping
-	public String main(String param) throws Exception {
-
-
+	public CommonResult<String> main(String param) {
 		Map<String, String> paramMap = JSON.parseObject(param, Map.class);
-        if(paramMap.containsKey("param")){
-            Map<String,Object> params = JSON.parseObject(paramMap.get("param"));
-            Map<String, Object> map = splitAllHtml(params);
-            return ok(map);
-        } else {
-            Map<String, Object> map = splitAllHtml(paramMap);
-            return ok(map);
-        }
+		if (paramMap.containsKey("param")) {
+			Map<String, Object> params = JSON.parseObject(paramMap.get("param"));
+			Map<String, Object> map = splitAllHtml(params);
+			return CommonResult.success(ok(map));
+		} else {
+			Map<String, Object> map = splitAllHtml(paramMap);
+			return CommonResult.success(ok(map));
+		}
 	}
 
 	/**
 	 * 生成工作流页面
 	 *
 	 * @param paramMap 调用端参数
-	 * @throws Exception
 	 */
-	public Map<String, Object> splitAllHtml(Map paramMap) throws Exception {
+	public Map<String, Object> splitAllHtml(Map paramMap) {
 		Map<String, Object> rtnMap = new HashMap<>();
 		// 流程实例
 		MasterPageUtil util = new MasterPageUtil(paramMap);

+ 1 - 1
zjugis-workflow/src/main/java/com/zjugis/z_workflow/service/CodeTemplateService.java

@@ -444,7 +444,7 @@ public class CodeTemplateService {
             }
         } catch(Exception ex){
             log.error(ex.getMessage(),ex);
-            throw new Exception("业务编号生成失败!");
+            throw new Exception(ex.getMessage());
         } finally {
             lock.unlock();//释放锁
         }