Quellcode durchsuchen

用款增加分包查看,部门数据查询修改

yewc vor 1 Jahr
Ursprung
Commit
18d0cec324

+ 5 - 1
client/src/views/OaSystem/financialManagement/loan/deptLoan.vue

@@ -69,7 +69,11 @@
         <el-table-column prop="worker" label="借款人" width="120" />
         <el-table-column prop="loanAmount" label="借款总金额" width="120" />
         <el-table-column prop="verifyAmount" label="已核销金额" width="120" />
-        <el-table-column prop="loanBalance" label="借款余额" width="120" />
+        <el-table-column prop="loanBalance" label="借款余额" width="120">
+          <template #default="scope">
+            {{ scope.row['loanAmount'] - scope.row['verifyAmount'] }}
+          </template>
+        </el-table-column>
         <el-table-column prop="agreedPayTime" label="约定付款期限" width="120" />
         <el-table-column prop="verifyDate" label="核销时间" width="120" />
         <el-table-column show-overflow-tooltip="true" prop="description" label="借款说明" />

+ 0 - 1
client/src/views/OaSystem/financialManagement/loan/loan.vue

@@ -226,7 +226,6 @@ const tableData = ref<Array<any>>([])
 const total = ref<number>()
 const searchHandle: () => void = () => {
   queryLoanListAjax()
-  getOverview()
 }
 const queryLoanListAjax = async (): Promise<void> => {
   const urlApi = `/loan/page`

+ 5 - 1
client/src/views/OaSystem/mineCenter/rightChild/myLoan.vue

@@ -63,7 +63,11 @@
         <el-table-column prop="applyDate" label="申请时间" width="120" />
         <el-table-column prop="loanAmount" label="借款总金额" width="120" />
         <el-table-column prop="verifyAmount" label="已核销金额" width="120" />
-        <el-table-column prop="loanBalance" label="借款余额" width="120" />
+        <el-table-column prop="loanBalance" label="借款余额" width="120">
+          <template #default="scope">
+            {{ scope.row['loanAmount'] - scope.row['verifyAmount'] }}
+          </template>
+        </el-table-column>
         <el-table-column prop="agreedPayTime" label="约定付款期限" />
         <el-table-column prop="isVerify" label="核销状态">
           <template #default="scope">

+ 9 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/AssetDto.java

@@ -59,5 +59,14 @@ public class AssetDto extends PageParam {
     @TableField(exist = false)
     private List<String> userList;
     @Schema(description = "项目id")
+    @TableField(exist = false)
     private Set<String> projectIdList;
+
+    @Schema(description = "部门id")
+    @TableField(exist = false)
+    private Set<String> deptIdList;
+
+    @Schema(description = "项目id")
+    @TableField(exist = false)
+    private List<String> projectIdLists;
 }

+ 9 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/LoanDto.java

@@ -8,6 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDate;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author ljy
@@ -39,4 +40,12 @@ public class LoanDto extends PageParam {
     @Schema(description = "人员id")
     @TableField(exist = false)
     private List<String> userList;
+
+    @Schema(description = "项目id")
+    @TableField(exist = false)
+    private List<String> projectIds;
+
+    @Schema(description = "项目部门id")
+    @TableField(exist = false)
+    private Set<String> UserDeptList;
 }

+ 3 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/entity/ContractApply.java

@@ -96,5 +96,8 @@ public class ContractApply extends BaseEntity {
 
     private String bz;
 
+    @TableField(exist = false)
+    private String projectName;
+
 }
 

+ 10 - 1
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/service/UseMoneyServiceImpl.java

@@ -423,14 +423,23 @@ public class UseMoneyServiceImpl implements UseMoneyService {
         ContractSub flowContractSub=null;
         if (StringUtils.isNotBlank(entity.getContractId())) {
             flowContractSub = flowContractSubService.selectByApplyId(entity.getContractId());
+            ContractApply apply=subcontractApplyMapper.selectById(entity.getContractId());
+            Project project = projectService.selectById(apply.getProjectId());
+            apply.setProjectName(project.getXmmc());
+            map.put("glht", apply!=null?1:0);
+            map.put("glhtlist", JSON.toJSONString(apply));//关联分包外包
+            map.put("contractType", apply!=null?apply.getApplyType():0);
             if(flowContractSub!=null){
-                ContractApply apply=subcontractApplyMapper.selectById(entity.getContractId());
                 map.put("contractType", flowContractSub.getContractType());
                 map.put("name", flowContractSub.getName());
                 map.put("contractAmount", flowContractSub.getContractAmount());
                 map.put("payAmount", apply.getPayAmount());
                 map.put("paymentTerms", flowContractSub.getPaymentTerms());
             }
+        }else{
+            map.put("glht", 0);
+            map.put("glhtlist", JSON.toJSONString(""));//关联分包外包
+            map.put("contractType", 0);
         }
         map.put("formEntity", entity);
         map.put("sqd", sqd);

+ 7 - 7
zjugis-business/src/main/java/com/zjugis/business/service/impl/AssetProcureDetailsServiceImpl.java

@@ -22,6 +22,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
+import static com.zjugis.framework.common.util.collection.CollectionUtils.convertList;
+
 /**
  * 项目表(Project)表服务实现类
  *
@@ -41,7 +43,8 @@ public class AssetProcureDetailsServiceImpl implements AssetProcureDetailsServic
     private CommonService commonService;
     @Resource
     private DeptApi deptApi;
-
+    @Resource
+    private ProjectService projectService;
 
     @Override
     public Page<AssetProcureDetailRespense> page(Page<AssetProcureDetailRespense> page, AssetDto project) {
@@ -52,12 +55,9 @@ public class AssetProcureDetailsServiceImpl implements AssetProcureDetailsServic
         }
         if(project.getCustodianDept()!=null){
             Set<String> dept=commonService.getDeptCondition(project.getCustodianDept());
-            List<String> projectId=new ArrayList<>();
-            CommonResult<List<AdminUserRespDTO>> userList=adminUserApi.getUserListByDeptIds(dept);
-            for(AdminUserRespDTO user:userList.getData()){
-                projectId.add(user.getId());
-            }
-            project.setUserList(projectId);
+            project.setDeptIdList(dept);
+            List<Project> projects = projectService.selectByDeptId(project.getCustodianDept());
+            project.setProjectIdLists(convertList(projects, Project::getId));
             project.setCustodianDept(null);
         }
         Page<AssetProcureDetailRespense> result=assetProcureDetailMapper.page(page,project);

+ 17 - 6
zjugis-business/src/main/java/com/zjugis/business/service/impl/LoanServiceImpl.java

@@ -3,10 +3,12 @@ package com.zjugis.business.service.impl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zjugis.business.bean.dto.LoanDto;
 import com.zjugis.business.bean.entity.Loan;
+import com.zjugis.business.bean.entity.Project;
 import com.zjugis.business.bean.response.LoanRespense;
 import com.zjugis.business.mapper.LoanMapper;
 import com.zjugis.business.service.CommonService;
 import com.zjugis.business.service.LoanService;
+import com.zjugis.business.service.ProjectService;
 import com.zjugis.framework.common.pojo.CommonResult;
 import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
 import com.zjugis.module.system.api.user.AdminUserApi;
@@ -19,6 +21,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static com.zjugis.framework.common.util.collection.CollectionUtils.convertList;
+
 /**
  * 借款申请表(LOAN)表服务实现类
  *
@@ -35,16 +39,16 @@ public class LoanServiceImpl implements LoanService {
 
     @Resource
     private AdminUserApi adminUserApi;
+
+    @Resource
+    private ProjectService projectService;
     @Override
     public Page<Loan> page(LoanDto loan) {
         if(loan.getDeptId()!=null){
             Set<String> dept=commonService.getDeptCondition(loan.getDeptId());
-            List<String> projectId=new ArrayList<>();
-            CommonResult<List<AdminUserRespDTO>> userList=adminUserApi.getUserListByDeptIds(dept);
-            for(AdminUserRespDTO user:userList.getData()){
-                projectId.add(user.getId());
-            }
-            loan.setUserList(projectId);
+            loan.setUserDeptList(dept);
+            List<Project> projects = projectService.selectByDeptId(loan.getDeptId());
+            loan.setProjectIds(convertList(projects, Project::getId));
             loan.setDeptId(null);
         }
         Page<Loan> page = new Page<>(loan.getPageNo(),loan.getPageSize());
@@ -111,6 +115,13 @@ public class LoanServiceImpl implements LoanService {
 
     @Override
     public LoanRespense overview(LoanDto loan) {
+        if(loan.getDeptId()!=null){
+            Set<String> dept=commonService.getDeptCondition(loan.getDeptId());
+            loan.setUserDeptList(dept);
+            List<Project> projects = projectService.selectByDeptId(loan.getDeptId());
+            loan.setProjectIds(convertList(projects, Project::getId));
+            loan.setDeptId(null);
+        }
         return loanMapper.overview(loan);
     }
 }

+ 19 - 4
zjugis-business/src/main/resources/mapper/oracle/AssetProcureDetailMapper.xml

@@ -2,11 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zjugis.business.mapper.AssetProcureDetailsMapper">
     <select id="page" resultType="com.zjugis.business.bean.response.AssetProcureDetailRespense">
-        SELECT T.*,T1.USER_NICKNAME AS userNickname,T2.XMMC AS projectName,T2.XMBH AS projectNo,T2.ZRBM_ID AS projectDept,
+        SELECT T.*,T1.USER_NICKNAME AS userNickname,
+               case when T2.XMMC is not null then T2.XMMC else T3.XMMC end AS projectName,
+               case when T2.XMBH is not null then T2.XMBH else T3.XMBH end  AS projectNo,
+               case when T2.ZRBM_ID is not null then T2.ZRBM_ID else T3.ZRBM_ID end  AS projectDept,
                T1.INSTANCE_ID AS instanceId
         FROM ASSET_PROCURE_DETAIL T
         LEFT JOIN ASSET_PROCURE T1 ON T.ASSET_ID=T1.ID
         LEFT JOIN PROJECT T2 ON T1.PROJECT_ID=T2.ID
+        LEFT JOIN PROJECT T3 ON T.PROJECT_ID=T3.ID
         <where>
             T.ISVALID = 1 and T1.ISVALID = 1  AND T1.FLOW_STATUS=90
             <if test="params != null and params.state != null and params.state != ''">
@@ -49,11 +53,22 @@
                 <bind name="custodianDeptName" value="'%'+params.custodianDeptName+'%'"/>
                 AND T.CUSTODIAN_DEPT_NAME like #{custodianDeptName}
             </if>
-            <if test="params != null  and params.userList != null and params.userList.size > 0">
-                AND T.CUSTODIAN in
-                <foreach collection="params.userList" item="item" open="(" close=")" separator=",">
+            <if test="params != null  and params.deptIdList != null and params.deptIdList.size > 0">
+                AND (T.CUSTODIAN_DEPT in
+                <foreach collection="params.deptIdList" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+                    or
+                T.project_id in
+                <foreach collection="params.projectIdLists" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+                or
+                T1.project_id in
+                <foreach collection="params.projectIdLists" item="item" open="(" close=")" separator=",">
                     #{item}
                 </foreach>
+                )
             </if>
             <if test="params != null  and params.projectIdList != null  and params.projectIdList.size > 0">
                 AND T2.ZRBM_ID in

+ 28 - 3
zjugis-business/src/main/resources/mapper/oracle/LoanMapper.xml

@@ -30,12 +30,21 @@
 <!--            <if test="params != null and params.deptId != null and params.deptId != ''">-->
 <!--                AND UD.DEPT_ID = #{params.deptId}-->
 <!--            </if>-->
-            <if test="params != null  and params.userList != null and params.userList.size > 0">
-                AND L.worker_id in
-                <foreach collection="params.userList" item="item" open="(" close=")" separator=",">
+            <if test="params != null  and params.UserDeptList != null and params.UserDeptList.size > 0">
+                AND (D.ID in
+                <foreach collection="params.UserDeptList" item="item" open="(" close=")" separator=",">
                     #{item}
                 </foreach>
+                    or
+                <if test="params != null  and params.projectIds != null and params.projectIds.size > 0">
+                     L.project_id in
+                    <foreach collection="params.projectIds" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
+                )
             </if>
+
         </where>
         ORDER BY
         <choose>
@@ -63,6 +72,8 @@
         sum(case when L.FLOW_STATUS =90 then LOAN_AMOUNT else 0 end ) as totalAmount,
         sum(case when L.IS_VERIFY =1 then LOAN_AMOUNT else 0 end ) as hexiaoAmount
         FROM LOAN L
+        LEFT JOIN ZJUGIS_OA.SYSTEM_USERS UD ON UD.ID = L.WORKER_ID
+        LEFT JOIN ZJUGIS_OA.SYSTEM_DEPT D ON D.ID_BAK = UD.DEPT_ID_BAK
         <where>
             L.ISVALID = 1 and (FLOW_STATUS=90 or IS_VERIFY=1)
             <if test="params != null and params.loanNumber != null and params.loanNumber != ''">
@@ -84,6 +95,20 @@
             <if test="params != null and params.flowStatus != null">
                 AND L.FLOW_STATUS = #{params.flowStatus}
             </if>
+            <if test="params != null  and params.UserDeptList != null and params.UserDeptList.size > 0">
+                AND (D.ID in
+                <foreach collection="params.UserDeptList" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+                or
+                <if test="params != null  and params.projectIds != null and params.projectIds.size > 0">
+                    L.project_id in
+                    <foreach collection="params.projectIds" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
+                )
+            </if>
         </where>
     </select>
 </mapper>

+ 22 - 0
zjugis-business/src/main/resources/templates/UseMoney/index.ftl

@@ -317,6 +317,26 @@
               </div>
             </td>
           </tr>
+          <#if (glht!0)==1>
+            <tr>
+              <td class="th">
+                <#if (contractType!0)==1>
+                  <div class="form-label">关联分包合同:</div>
+                <#else>
+                  <div class="form-label">关联外包合同:</div>
+                </#if>
+              </td>
+              <td colspan="3">
+                <div class="form-group">
+                  <div class="form-item" style="margin: 10px 0;">
+                    <div class="z-comp-textarea" style="height: 40px;">
+                      <div id="glhthtml" style="margin: 10px;cursor: pointer;"></div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+            </tr>
+          </#if>
         </table>
       </div>
       <div id="detailTable">
@@ -373,6 +393,8 @@
   <script language="javascript">
   ;
   (function() {})();
+  window.url = '${z_work_flow}'
+  window.glhtlist = '${glhtlist!}'
   </script>
   <style type="text/css">
     .qjsjxx-box .form-table-info tr:nth-child(1){

+ 14 - 0
zjugis-business/src/main/resources/templates/UseMoney/js/index.js

@@ -57,6 +57,12 @@
       $(".z-comp-select").addClass("z-readonly");
       $(".z-comp-textarea").addClass("z-readonly");
     }
+    var list = JSON.parse(window.glhtlist);
+    var html="";
+    if(list.instanceId){
+      html +="<a onclick=goAsset('"+list.instanceId+"')>"+list.projectName+"("+list.applyDate.substring(0,10)+")</a>";
+    }
+    $("#glhthtml").html(html);
     z.workflow.saveBtn.addListener("onSaveClick", saveForm);
   }
 
@@ -351,3 +357,11 @@
     $("[name='" + treeNode.treeName + "']").val(treeNode.id);
   }
 }());
+function goAsset(id){
+  z.webcontainer.openTab({
+    id: 'workflow_hangup_' + id,
+    title: "流程查看",
+    url: window.url + "/IFlowInstance/redirectFlowPage?flowInstanceId=" + id ,
+    iconclass: 'fa fa-file'
+  });
+}