Bladeren bron

用款增加核减

yewc 1 jaar geleden
bovenliggende
commit
b454e96107

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/controller/vo/UseMoneyBaseVO.java

@@ -86,4 +86,10 @@ public class UseMoneyBaseVO {
 
     @Schema(description = "分包合同id")
     private String contractId;
+
+    @Schema(description = "bz2")
+    private String bz2;
+
+    @Schema(description = "bz3")
+    private String bz3;
 }

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/controller/vo/UseMoneyDetailRespVO.java

@@ -17,6 +17,8 @@ public class UseMoneyDetailRespVO extends  UseMoneyDetailBaseVO {
 
     @Schema(description = "项目部门")
     private String projectDeptName;
+    @Schema(description = "项目编号")
+    private String projectNo;
 
     @Schema(description = "类型名称")
     private String costTypeName;

+ 3 - 2
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/dao/UseMoneyDao.java

@@ -53,7 +53,7 @@ public interface UseMoneyDao extends BaseMapperX<UseMoneyDO> {
                 .orderByDesc(UseMoneyDO::getApplyTime));
     }
 
-    default PageResult<UseMoneyDO> getUseMoneyDeptPage(UseMoneyPageReqVO pageReqVO, List<String> projectIds, List<String> deptIds) {
+    default PageResult<UseMoneyDO> getUseMoneyDeptPage(UseMoneyPageReqVO pageReqVO, List<String> projectIds, List<String> deptIds, List<String> ids) {
         return selectPage(pageReqVO, new LambdaQueryWrapperX<UseMoneyDO>()
                 .eqIfPresent(UseMoneyDO::getUserId, pageReqVO.getUserId())
                 .eqIfPresent(UseMoneyDO::getTotalAmount, pageReqVO.getTotalAmount())
@@ -63,7 +63,8 @@ public interface UseMoneyDao extends BaseMapperX<UseMoneyDO> {
                 .lt(pageReqVO.getApplyOff()!=null,UseMoneyDO::getApplyTime, pageReqVO.getApplyOff())
                 .and(wq -> wq.in(UseMoneyDO::getDeptId, deptIds)
                         .or()
-                        .in(projectIds.size()>0,UseMoneyDO::getProjectId, projectIds))
+                        .in(projectIds.size()>0,UseMoneyDO::getProjectId, projectIds)
+                        )
                 .orderByDesc(UseMoneyDO::getApplyTime));
     }
 

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/dao/UseMoneyDetailDao.java

@@ -31,4 +31,6 @@ public interface UseMoneyDetailDao extends BaseMapperX<UseMoneyDetailDO> {
     }
 
     UseMoneyBondVO getBondData(String projectId);
+
+    List<UseMoneyDetailDO> getListByDeptId(List<String> deptProjectIds, List<String> stringList);
 }

+ 4 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/entity/UseMoneyDO.java

@@ -135,4 +135,8 @@ public class UseMoneyDO extends BaseEntity {
      * 合同id
      */
     private String contractId;
+
+    private String bz2;
+
+    private String bz3;
 }

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/service/UseMoneyDetailService.java

@@ -16,4 +16,6 @@ public interface UseMoneyDetailService {
     void updateDetail(UseMoneyDetailDO updateReqVO);
 
     UseMoneyBondVO getBondData(String projectId);
+
+    List<UseMoneyDetailDO> getListByDeptId(List<String> deptProjectIds,List<String> stringList);
 }

+ 5 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/usemoney/service/UseMoneyDetailServiceImpl.java

@@ -35,4 +35,9 @@ public class UseMoneyDetailServiceImpl implements UseMoneyDetailService {
     public UseMoneyBondVO getBondData(String projectId) {
         return useMoneyDetailDao.getBondData(projectId);
     }
+
+    @Override
+    public List<UseMoneyDetailDO> getListByDeptId(List<String> deptProjectIds,List<String> stringList) {
+        return useMoneyDetailDao.getListByDeptId(deptProjectIds,stringList);
+    }
 }

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

