Browse Source

付款管理列表接口

别傲 5 years ago
parent
commit
65a2b7ab84
17 changed files with 197 additions and 57 deletions
  1. 4 16
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/ContractController.java
  2. 44 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/PaymentController.java
  3. 0 19
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/PaymentRequest.java
  4. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractDetailRequest.java
  5. 1 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractRequest.java
  6. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractsHistoryRequest.java
  7. 34 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/request/PaymentRequest.java
  8. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractResponse.java
  9. 50 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/response/PaymentResponse.java
  10. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/ContractsHistoryMapper.java
  11. 2 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/ContractsMapper.java
  12. 6 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/PaymentMapper.java
  13. 1 1
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractHistoryService.java
  14. 5 7
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java
  15. 20 4
      lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java
  16. 2 2
      lift-business-service/src/main/resources/mapper/contract/ContractsMapper.xml
  17. 24 0
      lift-business-service/src/main/resources/mapper/contract/PaymentMapper.xml

+ 4 - 16
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/ContractController.java

@@ -3,7 +3,10 @@ package cn.com.ty.lift.business.contract.controller;
 import cn.com.ty.lift.business.contract.dao.entity.Contracts;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsExtend;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
-import cn.com.ty.lift.business.contract.dao.entity.model.*;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractDetailRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractsHistoryRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.ContractResponse;
 import cn.com.ty.lift.business.contract.service.ContractService;
 import cn.com.ty.lift.business.contract.service.PaymentService;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
@@ -120,19 +123,4 @@ public class ContractController {
         return RestResponse.success(resultMap, MessageUtils.get("msg.query.detail.success"));
     }
 
-    /**
-     * @param request paymentList 收款信息列表
-     * @return 1.成功, 0.失败, 消息描述
-     * @description 批量修改收款信息
-     * @date 2019/12/11 3:50 PM
-     */
-    @PostMapping("payment/batch/update")
-    public RestResponse modifyBatchById(@RequestBody PaymentRequest request) {
-        boolean result = paymentService.modifyBatchById(request.getPaymentList());
-        if (result) {
-            return RestResponse.success(null, MessageUtils.get("msg.modify.batch.success"));
-        }
-        return RestResponse.fail(MessageUtils.get("msg.modify.batch.fail"));
-    }
-
 }

+ 44 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/PaymentController.java

@@ -0,0 +1,44 @@
+package cn.com.ty.lift.business.contract.controller;
+
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
+import cn.com.ty.lift.business.contract.service.PaymentService;
+import cn.com.ty.lift.business.framework.util.MessageUtils;
+import cn.com.xwy.boot.web.dto.RestResponse;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+/**
+ * @author bieao
+ * @date 2020/2/20
+ * @description 付款管理控制层
+ */
+@RestController
+@RequestMapping("payment")
+public class PaymentController {
+
+    @Resource
+    private PaymentService paymentService;
+
+    /**
+     * @param request 付款列表查询条件
+     * @return RestResponse 付款分页列表结果
+     * @description 查询付款列表
+     * @date 2020/2/20 3:10 下午
+     */
+    @PostMapping("list")
+    public RestResponse list(@Valid @RequestBody PaymentRequest request) {
+        IPage<PaymentResponse> page = paymentService.list(request);
+        if (CollUtil.isEmpty(page.getRecords())) {
+            return RestResponse.success();
+        }
+        return RestResponse.success(page, MessageUtils.get("msg.query.success"));
+    }
+}

+ 0 - 19
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/PaymentRequest.java

@@ -1,19 +0,0 @@
-package cn.com.ty.lift.business.contract.dao.entity.model;
-
-import cn.com.ty.lift.business.contract.dao.entity.Payment;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author bieao
- * @date 2019/12/11
- * @description
- */
-@Data
-public class PaymentRequest {
-    /**
-     * 付款信息列表
-     */
-    private List<Payment> paymentList;
-}

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractDetailRequest.java

