Просмотр исходного кода

[修改][结算单][修改跳点率计算]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
e1b6190cb7
11 измененных файлов: 59 добавлений и 35 удалений
  1. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java
  2. +17
    -17
      mallinkAdmin/src/test/java/com/iformall/service/test/Test.java
  3. +2
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java
  4. +5
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java
  5. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java
  6. +15
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java
  7. +2
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java
  8. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java
  9. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java
  10. +1
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  11. +11
    -3
      mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml

+ 2
- 1
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java Просмотреть файл

@@ -8,6 +8,7 @@ import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.BaseEntity; import com.iformall.domain.po.BaseEntity;
import com.iformall.domain.po.WxBillSettle; import com.iformall.domain.po.WxBillSettle;
import com.iformall.domain.po.WxBillSettleRecord; import com.iformall.domain.po.WxBillSettleRecord;
import com.iformall.enums.EnumFilter;
import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillAllService;
import com.iformall.service.WxBillSettleRecordService; import com.iformall.service.WxBillSettleRecordService;
import com.iformall.service.WxBillSettleService; import com.iformall.service.WxBillSettleService;
@@ -59,7 +60,7 @@ public class WxBillSettleController extends BaseController {
@SystemControllerLog(description = "账单管理-结算单-id查找") @SystemControllerLog(description = "账单管理-结算单-id查找")
public ResultData findById(Long id) { public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillSettleController::findById"); logger.debug("[" + getIpAddr() + "] WxBillSettleController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id));
return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id, EnumFilter.NO.getCode()));
} }


@PostMapping("addOrUpdate") @PostMapping("addOrUpdate")


+ 17
- 17
mallinkAdmin/src/test/java/com/iformall/service/test/Test.java Просмотреть файл

@@ -110,23 +110,23 @@ public class Test {
// wxBillAll.setBillTypeValue(10); // wxBillAll.setBillTypeValue(10);
// log.debug("data:{}", JSON.toJSONString( wxBillAllService.listBill(wxBillAll))); // log.debug("data:{}", JSON.toJSONString( wxBillAllService.listBill(wxBillAll)));


WxBillSettle wxBillSettle = wxBillSettleService.getById(330875180045271040l);
WxBillSettleRecord settleRecord = new WxBillSettleRecord();
settleRecord.setSettleId(wxBillSettle.getId());
settleRecord.setSettleMoney(wxBillSettle.getBalance());
settleRecord.setSettleTime(new Date());
settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode());
settleRecord.setTenantId(wxBillSettle.getTenantId());
BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元");
wxBillSettleRecordService.saveOrUpdate(settleRecord,null,wxBillSettle.getId());
wxBillSettle.setUpdatetime(new Date());
wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode());
wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle);
// WxBillSettle wxBillSettle = wxBillSettleService.getById(330875180045271040l);
//
//
// WxBillSettleRecord settleRecord = new WxBillSettleRecord();
// settleRecord.setSettleId(wxBillSettle.getId());
// settleRecord.setSettleMoney(wxBillSettle.getBalance());
// settleRecord.setSettleTime(new Date());
// settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode());
// settleRecord.setTenantId(wxBillSettle.getTenantId());
//
// BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
// settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元");
// wxBillSettleRecordService.saveOrUpdate(settleRecord,null,wxBillSettle.getId());
//
// wxBillSettle.setUpdatetime(new Date());
// wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode());
// wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle);
} }


@org.junit.Test @org.junit.Test


+ 2
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillAll;
import com.iformall.enums.EnumFilter;
import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantStatus;
import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillAllService;
import com.iformall.service.WxBillSettleService; import com.iformall.service.WxBillSettleService;
@@ -91,7 +92,7 @@ public class WxBillController extends BaseController {
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@ApiOperation("账单管理-结算单-id查找") @ApiOperation("账单管理-结算单-id查找")
public ResultData findById(Long id) { public ResultData findById(Long id) {
return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id));
return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id, EnumFilter.NO.getCode()));
} }


} }

+ 5
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java Просмотреть файл

@@ -97,4 +97,9 @@ public class WxBillSettle extends BaseEntity {
private Integer limitStart; private Integer limitStart;
@Transient @Transient
private Integer limitEnd; private Integer limitEnd;


@Transient
@io.swagger.annotations.ApiModelProperty(value="是否过滤结算历史 1不过滤",name="filterSettleRecord")
private Integer filterSettleRecord =0;
} }

+ 2
- 1
mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java Просмотреть файл

