ljy121 1 vuosi sitten
vanhempi
commit
26dc868914

+ 6 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/AmountDto.java

@@ -12,7 +12,13 @@ import java.math.BigDecimal;
 @Data
 public class AmountDto {
 
+    private BigDecimal contractAmount;
+
     private BigDecimal invoiceAmount;
 
     private BigDecimal returnAmount;
+
+    private BigDecimal receivableAmount;
+
+    private BigDecimal contractBalance;
 }

+ 5 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/service/FlowContractInvoiceService.java

@@ -2,6 +2,7 @@ package com.zjugis.business.flow.contractinvoice.service;
 
 import com.alibaba.excel.util.StringUtils;
 import com.alibaba.fastjson2.JSON;
+import com.zjugis.business.bean.dto.AmountDto;
 import com.zjugis.business.bean.dto.ContractInvoiceRelationDto;
 import com.zjugis.business.bean.entity.*;
 import com.zjugis.business.constants.DictConstants;
@@ -104,6 +105,10 @@ public class FlowContractInvoiceService {
                     Project project = projectService.selectById(contract.getProjectId());
                     map.put("project",project);
                 }
+                AmountDto amountDto = contractService.selectAmount(contract.getId());
+                if(amountDto != null){
+                    map.put("amount",amountDto);
+                }
                 if(contract.getMainType() != null){
                     CommonResult<DictDataRespDTO> result = dictDataApi.getDictData(DictConstants.TYPE_CONTRACT_MAIN_TYPE, String.valueOf(contract.getMainType()));
                     if(result.isSuccess()){

+ 1 - 1
zjugis-business/src/main/java/com/zjugis/business/service/ContractService.java

@@ -46,7 +46,7 @@ public interface ContractService{
 
     String process(String projectId);
 
-    AmountDto selectReceivableAmount(String contractId);
+    AmountDto selectAmount(String contractId);
 
     void updateAreaManager(Contract contract);
 

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

@@ -232,8 +232,13 @@ public class ContractServiceImpl implements ContractService{
      * @return
      */
     @Override
-    public AmountDto selectReceivableAmount(String contractId) {
-        return contractMapper.selectReceivableAmount(contractId);
+    public AmountDto selectAmount(String contractId) {
+        Contract contract = contractMapper.selectById(contractId);
+        AmountDto amountDto = contractMapper.selectReceivableAmount(contractId);
+        amountDto.setReceivableAmount(amountDto.getInvoiceAmount().subtract(amountDto.getReturnAmount()));
+        amountDto.setContractAmount(contract.getContractAmount());
+        amountDto.setContractBalance(contract.getContractAmount().subtract(amountDto.getInvoiceAmount()));
+        return amountDto;
     }
 
     /**

+ 1 - 2
zjugis-business/src/main/java/com/zjugis/business/service/impl/CustomerServiceImpl.java

@@ -3,7 +3,6 @@ package com.zjugis.business.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zjugis.business.bean.dto.CustomerDto;
-import com.zjugis.business.bean.entity.Contract;
 import com.zjugis.business.bean.entity.Customer;
 import com.zjugis.business.bean.response.CustomerResponse;
 import com.zjugis.business.constants.AreaConstants;
@@ -132,7 +131,7 @@ public class CustomerServiceImpl implements CustomerService {
             zTree node = new zTree();
             node.setId(String.valueOf(customer.getId()));
             node.setName(customer.getCustomerName());
-            node.setExtendData(customer.getCustomerNumber());
+            node.setExtendData(customer);
             node.setIndexCode(customer.getIndexCode());
             node.setPid(customer.getPid());
             node.setType(1);

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

@@ -123,9 +123,9 @@ public class ProjectServiceImpl implements ProjectService {
         Contract contract = contractService.selectMainByProject(parent.getId());
         if(contract != null) {
             parent.setContractAmount(contract.getContractAmount());
-            AmountDto amountDto = contractService.selectReceivableAmount(contract.getId());
-            parent.setReceivableAmount(amountDto.getInvoiceAmount().subtract(amountDto.getReturnAmount()));
-            parent.setContractBalance(contract.getContractAmount().subtract(parent.getReceivableAmount()).subtract(amountDto.getReturnAmount()));
+            AmountDto amountDto = contractService.selectAmount(contract.getId());
+            parent.setReceivableAmount(amountDto.getReceivableAmount());
+            parent.setContractBalance(amountDto.getContractBalance());
         }
         projects.remove(0);
         parent.setChildren(projects);

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

@@ -234,7 +234,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contract$clientName']").val(treeNode.name);
         $("[name='contract$clientId']").val(treeNode.id);
-        $("[name='contract$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contract$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
     function clickAssignee(even, treeId, treeNode) {

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowContractApply/js/outApply.js

@@ -74,7 +74,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contract$clientName']").val(treeNode.name);
         $("[name='contract$clientId']").val(treeNode.id);
-        $("[name='contract$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contract$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
     function initQualityController(){

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowContractApply/js/subApply.js

@@ -70,7 +70,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contract$clientName']").val(treeNode.name);
         $("[name='contract$clientId']").val(treeNode.id);
-        $("[name='contract$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contract$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
 

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

@@ -237,9 +237,12 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
                           </td>
                           <td>
                               <div class="form-group">
-                                  <div class="form-item">
+                                  <div class="form-item btns-form-box">
                                       <div class="z-comp-input" name="contractInvoice$invoiceNumber">
                                           <input type="text" value="${formEntity.invoiceNumber!}">
+                                          <div id="generateSerial" style="width: 50px; " name="generateSerial">
+                                              <div class="btn btn-sm btn-primary">生成</div>
+                                          </div>
                                       </div>
                                   </div>
                               </div>
@@ -501,6 +504,102 @@ styles=[ '/flow/css/formCommon.css', '/OwCommon/OwCommon.css' ]>
                       </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 jbxx-box-flex">
+                      <table class="jbxx-table-info">
+                          <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="contract$contractAmount">
+                                              <input type="text" value="${(contract.contractAmount)!}">
+                                          </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="amount$invoiceAmount">
+                                              <input type="text" value="${(amount.invoiceAmount)!}">
+                                          </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="amount$returnAmount">
+                                              <input type="text" value="${(amount.returnAmount)!}">
+                                          </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="amount$receivableAmount">
+                                              <input type="text" value="${(amount.receivableAmount)!}">
+                                          </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="amount$contractBalance">
+                                              <input type="text" value="${(amount.contractBalance)!}">
+                                          </div>
+                                      </div>
+                                  </div>
+                              </td>
+                              <td class="th"></td>
+                              <td></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>${(contract.paymentTerms)!}</textarea>
+                                          </div>
+                                      </div>
+                                  </div>
+                              </td>
+                          </tr>
+                      </table>
+                  </div>
+              </div>
               <div class="form-title">
                   <div class="form-icon">
                       <img src="/imgs/titleIcon.png" alt="">

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

@@ -18,6 +18,7 @@
 
     function bindEvents() {
         initData();
+        bindGenerateSerial();
         bindSelectMilestone();
         initContractReturnMoney();
         initContractInvoiceList();
@@ -29,6 +30,40 @@
         initPayCompany();
     }
 
+    function bindGenerateSerial(){
+        $("#generateSerial").on("click",function(){
+            var genFlag = true;
+            var serial = $("[name='contractInvoice$invoiceNumber'] input").val();
+            if(serial) {
+                z.ui.confirm("confirm").init({
+                    content: '已有编号[' +serial + '],重新生成会覆盖原有编号,是否继续?',
+                    onCancel: function () {
+                        genFlag = false;
+                    }
+                })
+            }
+
+            var postdata = {"name": '开票单号'}
+            if(genFlag){
+                z.ui.ajax({
+                    type: "post",
+                    contentType: "application/json",
+                    url: "/common/generate-serial-number",
+                    data: JSON.stringify(postdata),
+                    success: function (res) {
+                        if(res && res.code === 0){
+                            $("[name='contractInvoice$invoiceNumber'] input").val(res.data)
+                        } else {
+                            z.ui.alertWarning(res.msg);
+                        }
+                    },
+                    error: function () {
+                    }
+                })
+            }
+        })
+    }
+
     function bindSelectMilestone(){
         $("#selectMilestone").click(function () {
             var contractId = $("[name='contractInvoice$contractId']").val();
@@ -407,6 +442,9 @@
     function clickPayCompany(even, treeId, treeNode) {
         $("[name='contractInvoice$payCompany']").val(treeNode.name);
         $("[name='contractInvoice$payCompanyId']").val(treeNode.id);
+        $("[name='contractInvoice$payTaxNumber'] input").val(treeNode.extendData.taxNumber);
+        $("[name='contractInvoice$payAddress'] input").val(treeNode.extendData.payAddress);
+        $("[name='contractInvoice$payBank'] input").val(treeNode.extendData.bankaccount);
     }
 
     function updateView() {

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowContractSub/js/outsourcingApply.js

@@ -155,7 +155,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contractSub$clientName']").val(treeNode.name);
         $("[name='contractSub$clientId']").val(treeNode.id);
-        $("[name='contractSub$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contractSub$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
     function clickAssignee(even, treeId, treeNode) {

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowContractSub/js/subcontractApply.js

@@ -155,7 +155,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contractSub$clientName']").val(treeNode.name);
         $("[name='contractSub$clientId']").val(treeNode.id);
-        $("[name='contractSub$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contractSub$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
     function clickAssignee(even, treeId, treeNode) {

+ 1 - 1
zjugis-business/src/main/resources/templates/FlowOutsourceApply/js/apply.js

@@ -74,7 +74,7 @@
     function clickClient(even, treeId, treeNode) {
         $("[name='contract$clientName']").val(treeNode.name);
         $("[name='contract$clientId']").val(treeNode.id);
-        $("[name='contract$clientNumber'] input").val(treeNode.extendData);
+        $("[name='contract$clientNumber'] input").val(treeNode.extendData.customerNumber);
     }
 
     function initQualityController(){