This commit is contained in:
linfso 2024-08-08 11:54:46 +08:00
parent bc2f580bf8
commit 623e337ceb
2 changed files with 29 additions and 8 deletions

View File

@ -11,6 +11,7 @@
package com.xdadan.erp.emis.service.impl; package com.xdadan.erp.emis.service.impl;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import com.xdadan.erp.common.annotation.Log; import com.xdadan.erp.common.annotation.Log;
@ -92,20 +93,39 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
@Override @Override
public int insertEmisSettleInvoiceRecord(EmisSettleInvoiceRecord emisSettleInvoiceRecord) throws EmisBizError { public int insertEmisSettleInvoiceRecord(EmisSettleInvoiceRecord emisSettleInvoiceRecord) throws EmisBizError {
// 判断对应账单是否存在 // 判断对应账单是否存在
EmisSettleBill emisSettleBill=getSettleBillBySettleBillNo(emisSettleInvoiceRecord.getSettleBillNo());
if(emisSettleBill==null){ //多个账单合并开票
throw new EmisBizError(EmisBizErrorType.FAIL,"账单不存在"); emisSettleInvoiceRecord.setSettleBillNo(
WaybillHelper.formatQueryValue(emisSettleInvoiceRecord.getSettleBillNo())
);
BigDecimal totalFee =BigDecimal.ZERO;
// 总可开票金额
String[] settBillNoArr = emisSettleInvoiceRecord.getSettleBillNo().split(",");
for(int i=0;i<settBillNoArr.length;i++){
String billNo=settBillNoArr[i];
EmisSettleBill emisSettleBill=getSettleBillBySettleBillNo(billNo);
if(emisSettleBill==null){
throw new EmisBizError(EmisBizErrorType.FAIL,"账单不存在");
}
if(!"1".equals(emisSettleBill.getBlConfirmSite())){
throw new EmisBizError(EmisBizErrorType.FAIL,"业务账单未确认");
}
totalFee=totalFee.add(emisSettleBill.getRecMoney());
} }
if(!"1".equals(emisSettleBill.getBlConfirmSite())){ if(emisSettleInvoiceRecord.getApplyMoney().compareTo(totalFee)>0){
throw new EmisBizError(EmisBizErrorType.FAIL,"业务账单未确认"); throw new EmisBizError(EmisBizErrorType.FAIL,"开票金额不可大于总账单金额");
} }
// 不重复的 id流水号 // id流水号
String applySeqNo= WaybillHelper.genApplySeqNo(); String applySeqNo= WaybillHelper.genApplySeqNo();
emisSettleInvoiceRecord.setApplySeqNo(applySeqNo); emisSettleInvoiceRecord.setApplySeqNo(applySeqNo);
emisSettleInvoiceRecord.setApplyManCode(getCurrentUser().getEmpCode()); emisSettleInvoiceRecord.setApplyManCode(getCurrentUser().getEmpCode());
// emisSettleInvoiceRecord.setApplyDate(); emisSettleInvoiceRecord.setApplyDate(new Date());
// 插入发票记录 // 插入发票记录
emisSettleInvoiceRecordMapper.insertEmisSettleInvoiceRecord(emisSettleInvoiceRecord); emisSettleInvoiceRecordMapper.insertEmisSettleInvoiceRecord(emisSettleInvoiceRecord);

View File

@ -174,7 +174,8 @@ public class CvtTplToCpcl {
public static void main(String[] args) { public static void main(String[] args) {
String tplFile="/Users/alan/Downloads/dc1.frx"; String tplFile="/Users/alan/Downloads/探路速运-130-0524【主单】(16).frx";
String cmd=genCmdTpl(tplFile); String cmd=genCmdTpl(tplFile);
Map paramMap = new HashMap(); Map paramMap = new HashMap();