@@ -1,4 +1,4 @@
-package cn.com.ty.lift.business.contract.dao.entity.model;
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
 
 import lombok.Data;
 

+ 1 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractRequest.java

@@ -1,7 +1,6 @@
-package cn.com.ty.lift.business.contract.dao.entity.model;
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
 
 import cn.com.ty.lift.common.model.PageRequest;
-import cn.com.xwy.boot.controller.BaseRequestModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractsHistoryRequest.java

@@ -1,4 +1,4 @@
-package cn.com.ty.lift.business.contract.dao.entity.model;
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
 
 import cn.com.xwy.boot.controller.BaseRequestModel;
 import lombok.Data;

+ 34 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/request/PaymentRequest.java

@@ -0,0 +1,34 @@
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
+
+import cn.com.ty.lift.common.model.PageRequest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2019/12/11
+ * @description 付款列表查询条件
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class PaymentRequest extends PageRequest {
+    /**
+     * 公司id
+     */
+    @NotNull(message = "notEmpty")
+    private Long mtCompanyId;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 合同编号
+     */
+    private String contractCode;
+    /**
+     * 付款类型 (1:维保,2:急修,3:大修)
+     */
+    private String paymentType;
+}

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/ContractResponse.java

@@ -1,4 +1,4 @@
-package cn.com.ty.lift.business.contract.dao.entity.model;
+package cn.com.ty.lift.business.contract.dao.entity.model.response;
 
 import lombok.Data;
 

+ 50 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/response/PaymentResponse.java

@@ -0,0 +1,50 @@
+package cn.com.ty.lift.business.contract.dao.entity.model.response;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author bieao
+ * @date 2020/2/20
+ * @description 付款列表返回体
+ */
+@Data
+public class PaymentResponse {
+    /**
+     * 合同id
+     */
+    private Long contractId;
+    /**
+     * 项目id
+     */
+    private Long projectId;
+    /**
+     * 合同编号
+     */
+    private String contractCode;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 收款单号
+     */
+    private String PaymentCode;
+    /**
+     * 应收金额
+     */
+    private BigDecimal receivableAmount;
+    /**
+     * 已收金额
+     */
+    private BigDecimal receivedAmount;
+    /**
+     * 未收金额
+     */
+    private BigDecimal unCollectedAmount;
+    /**
+     * 收款人编号
+     */
+    private Long cashierUser;
+}

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/ContractsHistoryMapper.java

@@ -1,7 +1,7 @@
 package cn.com.ty.lift.business.contract.dao.mapper;
 
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractsHistoryRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractsHistoryRequest;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/ContractsMapper.java

@@ -1,8 +1,8 @@
 package cn.com.ty.lift.business.contract.dao.mapper;
 
 import cn.com.ty.lift.business.contract.dao.entity.Contracts;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractRequest;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractResponse;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.ContractResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;

+ 6 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/PaymentMapper.java

@@ -1,7 +1,11 @@
 package cn.com.ty.lift.business.contract.dao.mapper;
 
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * MyBatis Mapper 接口 - 表:payment
@@ -10,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface PaymentMapper extends BaseMapper<Payment> {
 
+    IPage<PaymentResponse> findByCondition(IPage<PaymentResponse> page, @Param("request") PaymentRequest request);
+
 }

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractHistoryService.java

@@ -1,7 +1,7 @@
 package cn.com.ty.lift.business.contract.service;
 
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractsHistoryRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractsHistoryRequest;
 import cn.com.ty.lift.business.contract.dao.mapper.ContractsHistoryMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

+ 5 - 7
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java

@@ -4,9 +4,9 @@ import cn.com.ty.lift.business.contract.dao.entity.Contracts;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsExtend;
 import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractRequest;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractResponse;
-import cn.com.ty.lift.business.contract.dao.entity.model.ContractsHistoryRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.ContractResponse;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.ContractsHistoryRequest;
 import cn.com.ty.lift.business.contract.dao.mapper.ContractsMapper;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.project.dao.entity.Project;
