瀏覽代碼

采购合同

ljy121 1 年之前
父節點
當前提交
315a1d83fa

+ 7 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/contract/controller/FlowContractController.java

@@ -32,6 +32,13 @@ public class FlowContractController extends BaseController {
         return resultPage(map);
     }
 
+    @WorkFlow(isReceiveMaterial = true, isReceiveOpinion = true)
+    @GetMapping("/purchase-apply")
+    public String purchaseApply(String activityTemplateId, String flowInstanceId, String userId) throws Exception {
+        Map<String, Object> map = contractFlowService.getPurchaseFormParams(flowInstanceId);
+        return resultPage(map);
+    }
+
     @PostMapping("/update")
     public String update(@ParamModel Contract contract) {
         return success(contractFlowService.updateById(contract));

+ 26 - 2
zjugis-business/src/main/java/com/zjugis/business/flow/contract/service/FlowContractService.java

@@ -21,6 +21,7 @@ import com.zjugis.framework.workflow.utils.Select;
 import com.zjugis.module.system.api.dict.DictDataApi;
 import com.zjugis.module.system.api.dict.dto.DictDataRespDTO;
 import com.zjugis.module.system.api.user.AdminUserApi;
+import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -67,8 +68,8 @@ public class FlowContractService {
                     entity.setInstanceId(flowInstanceId);
                     entity.setApplicantId(userId);
                     entity.setFlowStatus(FlowStatusConstants.FLOW_NOT_START);
-//                    CommonResult<AdminUserRespDTO> result = adminUserApi.getUser(userId);
-//                    entity.setApplicantName(result.getCheckedData().getNickname());
+                    CommonResult<AdminUserRespDTO> result = adminUserApi.getUser(userId);
+                    entity.setApplicantName(result.getCheckedData().getNickname());
                     contractService.insert(entity);
                 }
             List<ContractAreaManager> contractAreaManagers = contractAreaManagerMapper.selectList(ContractAreaManager::getContractId, entity.getId());
@@ -151,4 +152,27 @@ public class FlowContractService {
         }
         contractAreaManagerMapper.insertBatch(insertList);
     }
+
+    public Map<String, Object> getPurchaseFormParams(String flowInstanceId) {
+        String userId = SecurityFrameworkUtils.getLoginUserId();
+        CommonResult<IFlowInstance> flowResult = workflowClient.flowInstance(flowInstanceId);
+        if(flowResult.isSuccess()){
+            Contract entity = contractService.selectByInstanceId(flowInstanceId);
+
+            if(Objects.isNull(entity)){
+                entity = new Contract();
+                entity.setInstanceId(flowInstanceId);
+                entity.setApplicantId(userId);
+                entity.setMainType(4);
+                entity.setFlowStatus(FlowStatusConstants.FLOW_NOT_START);
+                CommonResult<AdminUserRespDTO> result = adminUserApi.getUser(userId);
+                entity.setApplicantName(result.getCheckedData().getNickname());
+                contractService.insert(entity);
+            }
+            List<ContractAreaManager> contractAreaManagers = contractAreaManagerMapper.selectList(ContractAreaManager::getContractId, entity.getId());
+            entity.setAreaManagerId(contractAreaManagers.stream().map(ContractAreaManager::getAreaManagerId).collect(Collectors.joining(",")));
+            return createMap(entity);
+        }
+        return createModelMap();
+    }
 }

+ 416 - 0
zjugis-business/src/main/resources/templates/FlowContract/purchaseApply.ftl

