当月回款统计数据接口开发1

This commit is contained in:
LIUFL 2024-09-10 11:14:23 +08:00
parent a70636c787
commit 7170021b59
4 changed files with 39 additions and 6 deletions

View File

@ -1,11 +1,22 @@
package com.pusong.business.domain.vo.home; package com.pusong.business.domain.vo.home;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
@Data @Data
public class ReturnMoneyInfoVo { public class ReturnMoneyInfoVo {
/**
* 当前时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date currentDate = new Date();
/**
* 统计范围
*/
private String dateStr;
/** /**
* 当月合同总数 * 当月合同总数
*/ */

View File

@ -42,5 +42,5 @@ public interface PsContractInfoMapper extends BaseMapperPlus<PsContractInfo, PsC
List<PsSalaryContract> querySalaryListByCodes(@Param(Constants.WRAPPER) Wrapper<PsContractInfo> queryWrapper); List<PsSalaryContract> querySalaryListByCodes(@Param(Constants.WRAPPER) Wrapper<PsContractInfo> queryWrapper);
List<Map<String,Object>> homePageReturnMoneyInfo(@Param("startDate") LocalDate startDate); List<Map<String,Object>> homePageReturnMoneyInfo(@Param("queryParam") Map<String, Object> queryParam);
} }

View File

@ -150,12 +150,27 @@ public class HomeServiceImpl implements HomeService {
//当月合同总数 //当月合同总数
Integer contractNum=0; Integer contractNum=0;
List<Map<String,Object>> list = psContractInfoMapper.homePageReturnMoneyInfo(startDate); Map<String,Object> queryParam=new HashMap<>();
queryParam.put("startDate",startDate);
queryParam.put("endDate",endDate);
queryParam.put("payStatus",PayStatusEnum.SUCCESS.getCode());
queryParam.put("contractStatus",ContractStatusEnum.INIT.getCode());
queryParam.put("isCancel",CommonStatusEnum.SUCCESS.getCode());
List<Map<String,Object>> list = psContractInfoMapper.homePageReturnMoneyInfo(queryParam);
//记录合同编码防止重复 //记录合同编码防止重复
Map<String,Integer> repeatNum=new HashMap<>(); Map<String,Integer> repeatNum=new HashMap<>();
for(Map<String,Object> m : list){ for(Map<String,Object> m : list){
//计算已回款金额
BigDecimal money =m.get("money")==null?new BigDecimal(0):(BigDecimal) m.get("money"); BigDecimal money =m.get("money")==null?new BigDecimal(0):(BigDecimal) m.get("money");
payMoney=payMoney.add(money); String businessType=m.get("business_type")==null?"":m.get("business_type").toString();
//判断是回款还是退款
if(businessType.equals("1")){
payMoney = payMoney.add(money);
}else{
payMoney = payMoney.subtract(money);
}
String contractCode=m.get("contract_code").toString(); String contractCode=m.get("contract_code").toString();
if(repeatNum.get(contractCode)==null){ if(repeatNum.get(contractCode)==null){
@ -166,6 +181,7 @@ public class HomeServiceImpl implements HomeService {
} }
ReturnMoneyInfoVo res = new ReturnMoneyInfoVo(); ReturnMoneyInfoVo res = new ReturnMoneyInfoVo();
res.setDateStr(date);
res.setContractNum(contractNum); res.setContractNum(contractNum);
res.setSumMoney(sumMoney); res.setSumMoney(sumMoney);
res.setPayMoney(payMoney); res.setPayMoney(payMoney);

View File

@ -67,11 +67,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
info.contract_code, info.contract_code,
info.contract_amount, info.contract_amount,
pay.money, pay.money,
pay.business_type,
info.apply_date info.apply_date
FROM ps_contract_info info FROM ps_contract_info info
LEFT JOIN ps_contract_pay pay on pay.contract_code=info.contract_code LEFT JOIN ps_contract_pay pay on pay.contract_code=info.contract_code and pay.pay_status=#{queryParam.payStatus}
WHERE info.apply_date>="${startDate}" WHERE
ORDER BY info.contract_code info.apply_date >= #{queryParam.startDate} and
<if test="queryParam.endDate != null and queryParam.endDate !=''">
info.apply_date &lt;= #{queryParam.endDate} and
</if>
info.contract_status != #{queryParam.contractStatus} and
info.is_cancel != #{queryParam.isCancel}
</select> </select>
</mapper> </mapper>