Parcourir la source

杰生重构 合同付款分页

home il y a 2 ans
Parent
commit
e0004fba93

+ 7 - 4
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/contract/Contract.java

@@ -22,7 +22,6 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = true)
 public class Contract extends StorageBaseEntity {
 
-
     /**
      * 采购合同编号
      */
@@ -59,7 +58,7 @@ public class Contract extends StorageBaseEntity {
     private BigDecimal amountMoney;
 
     /**
-     * 质检修正金额
+     * 质检金额
      */
     private BigDecimal adjustAmount;
 
@@ -79,9 +78,14 @@ public class Contract extends StorageBaseEntity {
     private BigDecimal expressAmount;
 
     /**
+     * 发票金额
+     */
+    private BigDecimal invoiceAmount;
+
+    /**
      * 申请付款金额
      */
-    private BigDecimal payAmount;
+    private BigDecimal applyPayAmount;
 
     /**
      * 增值税
@@ -138,5 +142,4 @@ public class Contract extends StorageBaseEntity {
 
     private String oldId;
 
-
 }

+ 7 - 7
hx-service/storage-restructure/src/main/java/com/fjhx/controller/contract/ContractPayController.java

@@ -1,7 +1,7 @@
 package com.fjhx.controller.contract;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.entity.contract.ContractPay;
+import com.fjhx.base.Condition;
 import com.fjhx.params.contract.ContractPayVo;
 import com.fjhx.params.contract.DateStatisticsResult;
 import com.fjhx.params.contract.SupplierStatisticsResult;
@@ -31,12 +31,6 @@ public class ContractPayController {
     @Autowired
     private ContractPayService contractPayService;
 
-    @PostMapping("/page")
-    public R page(@RequestBody Map<String, String> condition) {
-        Page<ContractPay> result = contractPayService.getPage(condition);
-        return R.success(result);
-    }
-
     @PostMapping("/add")
     public R add(@RequestBody ContractPayVo contractPayVo) {
         contractPayService.add(contractPayVo);
@@ -73,5 +67,11 @@ public class ContractPayController {
         return R.success(result);
     }
 
+    @PostMapping("/page")
+    public R page(@RequestBody Condition condition) {
+        Page<Map<String, Object>> result = contractPayService.getPage(condition);
+        return R.success(result);
+    }
+
 }
 

+ 5 - 2
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/contract/ContractPayMapper.java

@@ -1,13 +1,14 @@
 package com.fjhx.mapper.contract;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.fjhx.entity.contract.ContractPay;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.fjhx.params.contract.DateStatisticsVo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.entity.contract.ContractPay;
 import com.fjhx.params.contract.SupplierInfo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -21,4 +22,6 @@ public interface ContractPayMapper extends BaseMapper<ContractPay> {
 
     List<SupplierInfo> getSupplierInfoList(@Param("ew") QueryWrapper<Object> wrapper);
 
+    Page<Map<String, Object>> getPage(Page<Object> page, QueryWrapper<Object> wrapper);
+
 }

+ 22 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/contract/ContractPayMapper.xml

@@ -11,4 +11,26 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getPage" resultType="java.util.LinkedHashMap">
+        select c.code                                                                contractCode,
+               s.name                                                                supplierName,
+               c.complete_time                                                       completeTime,
+               c.account_date                                                        accountDate,
+               c.invoice_amount                                                      invoiceAmount,
+               m.name                                                                materialName,
+               m.spec                                                                materialSpec,
+               cd.quantity,
+               cd.price,
+               c.amount_money                                                        amountMoney,
+               c.adjust_amount                                                       adjustAmount,
+               c.had_pay_amount                                                      hadPayAmount,
+               (c.amount_money - c.adjust_amount - c.back_amount - c.had_pay_amount) unpaidAmount,
+               c.apply_pay_amount                                                    applyPayAmount
+        from contract c
+                 left join contract_details cd on cd.contract_id = c.id
+                 left join material m on cd.material_id = m.id
+                 left join supplier s on c.supplier_id = s.id
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>

+ 4 - 3
hx-service/storage-restructure/src/main/java/com/fjhx/service/contract/ContractPayService.java

@@ -1,9 +1,10 @@
 package com.fjhx.service.contract;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
+import com.fjhx.base.StorageBaseService;
 import com.fjhx.entity.contract.ContractPay;
 import com.fjhx.params.contract.ContractPayVo;
-import com.fjhx.base.StorageBaseService;
 import com.fjhx.params.contract.DateStatisticsResult;
 import com.fjhx.params.contract.SupplierStatisticsResult;
 
@@ -20,8 +21,6 @@ import java.util.Map;
  */
 public interface ContractPayService extends StorageBaseService<ContractPay> {
 
-    Page<ContractPay> getPage(Map<String, String> condition);
-
     void add(ContractPayVo contractPayVo);
 
     void edit(ContractPayVo contractPayVo);
@@ -32,4 +31,6 @@ public interface ContractPayService extends StorageBaseService<ContractPay> {
 
     List<SupplierStatisticsResult> supplierStatistics(DateStatisticsResult dateStatisticsResult);
 
+    Page<Map<String, Object>> getPage(Condition condition);
+
 }

+ 24 - 20
hx-service/storage-restructure/src/main/java/com/fjhx/service/contract/impl/ContractPayServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.base.Condition;
 import com.fjhx.base.StorageBaseEntity;
 import com.fjhx.entity.contract.Contract;
 import com.fjhx.entity.contract.ContractPay;
@@ -19,7 +20,6 @@ import com.fjhx.params.contract.SupplierInfo;
 import com.fjhx.params.contract.SupplierStatisticsResult;
 import com.fjhx.service.contract.ContractPayService;
 import com.fjhx.service.contract.ContractService;
-import com.fjhx.utils.WrapperUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -53,18 +53,6 @@ public class ContractPayServiceImpl extends ServiceImpl<ContractPayMapper, Contr
     private ContractService contractService;
 
     @Override
-    public Page<ContractPay> getPage(Map<String, String> condition) {
-
-        QueryWrapper<ContractPay> wrapper = Wrappers.query();
-
-        WrapperUtil.init(condition, wrapper)
-                .createTimeDesc();
-
-        Page<ContractPay> page = page(condition, wrapper);
-        return page;
-    }
-
-    @Override
     public void add(ContractPayVo contractPayVo) {
         save(contractPayVo);
     }
@@ -168,14 +156,11 @@ public class ContractPayServiceImpl extends ServiceImpl<ContractPayMapper, Contr
         Date endTime = dateStatisticsResult.getEndTime();
 
         QueryWrapper<Object> wrapper = Wrappers.query();
+        splicingContractSelectCondition(wrapper);
 
         String whereTime = "date_add( c.complete_time , interval c.account_date day)";
 
-        wrapper.lt("c.pay_status", ContractPayStatusEnum.COMPLETED)
-                .and(q -> q.eq("c.account_date", 0)
-                        .or(w -> w.gt("c.account_date", 0)
-                                .eq("c.status", ContractStatusEnum.COMPLETED.getType())))
-                .ge(ObjectUtil.notEqual(type, 2) && ObjectUtil.isNotEmpty(beginTime), whereTime, beginTime)
+        wrapper.ge(ObjectUtil.notEqual(type, 2) && ObjectUtil.isNotEmpty(beginTime), whereTime, beginTime)
                 .le(ObjectUtil.isNotEmpty(endTime), whereTime, endTime)
                 .groupBy("c.supplier_id");
 
@@ -210,10 +195,20 @@ public class ContractPayServiceImpl extends ServiceImpl<ContractPayMapper, Contr
         return result;
     }
 
+    @Override
+    public Page<Map<String, Object>> getPage(Condition condition) {
+
+        QueryWrapper<Object> wrapper = Wrappers.query();
+        splicingContractSelectCondition(wrapper);
+
+        Page<Map<String, Object>> page = baseMapper.getPage(condition.getPage(), wrapper);
+
+
+        return page;
+    }
+
     /**
      * 初始化供应商统计结果集
-     *
-     * @return
      */
     private List<SupplierStatisticsResult> initSupplierStatisticsResult() {
         List<SupplierStatisticsResult> result = new ArrayList<>();
@@ -285,5 +280,14 @@ public class ContractPayServiceImpl extends ServiceImpl<ContractPayMapper, Contr
         return dateStatisticsResult;
     }
 
+    /**
+     * 拼接合同查询条件
+     */
+    private void splicingContractSelectCondition(QueryWrapper<Object> wrapper) {
+        wrapper.lt("c.pay_status", ContractPayStatusEnum.COMPLETED)
+                .and(q -> q.eq("c.account_date", 0)
+                        .or(w -> w.gt("c.account_date", 0)
+                                .eq("c.status", ContractStatusEnum.COMPLETED.getType())));
+    }
 
 }

+ 4 - 1
hx-service/storage-restructure/src/main/java/com/fjhx/service/contract/impl/ContractServiceImpl.java

@@ -26,6 +26,7 @@ import com.fjhx.service.common.CommonConfigService;
 import com.fjhx.service.contract.ContractDetailsService;
 import com.fjhx.service.contract.ContractService;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.ThreadUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -83,9 +84,10 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 contract.setAmountMoney(BigDecimal.ZERO);
                 contract.setAdjustAmount(BigDecimal.ZERO);
                 contract.setBackAmount(BigDecimal.ZERO);
-                contract.setPayAmount(BigDecimal.ZERO);
                 contract.setHadPayAmount(BigDecimal.ZERO);
                 contract.setExpressAmount(BigDecimal.ZERO);
+                contract.setInvoiceAmount(BigDecimal.ZERO);
+                contract.setApplyPayAmount(BigDecimal.ZERO);
                 contract.setTaxValue(commonConfigService.getValueToBigDecimal(ConfigConstant.TAX_RATE));
                 contract.setInvoiceType(0);
                 contract.setStatus(ContractStatusEnum.TO_BE_CONFIRMED.getType());
@@ -102,6 +104,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract> i
                 BigDecimal quantity = applyPurchaseDetails.getQuantity();
 
                 ContractDetails contractDetails = new ContractDetails();
+                ThreadUtil.sleep(1);
                 contractDetails.setCode("SI-" + DateUtil.format(new Date(), "yyMMddHHmmss-SSSS"));
                 contractDetails.setContractId(contractId);
                 contractDetails.setContractCode(code);