@@ -189,7 +189,10 @@ public class UseMoneyServiceImpl implements UseMoneyService {
         List<String> deptProjectIds = convertList(projects, Project::getId);
         Set<String> dept=commonService.getDeptCondition(pageReqVO.getDeptId());
         List<String> stringList = Arrays.asList(dept.toArray(new String[0]));
-        PageResult<UseMoneyDO> pageResult = useMoneyDao.getUseMoneyDeptPage(pageReqVO, deptProjectIds,stringList);
+        //如果是代码,详情中有该部门的也要查询出来
+        List<UseMoneyDetailDO> detail=useMoneyDetailService.getListByDeptId(deptProjectIds,stringList);
+        List<String> listString = detail.stream().map(map -> map.getId()).collect(Collectors.toList());
+        PageResult<UseMoneyDO> pageResult = useMoneyDao.getUseMoneyDeptPage(pageReqVO, deptProjectIds,stringList,listString);
         PageResult<UseMoneyRespVO> useMoneyRespVOPageResult = getUseMoneyRespVOPageResult(pageResult);
         return useMoneyRespVOPageResult;
     }
@@ -471,6 +474,7 @@ public class UseMoneyServiceImpl implements UseMoneyService {
                 Project project = projectService.selectById(x.getProjectId());
                 x.setProjectName(project.getXmmc());
                 x.setProjectDeptName(project.getZrbm());
+                x.setProjectNo(project.getXmbh());
             }
         });
         map.put("detailList", JSON.toJSONString(detailRespVOS));

+ 1 - 1
zjugis-business/src/main/resources/templates/CommonCost/js/agentIndex.js

@@ -67,7 +67,7 @@
                 generateTableTrHtml(i);
             }
         }
-        let bz2 = z.ui.input("[name='createReqVO$bz2']").getValue();
+        let bz2 = $("[name='createReqVO$bz2']").val();
         if(finance === "1"){
             if(!bz2){
                 bz2 = 0;

+ 3 - 3
zjugis-business/src/main/resources/templates/CommonCost/js/index.js

@@ -66,7 +66,7 @@
                 generateTableTrHtml(i);
             }
         }
-        let bz2 = z.ui.input("[name='createReqVO$bz2']").getValue();
+        let bz2 = $("[name='createReqVO$bz2']").val();
         if(finance === "1"){
             if(!bz2){
                 bz2 = 0;
@@ -405,8 +405,8 @@
             //发生金额变化
             if(Number(postData.createReqVO.totalAmount) != Number(previousAmount)){
                 let num = Number(previousAmount) - Number(postData.createReqVO.totalAmount);
-                postData.createReqVO.bz3 = '发生了核减:'+'核减'+num+'(元)';
-                postData.createReqVO.bz2 = num;
+                postData.createReqVO.bz3 = '发生了核减:'+'核减'+num.toFixed(2)+'(元)';
+                postData.createReqVO.bz2 = num.toFixed(2);
             }
         }
         postData.createReqVO.detailList = detailList;

+ 8 - 4
zjugis-business/src/main/resources/templates/UseMoney/agentIndex.ftl

@@ -6,6 +6,8 @@
       <input type="text" value="${formEntity.id!}" name="createReqVO$id">
       <input type="text" value='${detailList!}' id="detailList">
       <input type="text" value='${costTypeJSON!}' id="costTypeJSON">
+      <input type="text" value="${formEntity.bz3!}" name="createReqVO$bz3">
+      <input type="text" value="${formEntity.bz2!}" name="createReqVO$bz2">
       <input type="text" value='${sqd!}' id="sfsqd">
       <input type="text" value="1" name="createReqVO$isAgent">
     </div>
@@ -167,10 +169,11 @@
             </td>
             <td>
               <div class="form-group">
-                <div class="form-item">
+                <div class="form-item" style="position: relative">
                   <div class="z-comp-input z-readonly" name="createReqVO$totalAmount">
                     <input type="text" value="${formEntity.totalAmount!}">
                   </div>
+                  <div id="previousAmount" style="position: absolute;right: 10px;top: 4px;"></div>
                 </div>
               </div>
             </td>
@@ -236,10 +239,11 @@
         <table class="form-table-info">
           <tr style="height: 37px;">
             <td style="width: 80px;">序号</td>
-            <td style="width: 300px;">项目名称</td>
+            <td style="width: 250px;">项目名称</td>
+            <td style="width: 150px;">项目编号</td>
             <td style="width: 150px;">责任部门</td>
-            <td style="width: 200px;">实际所属类型</td>
-            <td style="width: 200px;">用途</td>
+            <td style="width: 150px;">实际所属类型</td>
+            <td style="width: 150px;">用途</td>
             <td style="width: 130px;">单据张数</td>
             <td style="width: 200px;">金额</td>
             <td style="width: 250px;">备注</td>

+ 4 - 1
zjugis-business/src/main/resources/templates/UseMoney/index.ftl

@@ -6,6 +6,8 @@
       <input type="text" value="${formEntity.id!}" name="createReqVO$id">
       <input type="text" value='${detailList!}' id="detailList">
       <input type="text" value='${costTypeJSON!}' id="costTypeJSON">
+      <input type="text" value="${formEntity.bz3!}" name="createReqVO$bz3">
+      <input type="text" value="${formEntity.bz2!}" name="createReqVO$bz2">
       <input type="text" value='${sqd!}' id="sfsqd">
     </div>
     <ul class="ow-tab-nav oa_tabBox">
@@ -283,10 +285,11 @@
             </td>
             <td>
               <div class="form-group">
-                <div class="form-item">
+                <div class="form-item" style="position: relative">
                   <div class="z-comp-input z-readonly" name="createReqVO$totalAmount">
                     <input type="text" value="${formEntity.totalAmount!}">
                   </div>
+                  <div id="previousAmount" style="position: absolute;right: 10px;top: 4px;"></div>
                 </div>
               </div>
             </td>

+ 43 - 1
zjugis-business/src/main/resources/templates/UseMoney/js/agentIndex.js

@@ -5,6 +5,8 @@
   let detailProjectIndex = 0;
   let viewState = z.ui.comm.getUrlParam("_o");
   let read = z.ui.comm.getUrlParam("read");
+  let finance = z.ui.comm.getUrlParam("finance");
+  let previousAmount = z.ui.input("[name='createReqVO$totalAmount']").getValue();
   window.onload = function (ex) {
     initCompany();
     bindEvents();
@@ -24,6 +26,7 @@
           projectId: "",
           projectName: "",
           projectDeptName: "",
+          projectNo: "",
           useMoneyId:""
         }
         isTimes.push(obj)
@@ -43,6 +46,7 @@
           projectName: arrays[i].projectName || '',
           projectDeptName: arrays[i].projectDeptName || '',
           useMoneyId: arrays[i].useMoneyId ?arrays[i].useMoneyId:'',
+          projectNo: arrays[i].projectNo || '',
         }
         isTimes.push(obj)
       }
