|
|
|
@ -28,6 +28,9 @@ public class AccountCloseServiceImpl implements AccountCloseService { |
|
|
|
private OrderUserMapper orderUserMapper; |
|
|
|
@Autowired |
|
|
|
private OrderMapper orderMapper; |
|
|
|
// 订单商品详情
|
|
|
|
@Autowired |
|
|
|
private OrderGoodsDetailMapper orderGoodsDetailMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private AccountRatioSettingMapper accountRatioSettingMapper; |
|
|
|
@ -202,13 +205,61 @@ public class AccountCloseServiceImpl implements AccountCloseService { |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Map<String, Object> getBillDetail(String userIsli,String batchcode, int ipage, int ilimit) { |
|
|
|
public Map<String, Object> getBillDetail(String userIsli,String batchcode, Integer status, int ipage, int ilimit) { |
|
|
|
// 开始记录
|
|
|
|
int startrs =ipage>1?(ipage-1)*ilimit:0; |
|
|
|
// 查询map
|
|
|
|
Map<String,String> somap = new HashMap<>(); |
|
|
|
somap.put("user_isli",userIsli); |
|
|
|
if(batchcode!=null){ |
|
|
|
somap.put("batchcode",batchcode.trim()); |
|
|
|
} |
|
|
|
// 有状态值的时候
|
|
|
|
String rbatcode =""; |
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
if(status!=null){ |
|
|
|
// 订单状态不为6
|
|
|
|
if(status!=6){ |
|
|
|
somap.put("entrust_islicode",userIsli); |
|
|
|
somap.put("close_status",status.toString()); |
|
|
|
List<OrderGoodsDetail> togdlist = orderGoodsDetailMapper.getOrderGoodsDetailByMap(somap,"batchcode"); |
|
|
|
// 执行查询
|
|
|
|
if(togdlist!=null){ |
|
|
|
//
|
|
|
|
for(int x=0;x<togdlist.size();x++) { |
|
|
|
sb.append(togdlist.get(x)); |
|
|
|
sb.append(","); |
|
|
|
} |
|
|
|
rbatcode = sb.toString(); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//
|
|
|
|
somap.put("buy_islicode",userIsli); |
|
|
|
somap.put("ordstatus","2,3,4"); |
|
|
|
List<Order> ordlist = orderMapper.getOrderList(somap,0,100); |
|
|
|
// 如果记录存在
|
|
|
|
if(ordlist!=null){ |
|
|
|
//
|
|
|
|
ordlist.stream().forEach(item->{ |
|
|
|
sb.append(item.getBatchcode()); |
|
|
|
sb.append(","); |
|
|
|
}); |
|
|
|
rbatcode = sb.toString(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 统计收入
|
|
|
|
BigDecimal income = userAccountBillMapper.sumMoney("thatday_sale_money"); |
|
|
|
// 支出
|
|
|
|
BigDecimal disburse = userAccountBillMapper.sumMoney("thatday_buy_money"); |
|
|
|
// 时间格式
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
|
|
|
// 结果集map
|
|
|
|
Map retmap =new HashMap(); |
|
|
|
int startrs =ipage>1?(ipage-1)*ilimit:0; |
|
|
|
//统计符合条件的数量
|
|
|
|
int total = userAccountBillMapper.countUserAccBill(userIsli); |
|
|
|
Integer end = ipage*ilimit; |
|
|
|
Integer start =startrs+1; |
|
|
|
int end = ipage*ilimit; |
|
|
|
int start =startrs+1; |
|
|
|
if(total < end){ |
|
|
|
end = total; |
|
|
|
} |
|
|
|
@ -222,67 +273,48 @@ public class AccountCloseServiceImpl implements AccountCloseService { |
|
|
|
retmap.put("pre_page",ilimit); |
|
|
|
retmap.put("total",total); |
|
|
|
|
|
|
|
// 查询map
|
|
|
|
Map<String,String> somap = new HashMap<>(); |
|
|
|
somap.put("user_isli",userIsli); |
|
|
|
if(batchcode!=null){ |
|
|
|
somap.put("batchcode",batchcode.trim()); |
|
|
|
} |
|
|
|
// 查询列表
|
|
|
|
List<UserAccountBill> uacblist = userAccountBillMapper.getUserAccBillMap(somap,startrs,ilimit); |
|
|
|
|
|
|
|
// list
|
|
|
|
//List<UserAccountBill> uacblist = userAccountBillMapper.getUserAccBill(uesrIsli,ipage,ilimit);
|
|
|
|
BigDecimal income = new BigDecimal(0.00); // 收入
|
|
|
|
BigDecimal disburse = new BigDecimal(0.00); //支出
|
|
|
|
|
|
|
|
List retlist =new ArrayList(); |
|
|
|
for(UserAccountBill uac:uacblist){ |
|
|
|
// 用户信息
|
|
|
|
Map odumap =new HashMap(); |
|
|
|
Map nodumap =new HashMap(); |
|
|
|
OrderUser orderUser = orderUserMapper.getUserOrder(uac.getBatchcode(),uac.getUserIsli()); |
|
|
|
odumap.put("order_user",orderUser); |
|
|
|
nodumap.put("order_user",orderUser); |
|
|
|
|
|
|
|
//结算情况
|
|
|
|
Order order = orderMapper.getOrderByBatchcode(uac.getBatchcode()); |
|
|
|
odumap.put("order_createtime", sdf.format(order.getCreatetime())); |
|
|
|
nodumap.put("order_createtime", sdf.format(order.getCreatetime())); |
|
|
|
String odcompletetime= order.getCompletetime()==null?"-":sdf.format(order.getCompletetime()); |
|
|
|
odumap.put("order_completetime", odcompletetime); |
|
|
|
odumap.put("close_status",order.getCloseStatus()); |
|
|
|
nodumap.put("order_completetime", odcompletetime); |
|
|
|
nodumap.put("close_status",order.getCloseStatus()); |
|
|
|
|
|
|
|
//uac 数据进行格式化
|
|
|
|
odumap.put("id",uac.getId()); |
|
|
|
odumap.put("user_isli", uac.getUserIsli()); |
|
|
|
odumap.put("batchcode", uac.getBatchcode()); |
|
|
|
odumap.put("order_user_id", uac.getOrderUserId()); |
|
|
|
odumap.put("center_number", StringUtils.isBlank(uac.getCenterNumber())?"-":uac.getCenterNumber()); |
|
|
|
odumap.put("center_name", StringUtils.isBlank(uac.getCenterName())?"-":uac.getCenterName()); |
|
|
|
odumap.put("service_number", uac.getServiceNumber()); |
|
|
|
odumap.put("service_name", uac.getServiceName()); |
|
|
|
odumap.put("service_charge", uac.getServiceCharge()); |
|
|
|
odumap.put("thatday_buy_money", uac.getThatdayBuyMoney()); |
|
|
|
odumap.put("preliminary_capital", uac.getPreliminaryCapital()); |
|
|
|
odumap.put("available_capital", uac.getAvailableCapital()); |
|
|
|
odumap.put("disburse_capital", uac.getDisburseCapital()); |
|
|
|
odumap.put("entrust_cost", uac.getEntrustCost()); |
|
|
|
odumap.put("thatday_sale_money", uac.getThatdaySaleMoney()); |
|
|
|
odumap.put("service_charge_allot", uac.getServiceChargeAllot()); |
|
|
|
odumap.put("capital_remaining",uac.getCapitalRemaining()); |
|
|
|
odumap.put("freeze_earnest_money", uac.getFreezeEarnestMoney()); |
|
|
|
odumap.put("createtime", sdf.format(uac.getCreatetime())); |
|
|
|
odumap.put("close_time", null); |
|
|
|
odumap.put("callback_msg", "-"); |
|
|
|
|
|
|
|
//计算收支
|
|
|
|
Map osmap = new HashMap(); |
|
|
|
osmap.put("wherestr","buy_islicode='"+uac.getUserIsli()+"' and pay_status=2"); |
|
|
|
osmap.put("field","total_money"); |
|
|
|
BigDecimal odtmpsum = orderMapper.sumOrderByMap(osmap); |
|
|
|
income = income.add(odtmpsum); |
|
|
|
|
|
|
|
// 订单商品中所有价格
|
|
|
|
nodumap.put("id",uac.getId()); |
|
|
|
nodumap.put("user_isli", uac.getUserIsli()); |
|
|
|
nodumap.put("batchcode", uac.getBatchcode()); |
|
|
|
nodumap.put("order_user_id", uac.getOrderUserId()); |
|
|
|
nodumap.put("center_number", StringUtils.isBlank(uac.getCenterNumber())?"-":uac.getCenterNumber()); |
|
|
|
nodumap.put("center_name", StringUtils.isBlank(uac.getCenterName())?"-":uac.getCenterName()); |
|
|
|
nodumap.put("service_number", uac.getServiceNumber()); |
|
|
|
nodumap.put("service_name", uac.getServiceName()); |
|
|
|
nodumap.put("service_charge", uac.getServiceCharge()); |
|
|
|
nodumap.put("thatday_buy_money", uac.getThatdayBuyMoney()); |
|
|
|
nodumap.put("preliminary_capital", uac.getPreliminaryCapital()); |
|
|
|
nodumap.put("available_capital", uac.getAvailableCapital()); |
|
|
|
nodumap.put("disburse_capital", uac.getDisburseCapital()); |
|
|
|
nodumap.put("entrust_cost", uac.getEntrustCost()); |
|
|
|
nodumap.put("thatday_sale_money", uac.getThatdaySaleMoney()); |
|
|
|
nodumap.put("service_charge_allot", uac.getServiceChargeAllot()); |
|
|
|
nodumap.put("capital_remaining",uac.getCapitalRemaining()); |
|
|
|
nodumap.put("freeze_earnest_money", uac.getFreezeEarnestMoney()); |
|
|
|
nodumap.put("createtime", sdf.format(uac.getCreatetime())); |
|
|
|
nodumap.put("close_time", null); |
|
|
|
nodumap.put("callback_msg", "-"); |
|
|
|
|
|
|
|
//
|
|
|
|
retlist.add(odumap); |
|
|
|
retlist.add(nodumap); |
|
|
|
} |
|
|
|
|
|
|
|
retmap.put("income",income); |
|
|
|
@ -446,4 +478,9 @@ public class AccountCloseServiceImpl implements AccountCloseService { |
|
|
|
retmap.put("msg",msg); |
|
|
|
return retmap; |
|
|
|
} |
|
|
|
|
|
|
|
private List converUserBill(){ |
|
|
|
List rtlist = new ArrayList(); |
|
|
|
return rtlist; |
|
|
|
} |
|
|
|
} |
|
|
|
|