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

[修改][结算单][修改结算单]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
b54a9335cb
5 измененных файлов: 133 добавлений и 20 удалений
  1. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillSettleBill.java
  2. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java
  3. +28
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java
  4. +1
    -1
      mallinkService/src/main/resources/mapper/WxBillAllMapper.xml
  5. +99
    -13
      mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml

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

@@ -15,6 +15,7 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
public class WxBillSettleBill extends BaseEntity {
public WxBillSettleBill(){}
private static final long serialVersionUID = 1L;

@Id


+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java Просмотреть файл

@@ -15,4 +15,8 @@ public interface WxBillSettleBillMapper extends CommonMapper<WxBillSettleBill, L
void update(WxBillSettleBill record);

void delBySettleId(WxBillSettle record);

List<WxBillSettleBill> findExist(WxBillSettle wxBillSettle);

List<WxBillSettleBill> findByBillId(WxBillSettleBill wxBillSettleBill);
}

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

@@ -2,11 +2,13 @@ package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxBillSettleVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.ExcelService;
import com.iformall.service.WxBillSettleService;
@@ -16,13 +18,12 @@ import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.mail.search.SearchTerm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;

/**
* @author luozukai
@@ -60,7 +61,8 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {
private ExcelService excelService;
@Autowired
private WxBillActionMapper wxBillActionMapper;

@Autowired
private WxBillAllMapper wxBillAllMapper;

@Override
public PageInfo<WxBillSettle> listAsPage(WxBillSettle record, Integer pageIndex, Integer pageSize) {
@@ -365,8 +367,28 @@ public class WxBillSettleServiceImpl implements WxBillSettleService {
final IdWorker idWorker = IdWorker.get();

//检查账单是否存在其他结算单中
WxBillSettle query = new WxBillSettle();
query.setId(record.getId());
List<WxBillSettleBill> list = record.getReceiveBillIds();
list.addAll(record.getPayBillIds());
query.setReceiveBillIds(list);
List<WxBillSettleBill> existList = wxBillSettleBillMapper.findExist(query);
Set<Long> idSet = new HashSet();
if(CollectionUtils.isNotEmpty(existList)){
for (WxBillSettleBill b:existList) {
idSet.add(b.getBillId());
}
String ids = "";
for (Long id:idSet) {
WxBillSettleBill queryBill = new WxBillSettleBill();
queryBill.setBillId(id);
WxBillSettleBill db = wxBillSettleBillMapper.findByBillId(queryBill).get(0);
BigDecimal r = new BigDecimal(db.getReceivePay()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP);
ids += db.getBillName()+r.toString()+"元,";
}


return new ResultData(ErrorCode.DB_FAIL.getCode(), ids.substring(0,ids.length()-1)+"已经在其他结算单中,请移除!");
}

if (record.getFlowParams() == null || record.getFlowParams().size() == 0) {
record.setStatus(EnumSettleStatus.NOT_FINISH.getCode());


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

@@ -126,7 +126,7 @@
</foreach>
</if>
<if test=" null != freeze ">and bill.freeze = #{freeze}</if>
<if test=" null != id ">and bill.id = #{id}</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
<if test=" null == sortColumns"> order by bill.receive_date,bill.id desc,bill.merchant_id,bill.status</if>



+ 99
- 13
mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml Просмотреть файл

@@ -46,23 +46,23 @@
</select>

<select id="findBySettleId" parameterType="com.iformall.domain.po.WxBillSettleBill" resultMap="BaseResultMap">
select bill.starttime,bill.endtime,bl.bill_id,bl.bill_type,bill.bill_type billName,IFNULL(bill.receive_pay,0) receivePay
select bill.starttime,bill.endtime,bl.bill_id,bl.bill_type,bill.bill_type billName,IFNULL(bill.owe,0) receivePay

from wx_bill_settle_bill bl left join
(select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金-租金'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_rent where is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金-租赁押金'
bill_type,need_pay,
bill_type,need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay
receive_pay owe
</when>
<otherwise>
owe receive_pay
owe
</otherwise>
</choose>
,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
wx_bill_rent_deposit
union all
select id,merchant_id,shop_id,tenant_id,3 bill_type_value,'物业费-物业费'
@@ -70,16 +70,16 @@
wx_bill_property where is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,4 bill_type_value,'物业押金-物业押金'
bill_type,need_pay,
bill_type,need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay
receive_pay owe
</when>
<otherwise>
owe receive_pay
owe
</otherwise>
</choose>
,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
wx_bill_property_deposit
union all
select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费-水费' bill_type,0 as
@@ -98,16 +98,16 @@
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_other
union all
select id,merchant_id,shop_id,tenant_id,8 bill_type_value,concat('其他押金-',comments) as bill_type,0 as
need_pay,
need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay
receive_pay owe
</when>
<otherwise>
owe receive_pay
owe
</otherwise>
</choose>
,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_other_deposit
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_other_deposit

union all
select id, id merchant_id,'' shop_id,tenant_id,10 bill_type_value,'补贴-补贴' bill_type,0 as
@@ -115,15 +115,101 @@
) bill
on(bl.bill_id = bill.id)
where 1=1
<if test=" null != billId ">and bill.`id` = #{billId}</if>
<if test=" null != tenantId ">and bl.`tenant_id` = #{tenantId}</if>
<if test=" null != settleId ">and bl.`settle_id` = #{settleId}</if>
<if test=" null != type ">and bl.`type` = #{type}</if>
</select>

<!--同上面的sql-->
<select id="findByBillId" parameterType="com.iformall.domain.po.WxBillSettleBill" resultMap="BaseResultMap">
select bill.bill_type billName,bill.owe receivePay FROM
(select id,merchant_id,shop_id,tenant_id,1 bill_type_value,'租金-租金'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_rent where is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,2 bill_type_value,'租赁押金-租赁押金'
bill_type,need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay owe
</when>
<otherwise>
owe
</otherwise>
</choose>
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
wx_bill_rent_deposit
union all
select id,merchant_id,shop_id,tenant_id,3 bill_type_value,'物业费-物业费'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
wx_bill_property where is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,4 bill_type_value,'物业押金-物业押金'
bill_type,need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay owe
</when>
<otherwise>
owe
</otherwise>
</choose>
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from
wx_bill_property_deposit
union all
select id,merchant_id,shop_id,tenant_id,5 bill_type_value,'水费-水费' bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_daily where
type=1
union all
select id,merchant_id,shop_id,tenant_id,6 bill_type_value,'电费-电费' bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_daily where
type=2
union all
select id,merchant_id,shop_id,tenant_id,9 bill_type_value,'空调费-空调费' bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_daily where
type=3
union all
select id,merchant_id,shop_id,tenant_id,7 bill_type_value,concat('其他费用-',name) as bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_other
union all
select id,merchant_id,shop_id,tenant_id,8 bill_type_value,concat('其他押金-',comments) as bill_type,0 as
need_pay,receive_pay,pay,
<choose>
<when test="1==type">
receive_pay owe
</when>
<otherwise>
owe
</otherwise>
</choose>
,receive_date,pay_date,expired_day,status,rent_shop_type,starttime,endtime from wx_bill_other_deposit

union all
select id, id merchant_id,'' shop_id,tenant_id,10 bill_type_value,'补贴-补贴' bill_type,0 as
need_pay,subsidy receive_pay,0 pay,0 owe,'' receive_date,'' pay_date,'' expired_day,status,'' rent_shop_type,'' starttime,'' endtime from wx_merchant_subsidy
) bill

where 1=1
<if test=" null != billId ">and bill.`id` = #{billId}</if>
</select>

<update id="delBySettleId" parameterType="com.iformall.domain.po.WxBillSettle">
delete from wx_bill_settle_bill where settle_id = #{id}
</update>

<select id="findExist" parameterType="com.iformall.domain.po.WxBillSettle" resultMap="BaseResultMap">
select * from wx_bill_settle_bill where 1=1
<if test=" null != id ">
and settle_id !=#{id}
</if>
<if test=" null != receiveBillIds ">
and bill_id in
<foreach collection="receiveBillIds" index="index" item="idItem" open="(" separator="," close=")">
#{idItem.billId}
</foreach>
</if>
</select>

</mapper>



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