@@ -50,6 +54,20 @@
         generateTableTrHtml(i);
       }
     }
+    let bz2 = $("[name='createReqVO$bz2']").val();
+    if(finance === "1"){
+      if(!bz2){
+        bz2 = 0;
+      }
+      let amount = Number(previousAmount) + Number(bz2);
+      let previousHtml = "(原金额:"+ amount.toFixed(2) +")"
+      $("#previousAmount").text(previousHtml)
+    }
+    if(bz2){
+      let amount = Number(previousAmount) + Number(bz2);
+      let previousHtml = "(原金额:"+ amount.toFixed(2) +")"
+      $("#previousAmount").text(previousHtml)
+    }
   }
   //注册业务保存事件
   function bindEvents() {
@@ -96,6 +114,13 @@
         + '</td>'
         + '<td>'
         + '<div class="form-item">'
+        + '<div class="z-comp-input z-readonly" name="UserMoneyDetailDO[' + i + ']$xmbh">'
+        + '<input readonly type="text" value="">'
+        + '</div>'
+        + '</div>'
+        + '</td>'
+        + '<td>'
+        + '<div class="form-item">'
         + '<div class="z-comp-input z-readonly" name="UserMoneyDetailDO[' + i + ']$xmzrbm">'
         + '<input readonly type="text" value="">'
         + '</div>'
@@ -169,6 +194,9 @@
     if (!(!isTimes[i].projectName || isTimes[i].projectName.trim() === '')) {
       z.ui.input("[name='UserMoneyDetailDO[" + i + "]$projectName']").setValue(isTimes[i].projectName);
     }
+    if (!(!isTimes[i].projectNo || isTimes[i].projectNo.trim() === '')) {
+      z.ui.input("[name='UserMoneyDetailDO[" + i + "]$xmbh']").setValue(isTimes[i].projectNo);
+    }
     if (!(!isTimes[i].projectDeptName || isTimes[i].projectDeptName.trim() === '')) {
       z.ui.input("[name='UserMoneyDetailDO[" + i + "]$xmzrbm']").setValue(isTimes[i].projectDeptName);
     }
@@ -249,7 +277,7 @@
       })
 
     })