@@ -0,0 +1,416 @@
+<@w.workFlow javascripts=['/FlowContract/js/apply.js','/flow/js/formCommon.js', '/OwCommon/OwCommon.js']
+styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
+    <div class="z-position form-boss ow-tabs" name="flow-form">
+        <ul class="ow-tab-nav oa_tabBox">
+            <li z-tabindex="0" class="ow-tab-item on" data-name="jbxx">基础信息</li>
+            <li z-tabindex="1" class="ow-tab-item" data-name="yj">审批意见</li>
+        </ul>
+
+        <div class="ow-tab-scroll">
+            <div class="ow-tab-content" name="jbxx">
+                <div class="z-form-row" style="display: none;">
+                    <input type="text" value="${formEntity.instanceId!}" name="contract$instanceId">
+                    <input type="text" value="${formEntity.id!}" name="contract$id">
+                </div>
+                <div class="form-title" style="margin-top: 0px;">
+                    <div class="form-icon">
+                        <img src="/imgs/titleIcon.png" alt="">
+                        <span>基本信息</span>
+                    </div>
+                    <div class="form-btn">
+                    </div>
+                </div>
+                <div class="jbxx-box jbxx-box-flex">
+                    <table class="jbxx-table-info">
+                        <tr>
+                            <td class="th">
+                                <div class="form-label">合同名称:</div>
+                            </td>
+                            <td colspan="3">
+                                <div class="form-group">
+                                    <div class="form-item">
+                                        <div class="z-comp-input" name="contract$name">
+                                            <input type="text" value="${formEntity.name!}">
+                                        </div>
+                                    </div>
+                                </div>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="th">
+                                <div class="form-label">合同编号:</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="form-item btns-form-box">
+                                        <div class="z-comp-input" name="contract$contractNumber">
+                                            <input type="text" value="${formEntity.contractNumber!}">
+                                            <div id="generateSerial" style="width: 50px; " name="generateSerial">
+                                                <div class="btn btn-sm btn-primary">生成</div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </td>
+                            <td class="th">
+                                <div class="form-label">合同金额(元):</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="form-item btns-form-box">
+                                        <div class="z-comp-input" name="contract$contractAmount">
+                                            <input type="text" value="${formEntity.contractAmount!}">
+                                        </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="form-item">
+                                            <div class="z-comp-input z-readonly" name="contract$mainType">
+                                                <input type="text" value="${mainType!}">
+                                            </div>
+                                        </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-select" name="contract$secondType"
+                                             data='${secondTypeList!}'>
+                                            <div class="z-inputselect-bar">
+                                                <span> ${secondType!} </span><i></i>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </td>
+                        </tr>
+                        <tr>
+                            <td class="th">
+                                <div class="form-label">合同拿出日期:</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="z-comp-date" name="contract$contractOn">
+                                        <input type="text" value="${formEntity.contractOn!}">
+                                    </div>
+                                </div>
+                            </td>
+                            <td class="th">
+                                <div class="form-label">合同拿回日期:</div>
+                            </td>
+                            <td>
+                                <div class="form-group">
+                                    <div class="z-comp-date" name="contract$contractOff">
+                                        <input type="text" value="${formEntity.contractOff!}">
+                                    </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-select" name="contract$isSign"
+                                             data='${isSignList!}'>
+                                            <div class="z-inputselect-bar">
+                                                <span> ${isSign!} </span><i></i>
+                                            </div>
+                                        </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-select" name="contract$signWay"
+                                             data='${signWayList!}'>
+                                            <div class="z-inputselect-bar">
+                                                <span> ${signWay!} </span><i></i>
+                                            </div>
+                                        </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-radio" name="contract$isBusinessUnit">
+                                            <div class="z-radio-item <#if (formEntity.isBusinessUnit!-1) == 1>checked</#if>" value="1"><i></i>是</div>
+                                            <div class="z-radio-item <#if (formEntity.isBusinessUnit!-1) == 0>checked</#if>" value="0"><i></i>否</div>
+                                        </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="contract$paymentTerms">
+                                            <textarea>${formEntity.paymentTerms!}</textarea>
+                                        </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="contract$specialClause">
+                                            <textarea>${formEntity.specialClause!}</textarea>
+                                        </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="contract$bz">
+                                            <textarea>${formEntity.bz!}</textarea>
+                                        </div>
+                                    </div>
+                                </div>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+                <div class="form-title">
+                    <div class="form-icon">
+                        <img src="/imgs/titleIcon.png" alt="">
+                        <span>甲乙方信息</span>
+                    </div>
+                    <div class="form-btn">
+                    </div>
+                </div>
+                <div class="qjsjxx-box">
+                    <div class="jbxx-box">
+                        <table class="jbxx-table-info">
+                            <tr>
+                                <td>
+                                    <div class="form-label">委托方:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="z-comp-selecttree" name="client">
+                                            <input type="hidden" name="contract$clientId" value="${formEntity.clientId!}">
+                                            <input type="hidden" name="contract$clientName" value="${formEntity.clientName!}">
+                                            <div class="z-inputselect-bar">
+                                                <span> ${formEntity.clientName!} </span><i></i>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-label">委托方编号:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="form-item">
+                                            <div class="z-comp-input" name="contract$clientNumber">
+                                                <input type="text" value="${formEntity.clientNumber!}">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <div class="form-label">受托方:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="z-comp-selecttree" name="assignee">
+                                            <input type="hidden" name="contract$assigneeId" value="${formEntity.assigneeId!}">
+                                            <input type="hidden" name="contract$assigneeName" value="${formEntity.assigneeName!}">
+                                            <div class="z-inputselect-bar">
+                                                <span> ${formEntity.assigneeName!} </span><i></i>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-label">区域经理:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="z-comp-selecttree" name="areaManager">
+                                            <input type="hidden" name="contract$areaManagerId" value="${formEntity.areaManagerId!}">
+                                            <input type="hidden" name="contract$areaManager" value="${formEntity.areaManager!}">
+                                            <div class="z-inputselect-bar">
+                                                <span></span><i></i>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                                <#-- <td>--> <#-- <div class="form-label">合同金额:
+          </div>--> <#-- </td>--> <#-- <td>--> <#-- <div class="form-group">--> <#-- <div class="form-item">--> <#-- <div class="z-comp-input" name="contract$contractAmount">--> <#-- <input type="text" value="${formEntity.contractAmount!}">--> <#-- </div>--> <#-- </div>--> <#-- </div>--> <#-- </td>--> </tr>
+                        </table>
+                    </div>
+                </div>
+                <div class="form-title">
+                    <div class="form-icon">
+                        <img src="/imgs/titleIcon.png" alt="">
+                        <span>到期提醒</span>
+                    </div>
+                    <div class="form-btn">
+                    </div>
+                </div>
+                <div class="qjsjxx-box">
+                    <div class="jbxx-box">
+                        <table class="jbxx-table-info">
+                            <tr>
+                                <td>
+                                    <div class="form-label">是否到期提醒:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="form-item" style="margin: 10px 0;">
+                                            <div class="z-comp-radio" name="contract$isRemindExpiry">
+                                                <div class="z-radio-item <#if (formEntity.isRemindExpiry!-1) == 1>checked</#if>" value="1"><i></i>是</div>
+                                                <div class="z-radio-item <#if (formEntity.isRemindExpiry!-1) == 0>checked</#if>" value="0"><i></i>否</div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-label">合同预计签订时间:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="form-item" style="margin: 10px 0;">
+                                            <div class="z-comp-date" name="contract$planSignDate">
+                                                <input type="text" value="${formEntity.planSignDate!}">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                </div>
+                <div class="form-title">
+                    <div class="form-icon">
+                        <img src="/imgs/titleIcon.png" alt="">
+                        <span>项目信息</span>
+                    </div>
+                    <div class="form-btn">
+                    </div>
+                </div>
+                <div class="qjsjxx-box">
+                    <div class="jbxx-box">
+                        <table class="jbxx-table-info">
+                            <tr>
+                                <td>
+                                    <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-input z-readonly">
+                                                <input type="text" value="${(project.xmmc)!}">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <div class="form-label">项目编号:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="form-item" style="margin: 10px 0;">
+                                            <div class="z-comp-input z-readonly">
+                                                <input type="text" value="${(project.xmbh)!}">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                                <td>
+                                    <div class="form-label">责任部门:</div>
+                                </td>
+                                <td>
+                                    <div class="form-group">
+                                        <div class="form-item" style="margin: 10px 0;">
+                                            <div class="z-comp-input z-readonly">
+                                                <input type="text" value="${(project.zrbm)!}">
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                </div>
+            </div>
+            <div class="ow-tab-content" name="yj">
+                <#if WORKFLOW.OPINION! !="">
+                    <div class="form-title">
+                        <div class="form-icon">
+                            <img src="/imgs/titleIcon.png" alt="">
+                            <span>审批意见</span>
+                        </div>
+                        <div class="form-btn">
+                        </div>
+                    </div>
+                    <div class="qjsjxx-box">
+                        <div class="z-form-wrap" name="opinionsDiv">
+                            <div class="z-form-row"> ${WORKFLOW.OPINION!} </div>
+                        </div>
+                    </div>
+                </#if>
+            </div>
+        </div>
+    </div>
+    <style type="text/css">
+        .jbxx-box-flex .th {
+            width: 160px !important;
+        }
+        .jbxx-box-flex>table>tbody>tr {
+            display: flex;
+            height: auto !important;
+        }
+        .jbxx-box-flex>table>tbody>tr>td {
+            padding: 10px 10px;
+        }
+        .jbxx-box-flex>table>tbody>tr>td:not(.th) {
+            flex: 1;
+        }
+    </style>
+</@w.workFlow>