This commit is contained in:
linfso 2025-06-18 08:13:02 +08:00
parent 674ba8f6fd
commit 3abf041168
3 changed files with 106 additions and 13 deletions

View File

@ -431,20 +431,17 @@ public class EmisSettleSubBillController extends EmisBaseController
}
}
/*
bug:1610
现金账单确认/月结账单确认:应收运费大于等于标准报价,业务确认完帐单后,现金账单确认/月结账单确认界面系统自动确认;
财务也自动确认了
非特殊报价和一口价
*/
EmisSettleSubBill updSubBillBySite = new EmisSettleSubBill();
updSubBillBySite.setId(id);
updSubBillBySite.setConfirmSiteManCode(getLoginUser().getUser().getEmpCode());
updSubBillBySite.setConfirmSiteCode(getLoginUser().getUser().getOwnerSiteCode());
emisBaseService.confirmBillBySite(updSubBillBySite);
// 判断非特殊报价和一口价
/*
bug:1610
现金账单确认/月结账单确认:应收运费大于等于标准报价,业务确认完帐单后,现金账单确认/月结账单确认界面系统自动确认;
非特殊报价和一口价, 财务也自动确认
*/
EmisWaybill waybill=emisBaseService.getWaybillByBillCode(old.getBillNo());
if( !"3".equals(waybill.getCalcFeeType()) && !"1".equals(waybill.getBlSpecialQuote()) ) {
if (waybill.getFreight().compareTo(waybill.getRealFee()) >= 0) {
@ -463,6 +460,16 @@ public class EmisSettleSubBillController extends EmisBaseController
if(!StringUtils.isEmpty(old.getSettleBillNo())) {
EmisSettleBill oldSettleBill=emisSettleBillService.selectEmisSettleBillBySettleBillNo(old.getSettleBillNo());
if(oldSettleBill!=null) {
// 触发业务账单自动确认
EmisSettleBill emisSettleBill = new EmisSettleBill();
emisSettleBill.setConfirmSiteManCode(getLoginUser().getUser().getEmpCode());
emisSettleBill.setConfirmSiteCode(getLoginUser().getUser().getOwnerSiteCode());
emisSettleBill.setBlConfirmSite("1");
emisSettleBill.setConfirmSiteDate(new Date());
emisSettleBill.setId(oldSettleBill.getId());
// emisSettleBill.setConfirmSiteNote("运费>=标准报价-触发财务自动确认");
emisSettleBillService.updateEmisSettleBill(emisSettleBill);
// 重新计算账单费用,计算开票状态,计算收款状态
emisSettleBillService.reCalcSettleBillFee(oldSettleBill);
@ -471,7 +478,6 @@ public class EmisSettleSubBillController extends EmisBaseController
emisSettleBillService.reCalcSettleBillPayStatus(old.getSettleBillNo());
}
}
}
}

View File

