Sfoglia il codice sorgente

回款前端页面

ljy121 1 anno fa
parent
commit
cba2d255a5

+ 2 - 3
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractInvoiceServiceImpl.java

@@ -208,10 +208,9 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
         if(invoice.getInvoiceAmount() != null){
             if(invoice.getInvoiceAmount().compareTo(returnAmount) <=0) {
                 invoice.setFlowStatus(ContractInvoiceConstants.RETURN_FINISH);
+            } else{
+                invoice.setFlowStatus(ContractInvoiceConstants.INVOICE_FINISH);
             }
-//            } else{
-//                invoice.setFlowStatus(ContractInvoiceConstants.RETURN_PART);
-//            }
         }
         contractInvoiceMapper.updateById(invoice);
     }

+ 26 - 24
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractMessageServiceImpl.java

@@ -163,32 +163,34 @@ public class ContractMessageServiceImpl implements ContractMessageService {
     }
 
     private void sendMsg(Contract contract,String content) {
-        Project project = projectMapper.selectById(contract.getProjectId());
-        if(StringUtils.isNotBlank(project.getXmjlId())) {
-            dingApi.sendMessage(new DingMessageDto(project.getXmjlId(), content));
-        }
-        if(StringUtils.isNotBlank(project.getZrbmId())) {
-            CommonResult<DeptRespDTO> result = deptApi.getDept(project.getZrbmId());
-            DeptRespDTO dept = result.getCheckedData();
-            if (dept != null && StringUtils.isNotBlank(dept.getLeaderUserId())) {
-                dingApi.sendMessage(new DingMessageDto(dept.getLeaderUserId(), content));
-                CommonResult<AdminUserRespDTO> userRes = adminUserApi.getUserLeader(dept.getLeaderUserId());
-                AdminUserRespDTO userLeader = userRes.getCheckedData();
-                if(userLeader != null){
-                    dingApi.sendMessage(new DingMessageDto(userLeader.getId(), content));
-                }
+        if (StringUtils.isNotBlank(contract.getProjectId())) {
+            Project project = projectMapper.selectById(contract.getProjectId());
+            if (StringUtils.isNotBlank(project.getXmjlId())) {
+                dingApi.sendMessage(new DingMessageDto(project.getXmjlId(), content));
             }
-            DeptRespDTO deptRespDTO = deptApi.getSecondDeptByDeptId(project.getZrbmId()).getCheckedData();
-            if (deptRespDTO != null && StringUtils.isNotBlank(deptRespDTO.getLeaderUserId())) {
-                dingApi.sendMessage(new DingMessageDto(deptRespDTO.getLeaderUserId(), content));
+            if (StringUtils.isNotBlank(project.getZrbmId())) {
+                CommonResult<DeptRespDTO> result = deptApi.getDept(project.getZrbmId());
+                DeptRespDTO dept = result.getCheckedData();
+                if (dept != null && StringUtils.isNotBlank(dept.getLeaderUserId())) {
+                    dingApi.sendMessage(new DingMessageDto(dept.getLeaderUserId(), content));
+                    CommonResult<AdminUserRespDTO> userRes = adminUserApi.getUserLeader(dept.getLeaderUserId());
+                    AdminUserRespDTO userLeader = userRes.getCheckedData();
+                    if (userLeader != null) {
+                        dingApi.sendMessage(new DingMessageDto(userLeader.getId(), content));
+                    }
+                }
+                DeptRespDTO deptRespDTO = deptApi.getSecondDeptByDeptId(project.getZrbmId()).getCheckedData();
+                if (deptRespDTO != null && StringUtils.isNotBlank(deptRespDTO.getLeaderUserId())) {
+                    dingApi.sendMessage(new DingMessageDto(deptRespDTO.getLeaderUserId(), content));
+                }
             }
-        }
-        if(StringUtils.isNotBlank(project.getXsryId())) {
-            dingApi.sendMessage(new DingMessageDto(project.getXsryId(), content));
-            CommonResult<DeptRespDTO> xsDeptRes = deptApi.getDept(project.getXsryId());
-            DeptRespDTO xsDept = xsDeptRes.getCheckedData();
-            if (xsDept != null && StringUtils.isNotBlank(xsDept.getLeaderUserId())) {
-                dingApi.sendMessage(new DingMessageDto(xsDept.getLeaderUserId(), content));
+            if (StringUtils.isNotBlank(project.getXsryId())) {
+                dingApi.sendMessage(new DingMessageDto(project.getXsryId(), content));
+                CommonResult<DeptRespDTO> xsDeptRes = deptApi.getDept(project.getXsryId());
+                DeptRespDTO xsDept = xsDeptRes.getCheckedData();
+                if (xsDept != null && StringUtils.isNotBlank(xsDept.getLeaderUserId())) {
+                    dingApi.sendMessage(new DingMessageDto(xsDept.getLeaderUserId(), content));
+                }
             }
         }
         CommonResult<List<AdminUserRespDTO>> userListRes = adminUserApi.getUserListByDeptIds(Collections.singletonList(managerDeptId));

+ 10 - 2
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractReturnMoneyServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zjugis.business.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.alibaba.nacos.common.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.zjugis.business.bean.entity.Contract;
 import com.zjugis.business.bean.entity.ContractReturnMoney;
@@ -66,12 +67,19 @@ public class ContractReturnMoneyServiceImpl implements ContractReturnMoneyServic
         if(contractReturnMoney.getReturnAmount() == null){
             contractReturnMoney.setReturnAmount(BigDecimal.ZERO);
         }
-        this.contractReturnMoneyMapper.insert(contractReturnMoney);
+        if(StringUtils.isBlank(contractReturnMoney.getId())) {
+            this.contractReturnMoneyMapper.insert(contractReturnMoney);
+        } else {
+            this.contractReturnMoneyMapper.updateById(contractReturnMoney);
+        }
+
         if(contractReturnMoney.getRelationList() != null && !contractReturnMoney.getRelationList().isEmpty()){
             contractInvoiceRelationService.updateAmount(contractReturnMoney.getRelationList());
         }
         Contract contract = contractService.selectByPrimaryKey(contractReturnMoney.getContractId());
-        projectService.calcProject(contract.getProjectId());
+        if(StringUtils.isNotBlank(contract.getProjectId())) {
+            projectService.calcProject(contract.getProjectId());
+        }
         contractInvoiceService.updateAmountStatus(contractReturnMoney.getContractInvoiceId());
         contractService.updateAmountStatus(contractReturnMoney.getContractId());
         if(!"冲红".equals(contractReturnMoney.getBz())){

+ 8 - 6
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractServiceImpl.java

@@ -178,13 +178,15 @@ public class ContractServiceImpl implements ContractService{
     @Override
     public void updateAmountStatus(String contractId) {
         Contract contract = contractMapper.selectById(contractId);
-        ProjectAmount projectAmount = projectAmountService.selectById(contract.getProjectId());
-        if(projectAmount.getContractBalance() != null && projectAmount.getContractBalance().compareTo(BigDecimal.ZERO) > 0 ){
-            contract.setAmountStatus(ContractConstants.AMOUNT_UNCLEAR);
-        } else {
-            contract.setAmountStatus(ContractConstants.AMOUNT_CLEAR);
+        if(StringUtils.isNotBlank( contract.getProjectId())){
+            ProjectAmount projectAmount = projectAmountService.selectById(contract.getProjectId());
+            if(projectAmount.getContractBalance() != null && projectAmount.getContractBalance().compareTo(BigDecimal.ZERO) > 0 ){
+                contract.setAmountStatus(ContractConstants.AMOUNT_UNCLEAR);
+            } else {
+                contract.setAmountStatus(ContractConstants.AMOUNT_CLEAR);
+            }
+            contractMapper.updateById(contract);
         }
-        contractMapper.updateById(contract);
     }
 
     /**

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

@@ -311,10 +311,10 @@
             z.ui.confirm("compid").init({
                 content: "确定删除吗?",
                 onConfirm: function () {
-                    updateList();
                     var element = document.getElementById("contract_milestone_" +  i);
                     element.remove();
                     buildSeq();
+                    updateList();
                     //lists.splice(i,1);
                     updateView();
                 },
@@ -450,10 +450,10 @@
                     z.ui.confirm("compid").init({
                         content: "确定删除吗?",
                         onConfirm: function () {
-                            updateList();
                             var element = document.getElementById("contract_milestone_" + i);
                             element.remove();
                             buildSeq();
+                            updateList();
                             //lists.splice(i, 1)
                             updateView();
                         },

+ 83 - 31
zjugis-business/src/main/resources/templates/FlowContractInvoice/js/apply.js

@@ -452,15 +452,32 @@
         $("[name=returnMoney]").append(trFragment)
         $("#delBtn_" + index).click(function () {
             var i = this.id.substring(this.id.indexOf("_") + 1)
+            var returnId = tr.find("[name='ContractReturnMoney["+i+"]id'] input").val();
             z.ui.confirm("compid").init({
                 content: "确定删除吗?",
                 onConfirm: function () {
-                    updateList();
-                    var element = document.getElementById("contract_return_" +  i);
-                    element.remove();
-                    buildSeq();
-                    //lists.splice(i,1);
-                    updateView();
+                    z.ui.ajax({
+                        url: z.ui.comm.getEntranceUrl("/contract-return-money?id="+returnId),
+                        type: 'delete',
+                        contentType: 'application/json',
+                        data: {},
+                        success: function (res) {
+                            if(res.code === 0){
+                                z.ui.alertSuccess("删除成功");
+                                var element = document.getElementById("contract_return_" +  i);
+                                element.remove();
+                                buildSeq();
+                                updateList();
+                                //lists.splice(i,1);
+                                updateView();
+                            } else {
+                                z.ui.alertWarning(res.msg);
+                            }
+                        },
+                        error: function () {
+
+                        }
+                    })
                 },
                 onCancel: function () {
 
@@ -471,9 +488,10 @@
             var i = this.id.substring(this.id.indexOf("_") + 1)
             const span = $(this).find("span");
             const html = span.html();
+            var tr =$("#contract_return_" + i);
             if (html === '保存') {
-                var tr =$("#contract_return_" + i);
                 var returnAmount = tr.find("[name='ContractReturnMoney["+i+"]$returnAmount'] input").val();
+                var returnId = tr.find("[name='ContractReturnMoney["+i+"]id'] input").val();
                 var dom = $("[name^='ContractReturnMoney['][name$='$returnAmount'] input");
                 var totalReturnAmount = 0;
                 for (let j = 0; j < dom.length; j++) {
@@ -514,6 +532,7 @@
                     type: 'post',
                     contentType: 'application/json',
                     data: JSON.stringify({
+                        'id': returnId,
                         'contractId' : contractId,
                         'contractInvoiceId' : contractInvoiceId,
                         'contractMilestoneId' : contractMilestoneId,
@@ -525,12 +544,14 @@
                     }),
                     success: function (res) {
                         if(res.code === 0){
+                            if(!returnId){
+                                tr.find("[name='ContractReturnMoney["+i+"]id'] input").val(res.data);
+                            }
                             z.ui.alertSuccess("回款添加成功");
                             detailReadonly(i, false,"contract_return_")
                             $("#addData").removeAttr('disabled')
                             tr.addClass("form-table-disable")
-                            $("#editBtn_" + i).remove();
-                            $("#delBtn_" + i).remove();
+                            span.html('编辑');
                         } else {
                             z.ui.alertWarning(res.msg);
                         }
@@ -539,7 +560,11 @@
 
                     }
                 })
-                return;
+            } else if (html === '编辑') {
+                span.html('保存')
+                detailWrite(i);
+                $("#addData").attr('disabled', "true");
+                tr.removeClass("form-table-disable")
             }
         })
         z.ui.date("[name='ContractReturnMoney[" + (lists.length-1) + "]$returnDate']").init()
@@ -665,27 +690,45 @@
                 + '</div>'
                 + '</td>'
                 + '<td>'
-                // + '<div id="editBtn_' + (i) + '" class="table-btn editBtn_' + (i) + '" data-index="' + (i) + '">'
-                // + '<span>编辑</span>'
-                // + '</div>'
-                // + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
-                // + '<span>删除</span>'
-                // + '</div>'
+                + '<div style="display: flex;white-space: nowrap">'
+                + '<div id="editBtn_' + (i) + '" class="table-btn editBtn_' + (i) + '" data-index="' + (i) + '">'
+                + '<span>编辑</span>'
+                + '</div>'
+                + '<div id="delBtn_' + (i) + '" class="table-btn delBtn_' + (i) + '" data-index="' + (i) + '">'
+                + '<span>删除</span>'
+                + '</div></div>'
                 + '</td></tr>';
         }
         tbodyQjsq.innerHTML = html
         for (let i = 0; i < lists.length; i++) {
             z.ui.date("[name='ContractReturnMoney[" + i + "]$returnDate']").init()
             $("#delBtn_" + i).click(function () {
+                var returnId = tr.find("[name='ContractReturnMoney["+i+"]id'] input").val();
                 z.ui.confirm("compid").init({
                     content: "确定删除吗?",
                     onConfirm: function () {
-                        updateList();
-                        var element = document.getElementById("contract_return_" + i);
-                        element.remove();
-                        buildSeq();
-                        //lists.splice(i, 1)
-                        updateView();
+                        z.ui.ajax({
+                            url: z.ui.comm.getEntranceUrl("/contract-return-money?id="+returnId),
+                            type: 'delete',
+                            contentType: 'application/json',
+                            data: {},
+                            success: function (res) {
+                                if(res.code === 0){
+                                    z.ui.alertSuccess("删除成功");
+                                    var element = document.getElementById("contract_return_" +  i);
+                                    element.remove();
+                                    buildSeq();
+                                    updateList();
+                                    //lists.splice(i,1);
+                                    updateView();
+                                } else {
+                                    z.ui.alertWarning(res.msg);
+                                }
+                            },
+                            error: function () {
+
+                            }
+                        })
                     },
                     onCancel: function () {
 
@@ -697,19 +740,21 @@
             $("#editBtn_" + i).click(function () {
                 const span = $(this).find("span");
                 const html = span.html();
-                if (html === '保存')  {
-                    var tr =$("#contract_return_" + i);
-                    var returnAmount = tr.find("[name='ContractReturnMoney["+i+"]$returnAmount'] input").val();
+                var tr =$("#contract_return_" + i);
+                var returnAmount = tr.find("[name='ContractReturnMoney["+i+"]$returnAmount'] input").val();
 
-                    var returnDate = tr.find("[name='ContractReturnMoney["+i+"]$returnDate'] input").val();
+                var returnDate = tr.find("[name='ContractReturnMoney["+i+"]$returnDate'] input").val();
+                var returnId = tr.find("[name='ContractReturnMoney["+i+"]id'] input").val();
 
-                    var bz =tr.find("[name='ContractReturnMoney["+i+"]$bz'] input").val();
+                var bz =tr.find("[name='ContractReturnMoney["+i+"]$bz'] input").val();
+                if (html === '保存')  {
 
                     z.ui.ajax({
                         url: z.ui.comm.getEntranceUrl("/contract-return-money"),
                         type: 'post',
                         contentType: 'application/json',
                         data: JSON.stringify({
+                            'id': returnId,
                             'contractId' : contractId,
                             'contractInvoiceId' : contractInvoiceId,
                             'contractMilestoneId' : contractMilestoneId,
@@ -720,12 +765,14 @@
                         }),
                         success: function (res) {
                             if(res.code === 0){
+                                if(!returnId){
+                                    tr.find("[name='ContractReturnMoney["+i+"]id'] input").val(res.data);
+                                }
                                 z.ui.alertSuccess("回款添加成功");
                                 detailReadonly(i, false,"contract_return_")
                                 $("#addData").removeAttr('disabled')
                                 tr.addClass("form-table-disable")
-                                $("#editBtn_" + i).remove();
-                                $("#delBtn_" + i).remove();
+                                span.html('编辑');
                             } else {
                                 z.ui.alertWarning(res.msg);
                             }
@@ -734,8 +781,13 @@
 
                         }
                     })
-                    return;
+                } else if (html === '编辑'){
+                    span.html('保存')
+                    detailWrite(i);
+                    $("#addData").attr('disabled', "true");
+                    tr.removeClass("form-table-disable")
                 }
+
             })
             detailReadonly(i,false,"contract_return_")
             $("#contract_return_" + i).addClass("form-table-disable")
@@ -788,7 +840,7 @@
             + '<div class="form-flex">'
             + '<div class="form-item" style="width: 100%;margin-right: 5px;">'
             + '<div class="z-comp-date" name="ContractReturnMoney[' + index + ']$returnDate">'
-            + '<input type="text" value="'+lists[i].returnDate+'">'
+            + '<input type="text" value="'+lists[index].returnDate+'">'
             + '</div>'
             + '</div>'
             + '</div>'

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

@@ -274,10 +274,10 @@
       z.ui.confirm("compid").init({
         content: "确定删除吗?",
         onConfirm: function () {
-          updateList();
           var element = document.getElementById("project_milestone_" +  i);
           element.remove();
           buildSeq();
+          updateList();
           updateView();
         },
         onCancel: function () {
@@ -390,10 +390,10 @@
           z.ui.confirm("compid").init({
             content: "确定删除吗?",
             onConfirm: function () {
-              updateList();
               var element = document.getElementById("project_milestone_" + i);
               element.remove();
               buildSeq();
+              updateList();
               updateView();
             },
             onCancel: function () {