md
This commit is contained in:
parent
2c571f48a5
commit
cf26a1d12a
@ -14,11 +14,16 @@ package com.xdadan.erp.web.emis;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleInvoiceChRecord;
|
||||
import com.xdadan.erp.emis.domain.EmisSettleInvoiceRecord;
|
||||
import com.xdadan.erp.emis.domain.EmisWaybill;
|
||||
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||
import com.xdadan.erp.emis.service.IEmisSettleInvoiceChRecordService;
|
||||
import com.xdadan.erp.emis.utils.WaybillHelper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@ -34,7 +39,6 @@ import com.xdadan.erp.common.core.controller.BaseController;
|
||||
import com.xdadan.erp.common.core.domain.AjaxResult;
|
||||
import com.xdadan.erp.common.core.page.TableDataInfo;
|
||||
import com.xdadan.erp.common.enums.BusinessType;
|
||||
import com.xdadan.erp.common.utils.StringUtils;
|
||||
import com.xdadan.erp.common.utils.poi.ExcelUtil;
|
||||
|
||||
/**
|
||||
@ -149,6 +153,32 @@ public class EmisSettleInvoiceChRecordController extends BaseController
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 作废发票
|
||||
*/
|
||||
@Log(title = "渠道开票记录表", businessType = BusinessType.UPDATE)
|
||||
@PostMapping
|
||||
public AjaxResult invalidInvoice(@RequestBody EmisSettleInvoiceChRecord emisSettleInvoiceChRecord)
|
||||
{
|
||||
|
||||
try {
|
||||
return toAjax(emisSettleInvoiceChRecordService.invalidInvoice(emisSettleInvoiceChRecord));
|
||||
|
||||
}catch(EmisBizError ex){
|
||||
ex.printStackTrace();
|
||||
return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage());
|
||||
}
|
||||
catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
// 返回子定义异常
|
||||
if(ex instanceof EmisBizError){
|
||||
return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode());
|
||||
}
|
||||
|
||||
return AjaxResult.error("服务器异常,联系客服");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改渠道开票记录表
|
||||
|
||||
@ -61,6 +61,14 @@ public interface IEmisSettleInvoiceChRecordService
|
||||
*/
|
||||
public int updateEmisSettleInvoiceChRecord(EmisSettleInvoiceChRecord emisSettleInvoiceChRecord);
|
||||
|
||||
|
||||
/**
|
||||
* 作废发票
|
||||
* @param emisSettleInvoiceChRecord
|
||||
* @return
|
||||
*/
|
||||
public int invalidInvoice(EmisSettleInvoiceChRecord emisSettleInvoiceChRecord) throws EmisBizError;
|
||||
|
||||
/**
|
||||
* 批量删除渠道开票记录表
|
||||
*
|
||||
|
||||
@ -446,6 +446,49 @@ public class EmisSettleInvoiceChRecordServiceImpl extends EmisBaseService implem
|
||||
return emisSettleInvoiceChRecordMapper.updateEmisSettleInvoiceChRecord(emisSettleInvoiceChRecord);
|
||||
}
|
||||
|
||||
/**
|
||||
* 作废发票
|
||||
*
|
||||
* @param emisSettleInvoiceChRecord 渠道开票记录表
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int invalidInvoice(EmisSettleInvoiceChRecord emisSettleInvoiceChRecord) throws EmisBizError {
|
||||
// 判断发票金额申请金额是否一致
|
||||
EmisSettleInvoiceChRecord rcd=emisSettleInvoiceChRecordMapper.selectEmisSettleInvoiceChRecordById(emisSettleInvoiceChRecord.getId());
|
||||
if(rcd==null){
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL,"发票不存在");
|
||||
}
|
||||
|
||||
// 获取申请单金额 开票申请金额==开票金额
|
||||
EmisSettleInvoiceRecord oldIRCD=emisSettleInvoiceRecordMapper.selectInvoiceRecordByApplySeqNo(rcd.getApplySeqNo());
|
||||
if(oldIRCD.getApplyMoney().compareTo(rcd.getOpenMoney()) == 0 ){
|
||||
|
||||
// 发票作废
|
||||
emisSettleInvoiceChRecord.setOpenChStatus("3");
|
||||
emisSettleInvoiceChRecordMapper.updateEmisSettleInvoiceChRecord(emisSettleInvoiceChRecord);
|
||||
|
||||
// 更新申请状态为审核不通过
|
||||
emisSettleInvoiceRecordMapper.auditCenterNoPass(oldIRCD);
|
||||
|
||||
// 重新计算账单状态
|
||||
String[] settleBillNoArr = oldIRCD.getSettleBillNo().split(",");
|
||||
for(int i=0;i<settleBillNoArr.length;i++) {
|
||||
emisSettleBillService.reCalcSettleBillInvoiceStatus(settleBillNoArr[i]);
|
||||
}
|
||||
|
||||
}else{
|
||||
// 其他需手工处理
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL,"发票金额不等于申请金额,不允许作废");
|
||||
}
|
||||
|
||||
|
||||
return 1;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量删除渠道开票记录表
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user