@ -274,6 +274,8 @@ public class EmisWaybillAjustApplyController extends EmisBaseController
emisWaybillAjustApplyService.auditCenterPass(emisWaybillAjustApply);
}catch (Exception ex){
ex.printStackTrace();
// 返回子定义异常

View File

@ -23,6 +23,7 @@ import com.xdadan.erp.emis.domain.vo.WaybillOrder;
import com.xdadan.erp.emis.mapper.EmisCommissionDtlMapper;
import com.xdadan.erp.emis.service.*;
import com.xdadan.erp.emis.utils.WaybillHelper;
import com.xdadan.erp.system.mapper.SysPostMapper;
import com.xdadan.erp.system.service.ISysFileInfoService;
import com.xdadan.erp.system.service.ISysNoticeService;
import org.apache.commons.collections.CollectionUtils;
@ -53,6 +54,19 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
@Autowired
private EmisCommissionDtlMapper emisCommissionDtlMapper;
@Autowired
private SysPostMapper postMapper;
@Autowired
private IEmisSettleSubBillService emisSettleSubBillService;
@Autowired
private EmisBaseService emisBaseService;
@Autowired
private IEmisSettleBillService emisSettleBillService;
/**
* 查询运单调整申请
@ -238,8 +252,7 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
emisWaybillAjustApply.setBlCenterConfirmed("1");
emisWaybillAjustApply.setCenterConfirmManCode(getCurrentUser().getEmpCode());
// 财务中心费用审核:数据部人员通过岗位登记的费用申请:修改项目“运费调整”,财务审批通过后数据直接修改不用再进行层层审核;
// emisWaybillAjustApply.getApplyType()
// 获取账单状态,若账单处于非未确认状态,不允许审核
List<EmisSettleSubBill> emisSettleSubBillList=getSettleSubBillListByBillCode(emisWaybillAjustApply.getBillCode());
@ -312,7 +325,6 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
"费用调整已审批通过-["+getCurrentUser().getOwnerSiteName()+","+getCurrentUser().getEmpName()+"]"
);
emisWaybillService.reUpdateWayBill(emisWaybillOld,emisWaybillSave,false);
String title="费用调整已审批通过,单号【"+emisWaybillAjustApply.getBillCode()+"】";
@ -328,7 +340,80 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
}
// 审核通过
return emisWaybillAjustApplyMapper.auditCenterPass(emisWaybillAjustApply);
emisWaybillAjustApplyMapper.auditCenterPass(emisWaybillAjustApply);
// 财务中心费用审核:数据部人员通过岗位登记的费用申请:修改项目“运费调整”,财务审批通过后数据直接修改不用再进行层层审核;
// 运费调整类型
if("9".equals(emisWaybillAjustApply.getApplyType())){
SysUser opUser=getEmisStaffByCode(emisWaybillAjustApply.getApplyManCode());
if(opUser!=null){
// 判断申请人是否是单证专属
boolean isDZZS=false;
List<Long> postIds=postMapper.selectPostListByUserId(opUser.getUserId());
if(!CollectionUtils.isEmpty(postIds)){
for(Long poId:postIds){
if(poId==18){
isDZZS=true;
break;
}
}
}
// 若是单证专属则自动确认账单
if(isDZZS) {
// 自动确认账单
EmisSettleSubBill oldSubBill = emisBaseService.getSettleSubBillBySubBillNo(emisWaybillAjustApply.getBillCode());
if (oldSubBill != null) {
// 触发业务自动确认
EmisSettleSubBill updSubBillBySite = new EmisSettleSubBill();
updSubBillBySite.setId(oldSubBill.getId());
updSubBillBySite.setConfirmSiteManCode(emisWaybillAjustApply.getApplyManCode());
updSubBillBySite.setConfirmSiteCode(emisWaybillAjustApply.getApplySiteCode());
updSubBillBySite.setConfirmSiteNote("[单证专属]申请调整费用-自动确认");
emisBaseService.confirmBillBySite(updSubBillBySite);
// 触发财务自动确认
EmisSettleSubBill updSubBillByCenter = new EmisSettleSubBill();
updSubBillByCenter.setConfirmCenterManCode(getCurrentUser().getEmpCode());
updSubBillByCenter.setConfirmCenterCode(getCurrentUser().getOwnerSiteCode());
updSubBillByCenter.setConfirmCenterNote("[单证专属]申请调整费用-自动确认");
updSubBillByCenter.setId(oldSubBill.getId());
emisBaseService.confirmBillByCenter(updSubBillByCenter);
// 判断账单是否已经被合并,若被合并则需要重新计算费用
// 重新计算总账单费用
// 获取账单是否已经被合并,若合并则更新账单费用
if (!StringUtils.isEmpty(oldSubBill.getSettleBillNo())) {
EmisSettleBill oldSettleBill = emisSettleBillService.selectEmisSettleBillBySettleBillNo(oldSubBill.getSettleBillNo());
if (oldSettleBill != null) {
// 触发业务账单自动确认
EmisSettleBill emisSettleBill = new EmisSettleBill();
emisSettleBill.setConfirmSiteManCode(emisWaybillAjustApply.getApplyManCode());
emisSettleBill.setConfirmSiteCode(emisWaybillAjustApply.getApplySiteCode());
emisSettleBill.setBlConfirmSite("1");
emisSettleBill.setConfirmSiteDate(new Date());
emisSettleBill.setId(oldSettleBill.getId());
emisSettleBill.setConfirmSiteNote("单证专属-触发财务自动确认");
emisSettleBillService.updateEmisSettleBill(emisSettleBill);
// 重新计算账单费用,计算开票状态,计算收款状态
emisSettleBillService.reCalcSettleBillFee(oldSettleBill);
emisSettleBillService.reCalcSettleBillInvoiceStatus(oldSubBill.getSettleBillNo());
emisSettleBillService.reCalcSettleBillPayStatus(oldSubBill.getSettleBillNo());
}
}
}
}
}
}
return 1;
}