This commit is contained in:
linfso 2024-11-13 10:24:19 +08:00
parent d9565a15fb
commit 42e2731161
3 changed files with 50 additions and 7 deletions

View File

@ -125,6 +125,8 @@ public interface EmisSettleSubBillMapper extends BaseMapper<EmisSettleSubBill>
public int updatePayedStatus(EmisSettleSubBill emisSettleSubBill); public int updatePayedStatus(EmisSettleSubBill emisSettleSubBill);
public int updateOpenBillStatus(EmisSettleSubBill emisSettleSubBill);
/** /**
* 删除 * 删除
* *

View File

@ -472,6 +472,7 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
* @param settleBillNo * @param settleBillNo
* @return * @return
*/ */
@Transactional
@Override @Override
public int reCalcSettleBillInvoiceStatus(String settleBillNo){ public int reCalcSettleBillInvoiceStatus(String settleBillNo){
@ -487,8 +488,33 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo); List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
if(!CollectionUtils.isEmpty(listRel)) { if(!CollectionUtils.isEmpty(listRel)) {
for(Map item:listRel){ for(Map item:listRel){
String billNo= MapUtils.getString(item,"billNo",null);
if(org.apache.commons.lang3.StringUtils.isEmpty(billNo)){
continue;
}
EmisSettleSubBill subBill = emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(billNo);
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString())); BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
totalMoney = totalMoney.add(sumMoney); totalMoney = totalMoney.add(sumMoney);
EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill();
updEmisSettleSubBill.setBillCode(subBill.getBillCode());
updEmisSettleSubBill.setInvoicedMoney(sumMoney);
if(sumMoney.compareTo(BigDecimal.ZERO)>0) {
if (sumMoney.compareTo(subBill.getBillFee()) >= 0) {
updEmisSettleSubBill.setOpenBillStatus("1");
}else {
updEmisSettleSubBill.setOpenBillStatus("2");
}
}
else{
updEmisSettleSubBill.setOpenBillStatus("0");
}
// 更新每一单的开票状态
emisSettleSubBillMapper.updateOpenBillStatus(updEmisSettleSubBill);
} }
} }
@ -497,17 +523,19 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
EmisSettleBill newBill = new EmisSettleBill(); EmisSettleBill newBill = new EmisSettleBill();
newBill.setId(oldBill.getId()); newBill.setId(oldBill.getId());
newBill.setInvoicedMoney(totalMoney);
if(BigDecimal.ZERO.compareTo(totalMoney)==0){ if(totalMoney.compareTo(BigDecimal.ZERO)>0) {
newBill.setOpenBillStatus("0");
}else {
if (oldBill.getRecMoney().compareTo(totalMoney) > 0) { if (oldBill.getRecMoney().compareTo(totalMoney) > 0) {
newBill.setOpenBillStatus("2"); newBill.setOpenBillStatus("2");
} else { } else {
newBill.setOpenBillStatus("1"); newBill.setOpenBillStatus("1");
} }
}else{
newBill.setOpenBillStatus("0");
} }
// 更新账单开票状态 // 更新账单开票状态
emisSettleBillMapper.updateEmisSettleBill(newBill); emisSettleBillMapper.updateEmisSettleBill(newBill);
@ -620,16 +648,21 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
EmisWaybill emisWaybill = new EmisWaybill(); EmisWaybill emisWaybill = new EmisWaybill();
emisWaybill.setBillCode(subBill.getBillCode()); emisWaybill.setBillCode(subBill.getBillCode());
if(totalMoney.compareTo(subBill.getBillFee())>=0) { if(sumMoney.compareTo(subBill.getBillFee())>0) {
emisWaybill.setPaymentStatus("1"); if (totalMoney.compareTo(subBill.getBillFee()) >= 0) {
emisWaybill.setPaymentStatus("1");
} else {
emisWaybill.setPaymentStatus("2");
}
}else{ }else{
emisWaybill.setPaymentStatus("2"); emisWaybill.setPaymentStatus("0");
} }
emisWaybillMapper.updatePayedStatus(emisWaybill); emisWaybillMapper.updatePayedStatus(emisWaybill);
EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill(); EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill();
updEmisSettleSubBill.setPaymentStatus(emisWaybill.getPaymentStatus()); updEmisSettleSubBill.setPaymentStatus(emisWaybill.getPaymentStatus());
updEmisSettleSubBill.setRecedMoney(sumMoney);
updEmisSettleSubBill.setBillCode(subBill.getBillCode()); updEmisSettleSubBill.setBillCode(subBill.getBillCode());
emisSettleSubBillMapper.updatePayedStatus(updEmisSettleSubBill); emisSettleSubBillMapper.updatePayedStatus(updEmisSettleSubBill);
} }

View File

@ -959,10 +959,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updatePayedStatus" parameterType="EmisSettleSubBill"> <update id="updatePayedStatus" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill update emis_settle_sub_bill
set payment_status=#{paymentStatus} set payment_status=#{paymentStatus},reced_money=#{recedMoney}
where bill_code=#{billCode} where bill_code=#{billCode}
</update> </update>
<update id="updateOpenBillStatus" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill
set open_bill_status=#{openBillStatus},invoiced_money=#{invoicedMoney}
where bill_code=#{billCode}
</update>
<delete id="deleteEmisSettleSubBillByBillCode" parameterType="String"> <delete id="deleteEmisSettleSubBillByBillCode" parameterType="String">
update emis_settle_sub_bill set del_flag='1' where bill_code = #{billCode} and del_flag='0' update emis_settle_sub_bill set del_flag='1' where bill_code = #{billCode} and del_flag='0'
</delete> </delete>