This commit is contained in:
linfso 2024-11-24 12:41:45 +08:00
parent 3b89a12e3e
commit 1c832f2ffc
5 changed files with 48 additions and 9 deletions

View File

@ -11,6 +11,7 @@
package com.xdadan.erp.web.emis;
import java.math.BigDecimal;
import java.time.temporal.ChronoUnit;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
@ -618,12 +619,25 @@ public class EmisSettleSubBillController extends EmisBaseController
return AjaxResult.error("账单不存在!");
}
EmisSettleSubBill emisSettleSubBill = new EmisSettleSubBill();
emisSettleSubBill.setId(id);
emisBaseService.setNoNeedOpenBill(emisSettleSubBill);
// 重新计算账单状态
emisSettleBillService.reCalcSettleBillInvoiceStatus(oldSubBill.getSettleBillNo());
if( oldSubBill.getInvoicedMoney().compareTo(BigDecimal.ZERO)==0 ) {
emisBaseService.setNoNeedOpenBill(emisSettleSubBill);
// 重新计算账单状态
emisSettleBillService.reCalcSettleBillInvoiceStatus(oldSubBill.getSettleBillNo());
}
else if(
oldSubBill.getInvoicedMoney().compareTo(BigDecimal.ZERO)>0
&& oldSubBill.getInvoicedMoney().compareTo(oldSubBill.getBillFee())<0
){
emisBaseService.setCompleteOpenBill(emisSettleSubBill);
// 重新计算账单状态
emisSettleBillService.reCalcSettleBillInvoiceStatus(oldSubBill.getSettleBillNo());
}
}catch (Exception ex){
ex.printStackTrace();

View File

@ -128,6 +128,8 @@ public interface EmisSettleSubBillMapper extends BaseMapper<EmisSettleSubBill>
public int setNoNeedOpenBill(EmisSettleSubBill emisSettleSubBill);
public int setCompleteOpenBill(EmisSettleSubBill emisSettleSubBill);
public int updatePayedStatus(EmisSettleSubBill emisSettleSubBill);

View File

@ -1514,6 +1514,16 @@ public class EmisBaseService {
}
/**
* 设置开票完成
* @param emisSettleSubBill
* @return
*/
public int setCompleteOpenBill(EmisSettleSubBill emisSettleSubBill){
return emisSettleSubBillMapper.setCompleteOpenBill(emisSettleSubBill);
}
public List<EmisSettleSubBill> selectSubBillListBySettleBillNo(String settleBillNo){

View File

@ -508,17 +508,24 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
updEmisSettleSubBill.setBillCode(subBill.getBillCode());
updEmisSettleSubBill.setInvoicedMoney(sumMoney);
if( sumMoney.compareTo(BigDecimal.ZERO) == 0 ){
updEmisSettleSubBill.setOpenBillStatus("0");
if(!"3".equals(subBill)&&!"4".equals(subBill)) {
if (sumMoney.compareTo(BigDecimal.ZERO) == 0) {
updEmisSettleSubBill.setOpenBillStatus("0");
} else {
if (sumMoney.compareTo(subBill.getBillFee()) >= 0) {
updEmisSettleSubBill.setOpenBillStatus("1");
} else {
updEmisSettleSubBill.setOpenBillStatus("2");
}
}
// 更新每一单的开票状态
emisSettleSubBillMapper.updateOpenBillStatus(updEmisSettleSubBill);
}else{
// 如果开票金额大于等于账单金额
if (sumMoney.compareTo(subBill.getBillFee()) >= 0) {
updEmisSettleSubBill.setOpenBillStatus("1");
}else {
updEmisSettleSubBill.setOpenBillStatus("2");
}
}
// 更新每一单的开票状态
emisSettleSubBillMapper.updateOpenBillStatus(updEmisSettleSubBill);
}
}

View File

@ -977,6 +977,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id=#{id}
</update>
<update id="setCompleteOpenBill" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill
set open_bill_status='4'
where id=#{id}
</update>
<update id="updateOpenBillStatus" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill
set open_bill_status=#{openBillStatus},invoiced_money=#{invoicedMoney}