@@ -14,11 +14,9 @@ import cn.com.ty.lift.business.project.service.ProjectService;
 import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -113,8 +111,8 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
         }
         if (ObjectUtil.isEmpty(contracts.getCode())) {
             //按当前日期时间戳自动生成合同编号
-            String contractId = DateUtils.generateCode();
-            contracts.setCode(contractId);
+            String contractCode = DateUtils.generateCode();
+            contracts.setCode("HT" + contractCode);
         }
         //插入合同信息
         int result = contractsMapper.insert(contracts);

+ 20 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java

@@ -1,13 +1,16 @@
 package cn.com.ty.lift.business.contract.service;
 
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
 import cn.com.ty.lift.business.contract.dao.mapper.PaymentMapper;
+import cn.com.ty.lift.common.utils.DateUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author bieao
@@ -17,16 +20,29 @@ import java.util.Map;
 @Service
 public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
 
+    /**
+     * @param request 付款列表查询条件
+     * @return RestResponse 付款分页列表结果
+     * @description 查询付款列表
+     * @date 2020/2/20 3:10 下午
+     */
+    public IPage<PaymentResponse> list(PaymentRequest request){
+        return baseMapper.findByCondition(request.getPage(),request);
+    }
+
     /**
      * @param payments 付款信息
-     * @param contractId 合同编号
+     * @param contractId 合同id
      * @return  是否成功
      * @description 批量插入收款信息
      * @date 2019/12/11 4:34 PM
      */
     public boolean insertBatch(List<Payment> payments, Long contractId) {
-        //设置合同付款的合同编号
-        payments.forEach(entry -> entry.setContractsId(contractId));
+        //设置合同付款的合同id
+        payments.forEach(entry -> {
+            entry.setContractsId(contractId);
+            entry.setCode("PA" + DateUtils.generateCode());
+        });
         //批量插入付款信息
         return saveBatch(payments);
     }

+ 2 - 2
lift-business-service/src/main/resources/mapper/contract/ContractsMapper.xml

@@ -30,8 +30,8 @@
 	</sql>
 
     <!-- 根据项目、合同号、合同类型、合同状态查询合同管理列表-->
-    <select id="findByCondition" resultType="cn.com.ty.lift.business.contract.dao.entity.model.ContractResponse"
-            parameterType="cn.com.ty.lift.business.contract.dao.entity.model.ContractRequest" >
+    <select id="findByCondition" resultType="cn.com.ty.lift.business.contract.dao.entity.model.response.ContractResponse"
+            parameterType="cn.com.ty.lift.business.contract.dao.entity.model.request.ContractRequest" >
         SELECT
             c.id            AS id,
             c.code          AS contractCode,

+ 24 - 0
lift-business-service/src/main/resources/mapper/contract/PaymentMapper.xml

@@ -30,4 +30,28 @@
 		number_periods
 	</sql>
 
+	<select id="findByCondition" parameterType="cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest"
+			resultType="cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse">
+		SELECT
+		       p.id                            AS projectId,
+		       c.id                            AS contractId,
+		       c.code                          AS contractCode,
+			   p.project_name                  AS projectName,
+			   pa.code                         AS paymentCode,
+			   pa.plan_money                   AS receivableAmount,
+			   pa.work_money                   AS receivedAmount,
+			   (pa.plan_money - pa.work_money) AS unCollectedAmount,
+			   pa.cashier_user                 AS cashierUser
+		FROM contracts c
+				 LEFT JOIN payment pa ON c.id = pa.contracts_id
+				 LEFT JOIN project p ON c.project_id = p.id
+		WHERE c.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		<if test="request.contractCode!=null and request.contractCode!=''">
+			AND c.code LIKE CONCAT('%',#{request.contractCode,jdbcType=BIGINT},'%')
+		</if>
+		<if test="request.projectName!=null and request.projectName!=''">
+			AND p.project_name LIKE CONCAT('%',#{request.projectName,jdbcType=VARCHAR},'%')
+		</if>
+	</select>
+
 </mapper>