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

View File

@ -128,6 +128,8 @@ public interface EmisSettleSubBillMapper extends BaseMapper<EmisSettleSubBill>
public int setNoNeedOpenBill(EmisSettleSubBill emisSettleSubBill); public int setNoNeedOpenBill(EmisSettleSubBill emisSettleSubBill);
public int setCompleteOpenBill(EmisSettleSubBill emisSettleSubBill);
public int updatePayedStatus(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){ public List<EmisSettleSubBill> selectSubBillListBySettleBillNo(String settleBillNo){

View File

@ -508,17 +508,24 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
updEmisSettleSubBill.setBillCode(subBill.getBillCode()); updEmisSettleSubBill.setBillCode(subBill.getBillCode());
updEmisSettleSubBill.setInvoicedMoney(sumMoney); updEmisSettleSubBill.setInvoicedMoney(sumMoney);
if( sumMoney.compareTo(BigDecimal.ZERO) == 0 ){ if(!"3".equals(subBill)&&!"4".equals(subBill)) {
updEmisSettleSubBill.setOpenBillStatus("0"); 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{ }else{
// 如果开票金额大于等于账单金额
if (sumMoney.compareTo(subBill.getBillFee()) >= 0) { if (sumMoney.compareTo(subBill.getBillFee()) >= 0) {
updEmisSettleSubBill.setOpenBillStatus("1"); 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} where id=#{id}
</update> </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 id="updateOpenBillStatus" parameterType="EmisSettleSubBill">
update emis_settle_sub_bill update emis_settle_sub_bill
set open_bill_status=#{openBillStatus},invoiced_money=#{invoicedMoney} set open_bill_status=#{openBillStatus},invoiced_money=#{invoicedMoney}