@@ -22,13 +22,14 @@ public interface WxBillSettleService {
*/ */
PageInfo<WxBillSettle> listAsPage(WxBillSettle record, Integer pageIndex, Integer pageSize); PageInfo<WxBillSettle> listAsPage(WxBillSettle record, Integer pageIndex, Integer pageSize);



/** /**
* 根据Id获得实体 * 根据Id获得实体
* *
* @param id * @param id
* @return * @return
*/ */
WxBillSettle getById(Long id);
WxBillSettle getById(Long id,Integer filterSettleRecord);
/** /**
* 保存或更新实体 * 保存或更新实体


+ 15
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Просмотреть файл

@@ -127,6 +127,9 @@ public class WxBillAllServiceImpl implements WxBillAllService {
@Autowired @Autowired
WxBillSettleService wxBillSettleService; WxBillSettleService wxBillSettleService;


@Autowired
WxBillSettleRecordMapper wxBillSettleRecordMapper;

@Override @Override
public Map<String, Object> listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { public Map<String, Object> listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) {
//更新各账单状态 //更新各账单状态
@@ -192,6 +195,16 @@ public class WxBillAllServiceImpl implements WxBillAllService {
return new ResultData(pageInfo); return new ResultData(pageInfo);
} }
List<Map<String, Object>> maps = wxBillAllMapper.listData(wxBillAll); List<Map<String, Object>> maps = wxBillAllMapper.listData(wxBillAll);
for (Map<String, Object> map:maps) {
Integer billType = (Integer)map.get("billTypeValue");
if(EnumBillType.SETTLE.getCode().equals(billType)){
Long rp = (Long)map.get("receive_pay");
WxBillSettle query = new WxBillSettle();
query.setId((Long)map.get("id"));
Long sum = wxBillSettleRecordMapper.getSumMoneyBySettleId(query);
map.put("owe",rp-sum);
}
}
return new ResultData(maps); return new ResultData(maps);
} }


@@ -257,7 +270,7 @@ public class WxBillAllServiceImpl implements WxBillAllService {
try { try {
logger.info("更新结算单id:{}", JsonUtil.obj2Json(bill)); logger.info("更新结算单id:{}", JsonUtil.obj2Json(bill));


WxBillSettle wxBillSettle = wxBillSettleService.getById((Long)bill.get("id"));
WxBillSettle wxBillSettle = wxBillSettleService.getById((Long)bill.get("id"),EnumFilter.NO.getCode());


WxBillSettleRecord settleRecord = new WxBillSettleRecord(); WxBillSettleRecord settleRecord = new WxBillSettleRecord();
settleRecord.setSettleId((Long)bill.get("id")); settleRecord.setSettleId((Long)bill.get("id"));
@@ -813,7 +826,7 @@ public class WxBillAllServiceImpl implements WxBillAllService {


@Override @Override
public void exportSettleBill(WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) { public void exportSettleBill(WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) {
wxBillSettle = wxBillSettleService.getById(wxBillSettle.getId());
wxBillSettle = wxBillSettleService.getById(wxBillSettle.getId(),EnumFilter.NO.getCode());
if(wxBillSettle.getReceiveBillIds() == null) wxBillSettle.setReceiveBillIds(new ArrayList<>()); if(wxBillSettle.getReceiveBillIds() == null) wxBillSettle.setReceiveBillIds(new ArrayList<>());
if(wxBillSettle.getPayBillIds() == null) wxBillSettle.setPayBillIds(new ArrayList<>()); if(wxBillSettle.getPayBillIds() == null) wxBillSettle.setPayBillIds(new ArrayList<>());




+ 2
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java Просмотреть файл

@@ -97,7 +97,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {
} }


@Override @Override
public WxBillSettle getById(Long id){
public WxBillSettle getById(Long id,Integer filterSettleRecord){
WxBillSettle billSettle = wxBillSettleMapper.selectByPrimaryKey(id); WxBillSettle billSettle = wxBillSettleMapper.selectByPrimaryKey(id);


if(billSettle != null){ if(billSettle != null){
@@ -124,6 +124,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {
//加载应收、承付、结余 //加载应收、承付、结余
WxBillSettle query = new WxBillSettle(); WxBillSettle query = new WxBillSettle();
query.setId(id); query.setId(id);
query.setFilterSettleRecord(filterSettleRecord);
query = wxBillSettleMapper.findList(query).get(0); query = wxBillSettleMapper.findList(query).get(0);
billSettle.setReceiveMoney(query.getReceiveMoney()); billSettle.setReceiveMoney(query.getReceiveMoney());
billSettle.setPayMoney(query.getPayMoney()); billSettle.setPayMoney(query.getPayMoney());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Просмотреть файл

@@ -304,7 +304,7 @@ public class WxFlowServiceImpl implements WxFlowService {
wxBillSettle.setApplyStatus(applyStatus); wxBillSettle.setApplyStatus(applyStatus);


//审批完成,账单解冻 //审批完成,账单解冻
WxBillSettle settle = wxBillSettleService.getById(businessId);
WxBillSettle settle = wxBillSettleService.getById(businessId,EnumFilter.NO.getCode());
if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
wxBillSettle.setStatus(EnumSettleStatus.NOT_FINISH.getCode()); wxBillSettle.setStatus(EnumSettleStatus.NOT_FINISH.getCode());
wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode());


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java Просмотреть файл

@@ -105,7 +105,7 @@ public class WxPayBillServiceImpl implements WxPayBillService {
Integer billTypeValue = ((Long) bill.get("billTypeValue")).intValue(); Integer billTypeValue = ((Long) bill.get("billTypeValue")).intValue();


if(EnumBillType.SETTLE.getCode().equals(billTypeValue)){ if(EnumBillType.SETTLE.getCode().equals(billTypeValue)){
WxBillSettle wxBillSettle = wxBillSettleService.getById(record.getBillId());
WxBillSettle wxBillSettle = wxBillSettleService.getById(record.getBillId(),EnumFilter.NO.getCode());
owe = wxBillSettle.getBalance(); owe = wxBillSettle.getBalance();
bill.put("owe",owe); bill.put("owe",owe);
logger.info("wxBillSettle.balance:{}",owe); logger.info("wxBillSettle.balance:{}",owe);


+ 1
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Просмотреть файл

@@ -279,8 +279,7 @@ public class WxRentContractServiceImpl implements WxRentContractService {
return ratioVo; return ratioVo;
} }
List<String> ratioList = JSONArray.parseArray(busDiscountRatio, String.class); List<String> ratioList = JSONArray.parseArray(busDiscountRatio, String.class);

ratioVo.setUseRatio("[");
ratioVo.setUseRatio(busDiscountRatio);


for (int i = 0; i < ratioList.size(); i++) { for (int i = 0; i < ratioList.size(); i++) {
BigDecimal revenue = new BigDecimal(revenueLong).divide(new BigDecimal(1000000)).setScale(8, RoundingMode.HALF_EVEN); BigDecimal revenue = new BigDecimal(revenueLong).divide(new BigDecimal(1000000)).setScale(8, RoundingMode.HALF_EVEN);
@@ -316,7 +315,6 @@ public class WxRentContractServiceImpl implements WxRentContractService {
if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){ if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){
ratioVo.setRatio(ratio); ratioVo.setRatio(ratio);
ratioVo.setPrice(countPrice(ratioVo.getRatio(),revenueLong,timeType,period,from)); ratioVo.setPrice(countPrice(ratioVo.getRatio(),revenueLong,timeType,period,from));
ratioVo.setUseRatio(ratioVo.getUseRatio()+"\""+e+"\",");
break; break;
} }
}else if(e.indexOf(">") >= 0){ }else if(e.indexOf(">") >= 0){
@@ -343,7 +341,6 @@ public class WxRentContractServiceImpl implements WxRentContractService {


if (revenue.compareTo(end) >= 0){ if (revenue.compareTo(end) >= 0){
ratioVo.setRatio(ratio); ratioVo.setRatio(ratio);
ratioVo.setUseRatio(ratioVo.getUseRatio()+"\""+e+"\",");


//计算超出部分 //计算超出部分
BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000)); BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000));
@@ -375,9 +372,6 @@ public class WxRentContractServiceImpl implements WxRentContractService {
} }
} }
} }
if(!"[".equals(ratioVo.getUseRatio())) {
ratioVo.setUseRatio(ratioVo.getUseRatio().substring(0, ratioVo.getUseRatio().lastIndexOf(",")) + "]");
}
return ratioVo; return ratioVo;
} }




+ 11
- 3
mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml Просмотреть файл

@@ -51,9 +51,16 @@
</sql> </sql>


<select id="findList" parameterType="com.iformall.domain.po.WxBillSettle" resultMap="BaseResultMap"> <select id="findList" parameterType="com.iformall.domain.po.WxBillSettle" resultMap="BaseResultMap">
select tt.*,(tt.receiveMoney-tt.payMoney-
(select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id)
) balance from (
select tt.*
<if test="0 == filterSettleRecord">
,(tt.receiveMoney-tt.payMoney-
(select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id)
) balance
</if>
<if test="1 == filterSettleRecord">
,(tt.receiveMoney-tt.payMoney) balance
</if>
from (
select s.*,m.name merchantName, select s.*,m.name merchantName,
(select IFNULL(sum(bill.owe),0) from wx_bill_settle_bill bb left join (select IFNULL(sum(bill.owe),0) from wx_bill_settle_bill bb left join
(select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金' (select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金'
@@ -141,5 +148,6 @@
</select> </select>





</mapper> </mapper>



Загрузка…
Отмена
Сохранить