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 updateOpenBillStatus(EmisSettleSubBill emisSettleSubBill);
/**
* 删除
*

View File

@ -472,6 +472,7 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
* @param settleBillNo
* @return
*/
@Transactional
@Override
public int reCalcSettleBillInvoiceStatus(String settleBillNo){
@ -487,8 +488,33 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
if(!CollectionUtils.isEmpty(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()));
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();
newBill.setId(oldBill.getId());
newBill.setInvoicedMoney(totalMoney);
if(BigDecimal.ZERO.compareTo(totalMoney)==0){
newBill.setOpenBillStatus("0");
}else {
if(totalMoney.compareTo(BigDecimal.ZERO)>0) {
if (oldBill.getRecMoney().compareTo(totalMoney) > 0) {
newBill.setOpenBillStatus("2");
} else {
newBill.setOpenBillStatus("1");
}
}else{
newBill.setOpenBillStatus("0");
}
// 更新账单开票状态
emisSettleBillMapper.updateEmisSettleBill(newBill);
@ -620,16 +648,21 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
EmisWaybill emisWaybill = new EmisWaybill();
emisWaybill.setBillCode(subBill.getBillCode());
if(totalMoney.compareTo(subBill.getBillFee())>=0) {
emisWaybill.setPaymentStatus("1");
if(sumMoney.compareTo(subBill.getBillFee())>0) {
if (totalMoney.compareTo(subBill.getBillFee()) >= 0) {
emisWaybill.setPaymentStatus("1");
} else {
emisWaybill.setPaymentStatus("2");
}
}else{
emisWaybill.setPaymentStatus("2");
emisWaybill.setPaymentStatus("0");
}
emisWaybillMapper.updatePayedStatus(emisWaybill);
EmisSettleSubBill updEmisSettleSubBill=new EmisSettleSubBill();
updEmisSettleSubBill.setPaymentStatus(emisWaybill.getPaymentStatus());
updEmisSettleSubBill.setRecedMoney(sumMoney);
updEmisSettleSubBill.setBillCode(subBill.getBillCode());
emisSettleSubBillMapper.updatePayedStatus(updEmisSettleSubBill);
}

View File

@ -959,10 +959,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updatePayedStatus" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill
set payment_status=#{paymentStatus}
set payment_status=#{paymentStatus},reced_money=#{recedMoney}
where bill_code=#{billCode}
</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">
update emis_settle_sub_bill set del_flag='1' where bill_code = #{billCode} and del_flag='0'
</delete>