Merge remote-tracking branch 'origin/master'

This commit is contained in:
1073413548 2024-09-10 14:08:22 +08:00
commit e1c36cdcab
4 changed files with 39 additions and 6 deletions

View File

@ -1,11 +1,22 @@
package com.pusong.business.domain.vo.home;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
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<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;
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<>();
for(Map<String,Object> m : list){
//计算已回款金额
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();
if(repeatNum.get(contractCode)==null){
@ -166,6 +181,7 @@ public class HomeServiceImpl implements HomeService {
}
ReturnMoneyInfoVo res = new ReturnMoneyInfoVo();
res.setDateStr(date);
res.setContractNum(contractNum);
res.setSumMoney(sumMoney);
res.setPayMoney(payMoney);

View File

@ -67,11 +67,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
info.contract_code,
info.contract_amount,
pay.money,
pay.business_type,
info.apply_date
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}"
ORDER BY info.contract_code
WHERE
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>
</mapper>