From b54a9335cb1fd26dcd7cd4f70382939a2eb65cae Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 12 Sep 2019 16:33:04 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9][=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E5=8D=95][=E4=BF=AE=E6=94=B9=E7=BB=93=E7=AE=97=E5=8D=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/WxBillSettleBill.java | 1 + .../mapper/WxBillSettleBillMapper.java | 4 + .../service/impl/WxBillSettleServiceImpl.java | 34 +++++- .../main/resources/mapper/WxBillAllMapper.xml | 2 +- .../mapper/WxBillSettleBillMapper.xml | 112 ++++++++++++++++-- 5 files changed, 133 insertions(+), 20 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettleBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettleBill.java index 8cc76487d..45c1242cf 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettleBill.java +++ b/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 diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java index d611d6bf8..83bc1cd91 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleBillMapper.java @@ -15,4 +15,8 @@ public interface WxBillSettleBillMapper extends CommonMapper findExist(WxBillSettle wxBillSettle); + + List findByBillId(WxBillSettleBill wxBillSettleBill); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java index e457a77f8..0004c22d9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/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 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 list = record.getReceiveBillIds(); + list.addAll(record.getPayBillIds()); + query.setReceiveBillIds(list); + List existList = wxBillSettleBillMapper.findExist(query); + Set 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()); diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml index e2a14bf93..ddee59f94 100644 --- a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -126,7 +126,7 @@ and bill.freeze = #{freeze} - + and bill.id = #{id} order by ${sortColumns} order by bill.receive_date,bill.id desc,bill.merchant_id,bill.status diff --git a/mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml b/mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml index 91280afb1..d3e272415 100644 --- a/mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillSettleBillMapper.xml @@ -46,23 +46,23 @@ + + + delete from wx_bill_settle_bill where settle_id = #{id} + +