ariesy 修改取消进项税转出,推送ztid

release
yefei 2 years ago
parent 5c7f825862
commit a78bc14fa8
  1. 129
      dxhy-base/src/main/java/com/dxhy/base/service/receipt/BaseReceiptOutServiceImpl.java
  2. 11
      dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java
  3. 4
      dxhy-extend/src/main/java/com/dxhy/extend/service/customs/CustomsServiceImpl.java

@ -43,10 +43,10 @@ import com.github.pagehelper.PageInfo;
* @date 2019-04-24 进项税转出相关操作
*/
@SuppressWarnings({"AlibabaUndefineMagicConstant", "AlibabaCollectionInitShouldAssignCapacity",
"AlibabaLowerCamelCaseVariableNaming"})
"AlibabaLowerCamelCaseVariableNaming"})
@Service("baseIReceiptOutService")
public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao, BaseTDxRecordInvoiceOut>
implements BaseIReceiptOutService {
implements BaseIReceiptOutService {
@Resource
private BaseIInvoiceOutService baseIInvoiceOutService;
@ -67,8 +67,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 已转出进项税列表页数据
*
* @param reqVO
* 请求参数
* @param reqVO 请求参数
* @return 返回结果
*/
@Override
@ -108,19 +107,19 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
filter.put("invoiceNo", StringHelper.isBlank(reqVO.getInvoiceNo()) ? null : reqVO.getInvoiceNo());
// 转出原因
filter.put("reasonId", (StringHelper.isBlank(reqVO.getReasonId()) || "99".equals(reqVO.getReasonId())) ? null
: reqVO.getReasonId());
: reqVO.getReasonId());
// 发票状态
filter.put("invoiceStatus",
(StringHelper.isBlank(reqVO.getInvoiceStatus()) || "99".equals(reqVO.getInvoiceStatus())) ? null
: reqVO.getInvoiceStatus());
(StringHelper.isBlank(reqVO.getInvoiceStatus()) || "99".equals(reqVO.getInvoiceStatus())) ? null
: reqVO.getInvoiceStatus());
// 转出开始时间
filter.put("outStartDate", reqVO.getOutStartDate());
// 转出结束时间
filter.put("outEndDate", reqVO.getOutEndDate());
// 业务参数
filter.put("businessCode",
(StringHelper.isBlank(reqVO.getBusinessCode()) || "99".equals(reqVO.getBusinessCode())) ? null
: reqVO.getBusinessCode());
(StringHelper.isBlank(reqVO.getBusinessCode()) || "99".equals(reqVO.getBusinessCode())) ? null
: reqVO.getBusinessCode());
filter.put("company", reqVO.getCompany());
// 执行查询并排序
PageInfo<BaseReceiptInvoiceView> pageInfo = baseIInvoiceOutService.listPageByInvoice(filter);
@ -134,7 +133,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
for (BaseReceiptInvoiceView view : pageInfo.getList()) {
BaseReceiptOutRespVO vo = convertToInvoiceView(view, invoiceStatusMap);
// 序号计算 = (当前页-1)*每页条数+1
vo.setXh((long)((pageInfo.getPageNum() - 1) * pageInfo.getPageSize() + index));
vo.setXh((long) ((pageInfo.getPageNum() - 1) * pageInfo.getPageSize() + index));
index++;
respVos.add(vo);
}
@ -146,7 +145,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 合计金额 and 合计税额
BaseReceiptInvoiceView view = baseIInvoiceOutService.querySumForInvoice(filter);
BigDecimal totalAmount =
(view == null || view.getInvoiceAmount() == null) ? new BigDecimal(0) : view.getInvoiceAmount();
(view == null || view.getInvoiceAmount() == null) ? new BigDecimal(0) : view.getInvoiceAmount();
BigDecimal taxAmount = (view == null || view.getTaxAmount() == null) ? new BigDecimal(0) : view.getTaxAmount();
json.put("sumInvoiceAmount", AmountFormatUtil.fmtMicrometer(MathUtil.round(totalAmount.toPlainString())));
json.put("sumTaxAmount", AmountFormatUtil.fmtMicrometer(MathUtil.round(taxAmount.toPlainString())));
@ -157,14 +156,12 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* pojo转为view
*
* @param record
* 请求参数
* @param invoiceStatusMap
* 请求参数
* @param record 请求参数
* @param invoiceStatusMap 请求参数
* @return 返回结果
*/
private BaseReceiptOutRespVO convertToInvoiceView(BaseReceiptInvoiceView record,
Map<String, String> invoiceStatusMap) {
Map<String, String> invoiceStatusMap) {
BaseReceiptOutRespVO vo = new BaseReceiptOutRespVO();
// uuid作为主键
vo.setId(record.getUuid());
@ -179,7 +176,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 开票日期
vo.setInvoiceDate(DateUtils.dateToStr(record.getInvoiceDate()));
// 发票状态
vo.setInvoiceStatusName(dictdetaServcice.queryDictName(DictConstant.INVOICE_STATUS,record.getInvoiceStatus()));
vo.setInvoiceStatusName(dictdetaServcice.queryDictName(DictConstant.INVOICE_STATUS, record.getInvoiceStatus()));
// 购方税号
vo.setGfsh(record.getGfTaxNo());
// 购方名称
@ -209,16 +206,13 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 根据转出类型 set 抵账表中进项税转出相关字段 (部分转出 or 全部转出)
*
* @param invoices
* 请求参数
* @param condVO
* 请求参数
* @param userInfo
* 请求参数
* @param invoices 请求参数
* @param condVO 请求参数
* @param userInfo 请求参数
* @return 返回结果
*/
private List<BaseTDxRecordInvoice> setPartInvoiceByType(List<BaseTDxRecordInvoice> invoices,
BaseInvoiceEditCondVO condVO, UserInfo userInfo) {
BaseInvoiceEditCondVO condVO, UserInfo userInfo) {
List<BaseTDxRecordInvoice> condList = new ArrayList<>();
for (BaseTDxRecordInvoice record : invoices) {
QueryWrapper<BaseTDxTaxCurrent> queryWrapper = new QueryWrapper<>();
@ -251,7 +245,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) {
// 转出金额累加
BigDecimal oldOutAmount =
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
BigDecimal newOutAmount = oldOutAmount.add(new BigDecimal(condVO.getOutAmount()));
// -1=小于; 0=等于; 1=大于;
int compareOut = newOutAmount.compareTo(record.getInvoiceAmount());
@ -285,17 +279,13 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 构建进项税转出明细
*
* @param condVO
* 请求参数
* @param userInfo
* 请求参数
* @param invoice
* 请求参数
* @param record
* 请求参数
* @param condVO 请求参数
* @param userInfo 请求参数
* @param invoice 请求参数
* @param record 请求参数
*/
private void createInvoiceOut(BaseInvoiceEditCondVO condVO, UserInfo userInfo, BaseTDxRecordInvoice invoice,
BaseTDxRecordInvoiceOut record) {
BaseTDxRecordInvoiceOut record) {
// uuid
record.setUuid(invoice.getUuid());
// 发票号码
@ -317,7 +307,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
if (JxszcZtEnum.BFZC.getZcztDm().equals(condVO.getOutStatus())) {
// 转出金额累加
BigDecimal oldOutAmount =
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
record.getOutInvoiceAmout() == null ? new BigDecimal(0) : record.getOutInvoiceAmout();
BigDecimal newOutAmount = oldOutAmount.add(new BigDecimal(condVO.getOutAmount()));
// -1=小于; 0=等于; 1=大于;
int compareOut = newOutAmount.compareTo(invoice.getInvoiceAmount());
@ -361,10 +351,8 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
* <p>
* 查询底账表数据查询转出流水 如果已经有转出流水则update 如果没有转出流水则insert 更正底账表转出相关字段
*
* @param condVO
* 请求参数
* @param userInfo
* 请求参数
* @param condVO 请求参数
* @param userInfo 请求参数
* @return 返回结果
*/
@Override
@ -379,7 +367,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// second:根据uuids查询出转出明细并转为map,key=uuid ,value=转出明细
List<BaseTDxRecordInvoiceOut> outs = listByUuids(ids);
Map<String, BaseTDxRecordInvoiceOut> outMap =
outs.stream().collect(Collectors.toMap(BaseTDxRecordInvoiceOut::getUuid, tri -> tri));
outs.stream().collect(Collectors.toMap(BaseTDxRecordInvoiceOut::getUuid, tri -> tri));
// third:设置底账表中的 进项税转出 部分相关字段
List<BaseTDxRecordInvoice> condList = setPartInvoiceByType(invoices, condVO, userInfo);
@ -406,10 +394,8 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 数据源设置end事物处理
*
* @param condList
* 请求参数
* @param outList
* 请求参数
* @param condList 请求参数
* @param outList 请求参数
*/
@Transactional(rollbackFor = Exception.class)
public void excuteTransferWrite(List<BaseTDxRecordInvoice> condList, List<BaseTDxRecordInvoiceOut> outList) {
@ -422,8 +408,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 批量update 转出流水
*
* @param list
* 请求参数
* @param list 请求参数
*/
private void saveOrUpdateBatch(List<BaseTDxRecordInvoiceOut> list) {
if (list != null && list.size() > 0) {
@ -434,8 +419,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 根据uuids查询进项税转出明细
*
* @param uuids
* 请求参数
* @param uuids 请求参数
* @return 返回结果
*/
private List<BaseTDxRecordInvoiceOut> listByUuids(String[] uuids) {
@ -447,8 +431,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 取消已转出进项税 请求确认
*
* @param reqVO
* 请求参数
* @param reqVO 请求参数
* @return 返回结果
*/
@Override
@ -464,8 +447,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 数据库操作
*
* @param uuids
* 请求参数
* @param uuids 请求参数
*/
@Transactional(rollbackFor = Exception.class)
public void excuteCancelWrite(String[] uuids) {
@ -478,8 +460,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 取消进项税转出批量revert抵账表已经更新的字段
*
* @param ids
* 请求参数
* @param ids 请求参数
*/
private void updatePartInvoiceForCancel(String[] ids) {
List<BaseTDxRecordInvoice> list = baseIReceiptInvoiceService.selectByUuids(ids);
@ -507,8 +488,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 进项税弹框显示 下拉框内容
*
* @param map
* 请求参数
* @param map 请求参数
* @return 返回结果
*/
@Override
@ -544,8 +524,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 取消已转出进项税列表
*
* @param reqVO
* 请求参数
* @param reqVO 请求参数
* @return 返回结果
*/
@Override
@ -585,19 +564,19 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
filter.put("invoiceNo", StringHelper.isBlank(reqVO.getInvoiceNo()) ? null : reqVO.getInvoiceNo());
// 转出原因
filter.put("reasonId", (StringHelper.isBlank(reqVO.getReasonId()) || "99".equals(reqVO.getReasonId())) ? null
: reqVO.getReasonId());
: reqVO.getReasonId());
// 发票状态
filter.put("invoiceStatus",
(StringHelper.isBlank(reqVO.getInvoiceStatus()) || "99".equals(reqVO.getInvoiceStatus())) ? null
: reqVO.getInvoiceStatus());
(StringHelper.isBlank(reqVO.getInvoiceStatus()) || "99".equals(reqVO.getInvoiceStatus())) ? null
: reqVO.getInvoiceStatus());
// 转出开始时间
filter.put("outStartDate", reqVO.getOutStartDate());
// 转出结束时间
filter.put("outEndDate", reqVO.getOutEndDate());
// 业务参数
filter.put("businessCode",
(StringHelper.isBlank(reqVO.getBusinessCode()) || "99".equals(reqVO.getBusinessCode())) ? null
: reqVO.getBusinessCode());
(StringHelper.isBlank(reqVO.getBusinessCode()) || "99".equals(reqVO.getBusinessCode())) ? null
: reqVO.getBusinessCode());
filter.put("company", reqVO.getCompany());
// 执行查询并排序
PageInfo<BaseReceiptInvoiceView> pageInfo = baseIInvoiceOutService.listPageByInvoice(filter);
@ -609,7 +588,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
for (BaseReceiptInvoiceView view : pageInfo.getList()) {
BaseReceiptOutCancelRespVO vo = convertToInvoiceCancelView(view, invoiceStatusMap);
// 序号计算 = (当前页-1)*每页条数+1
vo.setXh((long)((pageInfo.getPageNum() - 1) * pageInfo.getPageSize() + index));
vo.setXh((long) ((pageInfo.getPageNum() - 1) * pageInfo.getPageSize() + index));
index++;
respVos.add(vo);
}
@ -621,7 +600,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 合计金额 and 合计税额
BaseReceiptInvoiceView view = baseIInvoiceOutService.querySumForInvoice(filter);
BigDecimal totalAmount =
(view == null || view.getInvoiceAmount() == null) ? new BigDecimal(0) : view.getInvoiceAmount();
(view == null || view.getInvoiceAmount() == null) ? new BigDecimal(0) : view.getInvoiceAmount();
BigDecimal taxAmount = (view == null || view.getTaxAmount() == null) ? new BigDecimal(0) : view.getTaxAmount();
json.put("sumInvoiceAmount", AmountFormatUtil.fmtMicrometer(MathUtil.round(totalAmount.toPlainString())));
json.put("sumTaxAmount", AmountFormatUtil.fmtMicrometer(MathUtil.round(taxAmount.toPlainString())));
@ -632,14 +611,12 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
/**
* 取消已转出进项税 pojo转vo
*
* @param record
* 请求参数
* @param invoiceStatusMap
* 请求参数
* @param record 请求参数
* @param invoiceStatusMap 请求参数
* @return 返回结果
*/
private BaseReceiptOutCancelRespVO convertToInvoiceCancelView(BaseReceiptInvoiceView record,
Map<String, String> invoiceStatusMap) {
Map<String, String> invoiceStatusMap) {
BaseReceiptOutCancelRespVO vo = new BaseReceiptOutCancelRespVO();
// uuid作为主键
vo.setId(record.getUuid());
@ -652,7 +629,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 开票日期
vo.setInvoiceDate(DateUtils.dateToStr(record.getInvoiceDate()));
// 发票状态
vo.setInvoiceStatusName(dictdetaServcice.queryDictName(DictConstant.INVOICE_STATUS,record.getInvoiceStatus()));
vo.setInvoiceStatusName(dictdetaServcice.queryDictName(DictConstant.INVOICE_STATUS, record.getInvoiceStatus()));
// 购方税号
vo.setGfsh(record.getGfTaxNo());
// 购方名称
@ -677,16 +654,18 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
vo.setReason(reason.getOutReason());
// 认证日期 string类型的长日期转为string类型的短日期
String certDate = record.getCertDate();
Date date = DateUtils.strToDate(certDate);
vo.setCertDate(DateUtils.dateToStr(date));
Date date = new Date();
if (certDate != null) {
date = DateUtils.strToDate(certDate);
vo.setCertDate(DateUtils.dateToStr(date));
}
return vo;
}
/**
* 批量将 进项税 明细转为已取消
*
* @param uuids
* 请求参数
* @param uuids 请求参数
*/
private void updateBatchByUuid(String[] uuids) {
BaseTDxRecordInvoiceOut entity = new BaseTDxRecordInvoiceOut();

@ -307,6 +307,7 @@ public class SDNYMainProcessController extends AbstractController {
Date date = new Date();
SAPInvoiceInfo info = new SAPInvoiceInfo();
String snFplx = convertToSapType(snInvoice.getInvoiceType());
info.setZBAZT("0");
info.setZXFSH(snInvoice.getSalesTaxNo());
info.setZFPSZD(snInvoice.getPlace());
@ -326,7 +327,7 @@ public class SDNYMainProcessController extends AbstractController {
info.setZSCSJ(date);
info.setZCYZT(snInvoice.getCheckStaus());
info.setZYSHW(snInvoice.getCargoInformation());
info.setZFPLX(convertToSapType(snInvoice.getInvoiceType()));
info.setZFPLX(snFplx);
info.setZQYD(snInvoice.getTransportRoute());
info.setZCCRXM(snInvoice.getRiderName());
info.setZKPRQ(snInvoice.getBillingDate());
@ -370,9 +371,9 @@ public class SDNYMainProcessController extends AbstractController {
sapInvoiceDetail.setZSM(info.getZSM());
sapInvoiceDetail.setZGGXH(snInvoiceDetail.getSpecificationModel());
if (snInvoice.getInvoiceCode() != null) {
sapInvoiceDetail.setZTID(snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber() + snInvoice.getInvoiceType());
sapInvoiceDetail.setZTID(snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber() + snFplx);
} else {
sapInvoiceDetail.setZTID(snInvoice.getInvoiceNumber() + snInvoice.getInvoiceType());
sapInvoiceDetail.setZTID(snInvoice.getInvoiceNumber() + snFplx);
}
sapInvoiceDetailList.add(sapInvoiceDetail);
}
@ -436,9 +437,9 @@ public class SDNYMainProcessController extends AbstractController {
info.setZPJLY(snInvoice.getSource());
info.setZZWLX(snInvoice.getSeat());
if (snInvoice.getInvoiceCode() != null) {
info.setZTID(snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber());
info.setZTID(snInvoice.getInvoiceCode() + snInvoice.getInvoiceNumber() + snFplx);
} else {
info.setZTID(snInvoice.getInvoiceNumber());
info.setZTID(snInvoice.getInvoiceNumber() + snFplx);
}
return info;
}

@ -44,11 +44,11 @@ public class CustomsServiceImpl extends MpBaseServiceImpl<CustomsDao, CustomsRec
// 表头
String[] titlelist = {"序号", "缴款书号码", "管理状态", "填发日期", "缴款单位名称", "缴款单位税号", "税款金额", "抵扣税款金额", "稽核结果", "是否申请核对",
"核对结果", "认证状态", "认证类型", "认证日期", "认证方式", "认证人", "采集状态", "底账库采集时间", "采集来源", "签收方式", "签收状态", "签收日期", "签收人",
"入账月份", "入账状态", "凭证号", "业务单元", "入池时间","凭证号", "过账时间", "影像号", "账期"};
"入账月份", "入账状态", "凭证号", "业务单元", "入池时间", "过账时间", "影像号", "账期"};
String[] titleprop = {"xh", "customsCode", "glzt", "fillInDate", "gfName", "gfTaxNo", "taxAmount",
"yxTaxAmount", "auditStatus", "applyCheck", "checkStatus", "rzhYesorno", "bdkStatus", "rzhDate", "rzhType",
"confirmUser", "cjzt", "createDate", "dataSources", "qsType", "qsStatus", "qsDate", "qsUser",
"inAccountDate", "inAccountStatus", "voucherNumber", "businessName", "createDate","voucherNo", "postingTime","imageId","accountPeriod"};
"inAccountDate", "inAccountStatus", "voucherNumber", "businessName", "createDate", "postingTime","imageId","accountPeriod"};
// 需要设置返回列表标题时调用
JSONObject json = super.setTitleList(titlelist, titleprop);
try {

Loading…
Cancel
Save