-    if (viewState === 'v' || read === '1') {
+    if (viewState === 'v' || (read === '1'&& finance != '1')) {
       detailReadonly(i)
     }
   }
@@ -291,6 +319,7 @@
       id: "",
       projectId: "",
       projectName: "",
+      projectNo: "",
       projectDeptName: "",
       useMoneyId:""
     }
@@ -355,6 +384,18 @@
         detailList.push(z.ui.form.childStringify(mealName));
       }
     }
+    if(finance === "1"){
+      if(Number(postData.createReqVO.totalAmount) > Number(previousAmount)){
+        all({success: false, errorMsg: "核减后金额不能大于原来金额!"});
+        return;
+      }
+      //发生金额变化
+      if(Number(postData.createReqVO.totalAmount) != Number(previousAmount)){
+        let num = Number(previousAmount) - Number(postData.createReqVO.totalAmount);
+        postData.createReqVO.bz3 = '发生了核减:'+'核减'+num.toFixed(2)+'(元)';
+        postData.createReqVO.bz2 = num.toFixed(2);
+      }
+    }
     postData.createReqVO.applyTime=Date.parse(postData.createReqVO.applyTime);
     postData.createReqVO.agreedPayTime=Date.parse(postData.createReqVO.agreedPayTime);
     postData.createReqVO.detailList = detailList;
@@ -376,6 +417,7 @@
       $("[name='UserMoneyDetailDO[" + detailProjectIndex + "]$projectId']").val(res.data.id);
       z.ui.input("[name='UserMoneyDetailDO[" + detailProjectIndex + "]$projectName']").setValue(res.data.xmmc);
       z.ui.input("[name='UserMoneyDetailDO[" + detailProjectIndex + "]$xmzrbm']").setValue(res.data.zrbm);
+      z.ui.input("[name='UserMoneyDetailDO[" + detailProjectIndex + "]$xmbh']").setValue(res.data.xmbh);
     }
   }
   function initCompany() {

+ 29 - 1
zjugis-business/src/main/resources/templates/UseMoney/js/index.js

@@ -4,6 +4,8 @@
   let costTypeJSON = JSON.parse(document.querySelector('#costTypeJSON').value)
   let viewState = z.ui.comm.getUrlParam("_o");
   let read = z.ui.comm.getUrlParam("read");
+  let finance = z.ui.comm.getUrlParam("finance");
+  let previousAmount = z.ui.input("[name='createReqVO$totalAmount']").getValue();
   window.onload = function (ex) {
     $("#selectProject").click(function () {
       selectProject(null, setProject);
@@ -46,6 +48,20 @@
         generateTableTrHtml(i);
       }
     }
+    let bz2 = $("[name='createReqVO$bz2']").val();
+    if(finance === "1"){
+      if(!bz2){
+        bz2 = 0;
+      }
+      let amount = Number(previousAmount) + Number(bz2);
+      let previousHtml = "(原金额:"+ amount.toFixed(2) +")"
+      $("#previousAmount").text(previousHtml)
+    }
+    if(bz2){
+      let amount = Number(previousAmount) + Number(bz2);
+      let previousHtml = "(原金额:"+ amount.toFixed(2) +")"
+      $("#previousAmount").text(previousHtml)
+    }
   }
   //注册业务保存事件
   function bindEvents() {
@@ -219,7 +235,7 @@
       })
 
     })
-    if (viewState === 'v' || read === '1') {
+    if (viewState === 'v' || (read === '1'&& finance != '1')) {
       detailReadonly(i)
     }
   }
@@ -311,6 +327,18 @@
         detailList.push(z.ui.form.childStringify(mealName));
       }
     }
+    if(finance === "1"){
+      if(Number(postData.createReqVO.totalAmount) > Number(previousAmount)){
+        all({success: false, errorMsg: "核减后金额不能大于原来金额!"});
+        return;
+      }
+      //发生金额变化
+      if(Number(postData.createReqVO.totalAmount) != Number(previousAmount)){
+        let num = Number(previousAmount) - Number(postData.createReqVO.totalAmount);
+        postData.createReqVO.bz3 = '发生了核减:'+'核减'+num.toFixed(2)+'(元)';
+        postData.createReqVO.bz2 = num.toFixed(2);
+      }
+    }
     postData.createReqVO.applyTime=Date.parse(postData.createReqVO.applyTime);
     postData.createReqVO.agreedPayTime=Date.parse(postData.createReqVO.agreedPayTime);
     postData.createReqVO.detailList = detailList;