Merge remote-tracking branch 'origin/dev-v6.0.1' into dev-v6.0.1

release
zhenghaiyang@ele-cloud.com 2 years ago
commit 79e68fd0da
  1. 5
      dxhy-base/src/main/java/com/dxhy/base/controller/BaseInvoiceController.java
  2. 1
      dxhy-base/src/main/java/com/dxhy/base/controller/BaseRzTDxRecordInvoiceController.java
  3. 8
      dxhy-base/src/main/java/com/dxhy/base/service/invoicecheck/BaseInvoiceManualCheckServiceImpl.java
  4. 4
      dxhy-base/src/main/java/com/dxhy/base/service/receipt/BaseReceiptOutServiceImpl.java
  5. 60
      dxhy-base/src/main/resources/mapper/BaseSggxcxMapper.xml
  6. 2
      dxhy-core/src/main/java/com/dxhy/core/config/WebConfiguration.java
  7. 129
      dxhy-core/src/main/java/com/dxhy/core/controller/ExcelController.java
  8. 9
      dxhy-core/src/main/java/com/dxhy/core/controller/InvoiceQueryController.java
  9. 56
      dxhy-core/src/main/java/com/dxhy/core/dao/ExtMessageControlDao.java
  10. 13
      dxhy-core/src/main/java/com/dxhy/core/dao/ExtSysMessagecontrolDao.java
  11. 29
      dxhy-core/src/main/java/com/dxhy/core/entity/ExtSysMessagecontrol.java
  12. 28
      dxhy-core/src/main/java/com/dxhy/core/entity/ExtSysMessagecontrolVo.java
  13. 3
      dxhy-core/src/main/java/com/dxhy/core/job/service/impl/ConfirmServiceImpl.java
  14. 64
      dxhy-core/src/main/java/com/dxhy/core/service/ExtMessageControlService.java
  15. 76
      dxhy-core/src/main/java/com/dxhy/core/service/ExtMessageControlServiceImpl.java
  16. 10
      dxhy-core/src/main/java/com/dxhy/core/service/invoicedetail/InvoiceDetailServiceImpl.java
  17. 5
      dxhy-core/src/main/java/com/dxhy/core/service/singletable/impl/CoreInvoiceQueryServiceImpl.java
  18. 2
      dxhy-core/src/main/java/com/dxhy/core/util/InvoiceQueryUtil.java
  19. 73
      dxhy-core/src/main/resources/mapper/ExtMessageControl.xml
  20. 45
      dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java
  21. 4
      dxhy-erp/src/main/java/com/dxhy/erp/dao/TdxRecordInvoiceDao.java
  22. 25
      dxhy-erp/src/main/java/com/dxhy/erp/model/BaseReceiptOutCancelEditReqVO.java
  23. 11
      dxhy-erp/src/main/java/com/dxhy/erp/service/BaseIReceiptInvoiceService.java
  24. 92
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/BaseIReceiptInvoiceServiceImpl.java
  25. 4
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ReceiptOutServiceImpl.java
  26. 6
      dxhy-erp/src/main/resources/mapper/TdxRecordInvoiceDao.xml
  27. 4
      dxhy-sign/src/main/java/com/dxhy/sign/service/fpqs/impl/FpqsServiceImpl.java
  28. 9
      dxhy-sign/src/main/java/com/dxhy/sign/service/fpqs/impl/SignFpqsServiceImpl.java

@ -423,6 +423,10 @@ public class BaseInvoiceController extends AbstractController {
pramsMap.put("paymentDateEnd", map.get("paymentDateEnd"));
pramsMap.put("settlementNo", map.get("settlementNo"));
pramsMap.put("voucherNumber", map.get("voucherNumber"));
pramsMap.put("snVoucherNumber", map.get("snVoucherNumber"));
pramsMap.put("postingTime", map.get("postingTime"));
pramsMap.put("imageId", map.get("imageId"));
pramsMap.put("accountPeriod", map.get("accountPeriod"));
String inAccountStatus = (String)map.get("inAccountStatus");
if (sfkrz != null) {
@ -628,6 +632,7 @@ public class BaseInvoiceController extends AbstractController {
return ResponseEntity.ok(R.error("签收状态不能为空!"));
}
String qsflag = getUserInfo().getQsStatus();
log.info("签收开关qsflag:{}",qsflag);
if ("1".equals(qsflag)) {
pramsMap.put("qszt", "1");
}

@ -467,6 +467,7 @@ public class BaseRzTDxRecordInvoiceController extends AbstractController {
pramsMap.put("gfsh", gfshList);
String qsflag = getUserInfo().getQsStatus();
pramsMap.put("qsflag", qsflag);
log.info("签收认证状态为:{}",qsflag);
if (!StringHelper.isBlank(datalist)) {
pramsMap.put("datalist", datalist);

@ -14,6 +14,7 @@ import java.util.Map;
import javax.annotation.Resource;
import com.dxhy.common.constant.DictConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
@ -49,6 +50,7 @@ import com.github.pagehelper.PageInfo;
* @version 1.0
*/
@SuppressWarnings({"AlibabaLowerCamelCaseVariableNaming", "AlibabaUndefineMagicConstant", "AlibabaMethodTooLong"})
@Slf4j
@Service("baseInvoiceManualCheckService")
public class BaseInvoiceManualCheckServiceImpl extends MpBaseServiceImpl<BaseTDxRecordInvoiceDao, BaseTDxRecordInvoice>
implements BaseInvoiceManualCheckService {
@ -204,10 +206,12 @@ public class BaseInvoiceManualCheckServiceImpl extends MpBaseServiceImpl<BaseTDx
if (!"1".equals(pageList.get(i).getAuthStatus())) {
vo.setSelect(false);
}
log.info("返回的发票信息是:{}",pageList.get(i));
String invoiceStatus="07";
if ( !invoiceStatus.contains(pageList.get(i).getInvoiceStatus())
|| pageList.get(i).getInvoiceAmount().compareTo(new BigDecimal(0)) < 0
|| pageList.get(i).getTaxAmount().compareTo(new BigDecimal(0)) < 0) {
|| pageList.get(i).getInvoiceAmount() != null && pageList.get(i).getInvoiceAmount().compareTo(new BigDecimal(0)) < 0
|| pageList.get(i).getTaxAmount() != null && pageList.get(i).getTaxAmount().compareTo(new BigDecimal(0)) < 0) {
vo.setSelect(false);
vo.setUpgradeStatus("0");
}

@ -190,6 +190,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 转出金额
vo.setOutAmount(AmountFormatUtil.fmtMicrometer(MathUtil.round(record.getOutInvoiceAmout().toPlainString())));
// 转出税额
if (record.getOutTaxAmount() != null)
vo.setOutTax(AmountFormatUtil.fmtMicrometer(MathUtil.round(record.getOutTaxAmount().toPlainString())));
vo.setRemark(record.getOutRemark());
@ -199,6 +200,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
QueryWrapper<BaseTDxOutReason> query = new QueryWrapper<>();
query.eq("reason_code", record.getOutReason());
BaseTDxOutReason reason = baseTDxOutReasonDao.selectOne(query);
if (reason != null)
vo.setReason(reason.getOutReason());
return vo;
}
@ -643,6 +645,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
// 转出金额
vo.setOutAmount(AmountFormatUtil.fmtMicrometer(MathUtil.round(record.getOutInvoiceAmout().toPlainString())));
// 转出税额
if (record.getOutTaxAmount() != null)
vo.setOutTax(AmountFormatUtil.fmtMicrometer(MathUtil.round(record.getOutTaxAmount().toPlainString())));
vo.setRemark(record.getOutRemark());
vo.setOutDate(DateUtils.dateToStr(record.getOutDate()));
@ -651,6 +654,7 @@ public class BaseReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutD
QueryWrapper<BaseTDxOutReason> query = new QueryWrapper<>();
query.eq("reason_code", record.getOutReason());
BaseTDxOutReason reason = baseTDxOutReasonDao.selectOne(query);
if (reason != null)
vo.setReason(reason.getOutReason());
// 认证日期 string类型的长日期转为string类型的短日期
String certDate = record.getCertDate();

@ -64,7 +64,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE date_format(t.invoice_date,'%Y-%m-%d') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.auth_status in('0','5','6')
and t.export_mark = '0'
@ -110,7 +110,7 @@
and t.payment_status = #{paymentStatus}
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -171,6 +171,18 @@
<if test="qsksrq==null or qsksrq=='' or qsjsrq==null or qsjsrq==''">
order by t.invoice_date desc
</if>
<if test="snVoucherNumber != null and snVoucherNumber != '' and snVoucherNumber != 'null' and snVoucherNumber != '99'">
and t.sn_voucher_number = #{snVoucherNumber}
</if>
<if test="postingTime != null and postingTime != '' and postingTime != 'null' and postingTime != '99'">
and t.postingTime = #{postingTime}
</if>
<if test="imageId != null and imageId != '' and imageId != 'null' and imageId != '99'">
and t.image_id = #{imageId}
</if>
<if test="accountPeriod != null and accountPeriod != '' and accountPeriod != 'null' and accountPeriod != '99'">
and t.account_period = #{accountPeriod}
</if>
</select>
<select id="selectDksh" parameterType="java.util.Map"
resultType="com.dxhy.base.entity.BaseTDxDkCount"
@ -199,7 +211,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE to_char(t.invoice_date,'yyyy-MM-dd') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.auth_status in('0','5','6')
and t.export_mark = '0'
@ -245,7 +257,7 @@
and t.payment_status = #{paymentStatus}
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -323,6 +335,18 @@
<if test="eleInvoiceNo!=null and eleInvoiceNo!='' and eleInvoiceNo!='null'">
and t.ele_invoice_no = #{eleInvoiceNo}
</if>
<if test="snVoucherNumber != null and snVoucherNumber != '' and snVoucherNumber != 'null' and snVoucherNumber != '99'">
and t.sn_voucher_number = #{snVoucherNumber}
</if>
<if test="postingTime != null and postingTime != '' and postingTime != 'null' and postingTime != '99'">
and t.postingTime = #{postingTime}
</if>
<if test="imageId != null and imageId != '' and imageId != 'null' and imageId != '99'">
and t.image_id = #{imageId}
</if>
<if test="accountPeriod != null and accountPeriod != '' and accountPeriod != 'null' and accountPeriod != '99'">
and t.account_period = #{accountPeriod}
</if>
</select>
<select id="selectHj" parameterType="java.util.Map"
@ -331,7 +355,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE date_format(t.invoice_date,'%Y-%m-%d') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.auth_status in('0','5','6')
and t.export_mark = '0'
@ -368,7 +392,7 @@
and t.voucher_number like concat('%',concat(#{voucherNumber},'%'))
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -439,7 +463,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE to_char(t.invoice_date,'yyyy-mm-dd') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.auth_status in('0','5','6')
and t.export_mark = '0'
@ -455,10 +479,10 @@
<if
test="sfkrz != '99' and sfkrz != null and sfkrz != '' and sfkrz != 'null' and sfkrz == '0'.toString()">
and (t.invoice_status in ('1','2','3','4','8','80') or t.invoice_amount &lt;0 or t.tax_amount &lt;0 or
and t.invoice_status in ('1','2','3','4','8','80') or t.invoice_amount &lt;0 or t.tax_amount &lt;0 or
to_char(t.invoice_date,'yyyymmdd') &lt;= c.select_start_date or
to_char(t.invoice_date,'yyyymmdd') &gt;=
c.select_end_date or d.tj_status in ('1','2'))
c.select_end_date or d.tj_status in ('1','2')
</if>
and t.gf_tax_no in
@ -476,7 +500,7 @@
and t.voucher_number like concat('%',concat(#{voucherNumber},'%'))
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -731,7 +755,7 @@
where date_format(t.invoice_date,'%Y-%m-%d') between #{kpksrq} and #{kpjsrq}
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.export_mark = '0'
and t.invoice_amount>0
and t.tax_amount>=0
@ -765,7 +789,7 @@
and date_format(t.qs_date,'%Y-%m-%d') between #{qsksrq} and #{qsjsrq}
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -810,7 +834,7 @@
where to_char(t.invoice_date,'yyyy-MM-dd') between #{kpksrq} and #{kpjsrq}
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.invoice_amount>0
and t.tax_amount>=0
and t.auth_status in ('0','5','6')
@ -843,7 +867,7 @@
and to_char(t.qs_date,'yyyy-MM-dd') between #{qsksrq} and #{qsjsrq}
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType == '14' ">
and (t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08') )
and t.invoice_type = '14' or (t.invoice_type = '32' and t.lq_tdyslxDm='08')
</if>
<if test="invoiceType != null and invoiceType != '' and invoiceType != 'null' and invoiceType != '14' ">
and t.invoice_type = #{invoiceType}
@ -901,7 +925,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE date_format(t.invoice_date,'%Y-%m-%d') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and t.auth_status in('0','5','6')
@ -988,7 +1012,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE to_char(t.invoice_date,'yyyy-MM-dd') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and t.auth_status in('0','5','6')
@ -1070,7 +1094,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE date_format(t.invoice_date,'%Y-%m-%d') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and t.auth_status in('0','5','6')
@ -1145,7 +1169,7 @@
from t_dx_record_invoice t left join t_dx_tax_current c on t.gf_tax_no = c.taxno
left join t_dx_dk_count d on c.taxno = d.taxno and c.current_tax_period = d.skssq
WHERE to_char(t.invoice_date,'yyyy-MM-dd') between #{kpksrq} and #{kpjsrq}
and (t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08'))
and t.invoice_type in('01','03','08','14','31','283','161','183','185') or (t.invoice_type ='32' and t.lq_tdyslxDm='08')
and t.rzh_yesorno = '0'
and t.invoice_status in ('0','7')
and t.auth_status in('0','5','6')

@ -65,7 +65,7 @@ public class WebConfiguration implements WebMvcConfigurer {
private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>();
String[] urls =
{"/mailGatherLog/**","/emailMaintain/**","/excel/apply", "/ftp/download", "/scan/get/scaninfo", "/setPwd", "/resetPwd", "/invoiceDetail/info",
{"/mailGatherLog/**","/emailMaintain/**","/excel/apply","/excel/applyForSDNY", "/ftp/download", "/scan/get/scaninfo", "/setPwd", "/resetPwd", "/invoiceDetail/info",
"/invoiceDetail/saleInfo", "/smcy/info", "/invoiceDetail/companyPoolInvoiceDetail/**", "/pool/**"};
Collections.addAll(list, urls);
return list;

@ -7,6 +7,9 @@ import java.util.Map;
import javax.annotation.Resource;
import com.dxhy.core.feign.IFeginWebsocket;
import com.dxhy.core.service.ExtMessageControlService;
import com.dxhy.core.service.export.IExcelExportService;
import org.apache.commons.lang.StringUtils;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@ -41,6 +44,12 @@ public class ExcelController extends AbstractController {
@Resource
private IExcelExportlogService exportlogService;
@Resource
private IExcelExportService excelExportService;
@Resource
private ExtMessageControlService messageControlService;
@Resource
private Sender sender;
@ -145,6 +154,126 @@ public class ExcelController extends AbstractController {
}
}
/**
* excel导出申请接口
*
* @return 返回
*
*/
@PostMapping("/applyForSDNY")
@ResponseBody
public ResponseEntity<?> excelExportApplyForSDNY(@RequestBody Map<String, Object> map) {
String serviceType = String.valueOf(map.get("serviceType"));
String condition = JSON.toJSONString(map.get("condition"));
// 入参统一在入口处理
Map<String, Object> pramsMap = new HashMap<>(16);
pramsMap.put("userAccount", getUserId());
pramsMap.put("userId", getUserId());
pramsMap.put("userName", getUserName());
pramsMap.put("loginName", getLoginName());
pramsMap.put("dbName", getUserInfo().getDbName());
pramsMap.put("gfTaxNo", StringHelper.listToString(UserInfoUtil.getGfshAll(getUserInfo().getOrg())));
if (StringUtils.isNotBlank(serviceType)) {
pramsMap.put("serviceType", serviceType);
} else {
return ResponseEntity.ok(R.error("业务类型不能为空!"));
}
if (StringUtils.isNotBlank(condition)) {
JSONObject prams = JSONObject.parseObject(condition);
String gfsh = prams.getString("gfsh");
prams.put("business", getUserInfo().getBusiness());
// 非查验综合查询、查验明细导出处理
if (!"30".equals(serviceType) && !"29".equals(serviceType)) {
// 判断购方税号是否为全部
if ("99".equals(gfsh)) {
StringBuffer newGfsh = new StringBuffer();
List<Tax> list = getUserInfo().getOrg();
for (int i = 0; i < list.size(); i++) {
Tax tax = list.get(i);
if (i == list.size() - 1) {
newGfsh.append(tax.getTaxno());
} else {
newGfsh.append(tax.getTaxno()).append(",");
}
}
prams.put("gfsh", newGfsh);
prams.put("gfshFlag", "99");
String newCondition = prams.toString();
pramsMap.put("conditions", newCondition);
} else if ("".equals(gfsh) || gfsh == null) {
StringBuffer newGfsh = new StringBuffer();
List<Tax> list = getUserInfo().getOrg();
for (int i = 0; i < list.size(); i++) {
Tax tax = list.get(i);
if (i == list.size() - 1) {
newGfsh.append(tax.getTaxno());
} else {
newGfsh.append(tax.getTaxno()).append(",");
}
}
prams.put("gfsh", newGfsh);
String newCondition = prams.toString();
pramsMap.put("conditions", newCondition);
} else {
String gfmc = "";
List<Tax> org = getUserInfo().getOrg();
if (org != null && org.size() > 0) {
for (Tax tax : org) {
if (tax.getTaxno().equals(gfsh)) {
gfmc = tax.getTaxname();
}
}
}
prams.put("gfmc", gfmc);
String newCondition = prams.toString();
pramsMap.put("conditions", newCondition);
}
} else {
pramsMap.put("conditions", condition);
}
} else {
return ResponseEntity.ok(R.error("导出条件不能为空!"));
}
log.debug("pramsMap-" + pramsMap);
try {
// 保存导出日志记录
TDxExcelExportlog tdxExcelExprortlog = exportlogService.excelExportApply(pramsMap);
pramsMap.put("id", tdxExcelExprortlog.getId());
pramsMap.put("createDate", new Date());
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(pramsMap));
// String json = responseResult(jsonObject);
// 启动mq发送导出文件请求
// sender.sendToExcel(json);
excelExportService.exportExcel(jsonObject.toJSONString());
waitResult();
Map<String, Object> returnMap = new HashMap<>(2);
returnMap.put("id",tdxExcelExprortlog.getId());
returnMap.put("serviceType","2");
return ResponseEntity.ok(R.ok().put("data", returnMap));
} catch (Exception e) {
e.printStackTrace();
log.error("", e);
return ResponseEntity.ok(R.error(CommonConstants.MSG_ERR_DEFAULT));
}
}
private void waitResult() throws InterruptedException {
int count = 0;
for(int i = 0;i<20;i++) {
count = messageControlService.queryCount(getUserName());
if(count > 0){
break;
}
Thread.sleep(1000);
}
}
/**
* 给jsonObject base64加密成字符串
*

@ -52,6 +52,7 @@ public class InvoiceQueryController extends AbstractController {
@SysLog("发票扫码查验")
public ResponseEntity<?> smQueryInvoice(@RequestBody Map<String, String> pramsMap) {
// 入参统一在入口处理
log.info("传入的参数为:{}",pramsMap);
String userid = getUserName();
pramsMap.put("userid", userid);
String dbName = getUserInfo().getDbName();
@ -105,10 +106,10 @@ public class InvoiceQueryController extends AbstractController {
return ResponseEntity.ok(R.error("金额不能为空!"));
}
} else {
if (pramsMap.get("invoiceCode").isEmpty()) {
return ResponseEntity.ok(R.error("发票代码不能为空!"));
}
// if (pramsMap.get("invoiceCode").isEmpty()) {
//
// return ResponseEntity.ok(R.error("发票代码不能为空!"));
// }
pramsMap.put("invoiceType", iu.getFplxdm());
if (pramsMap.get("checkCode").isEmpty()) {
return ResponseEntity.ok(R.error("校验码不能为空!"));

@ -0,0 +1,56 @@
package com.dxhy.core.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.core.entity.ExtSysMessagecontrol;
import com.dxhy.core.entity.ExtSysMessagecontrolVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
*
*/
@Mapper
public interface ExtMessageControlDao extends BaseMapper<ExtSysMessagecontrolVo> {
/**
* 查看消息信息
*
* @param userName
* 用户名
* @param operationStatus
* 导出状态
* @return 返回
*/
List<ExtSysMessagecontrolVo> queryMessageContol(@Param("userName") String userName,
@Param("operationStatus") String operationStatus);
/**
* 统计消息数量
*
* @param userName
* 用户名
* @return 返回
*/
int queryCount(String userName);
/**
* 修改状态
*
* @param vo
* 查询条件
* @return 返回
*/
int updateOperationStatusById(ExtSysMessagecontrol vo);
/**
* 修改状态
*
* @param vo
* 查询条件
* @return 返回
*/
int updateOperationStatusAll(ExtSysMessagecontrol vo);
}

@ -0,0 +1,13 @@
package com.dxhy.core.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.core.entity.ExtSysMessagecontrol;
import org.apache.ibatis.annotations.Mapper;
/**
* @author dxhy
*/
@Mapper
public interface ExtSysMessagecontrolDao extends BaseMapper<ExtSysMessagecontrol> {
}

@ -0,0 +1,29 @@
package com.dxhy.core.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* @author xiexuedi
* @data: 2019/04/22 10:34
*/
@Data
@TableName(value = "sys_messagecontrol")
public class ExtSysMessagecontrol implements Serializable {
private static final long serialVersionUID = -6748298050312230059L;
@TableId
private Long id;
private Date createTime;
private Date updateTime;
private String userAccount;
private String operationStatus;
private String title;
private String content;
private String url;
}

@ -0,0 +1,28 @@
package com.dxhy.core.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
* @author xiexuedi
* @data 2019/04/22 10:34
*/
@Data
public class ExtSysMessagecontrolVo implements Serializable {
private static final long serialVersionUID = -6748298050312230059L;
private Long id;
private Date createTime;
private Date updateTime;
private String userAccount;
/** 0--未读 1--已读 */
private String operationStatus;
private String title;
private String content;
private String url;
private String createTimeNew;
private String updateTimeNew;
}

@ -102,6 +102,9 @@ public class ConfirmServiceImpl extends ServiceImpl<ConfirmDao, TDxHttpLog> impl
if (list != null && list.size() > 0) {
for (TAcOrg tAcOrg : list) {
DynamicContextHolder.push(DbConstant.BASICS_READ);
BasisSysDeptCfg baseSysDeptCfg = basisSysDeptCfgDao.selectOne(new QueryWrapper<BasisSysDeptCfg>().eq("nsrsbh", tAcOrg.getTaxno()));
if (baseSysDeptCfg != null) {
continue;

@ -0,0 +1,64 @@
package com.dxhy.core.service;
import com.dxhy.core.entity.ExtSysMessagecontrol;
/**
*
* @ClassName: ExtMessageControlService :
* @author: xiexuedi
* @date: 2019年4月22日 下午13:32:43
*
*/
public interface ExtMessageControlService {
/**
* 保存消息信息
*
* @param vo
* 查询条件
*/
void insertMessage(ExtSysMessagecontrol vo);
/**
* 查询消息信息
*
* @param userName
* 用户信息
* @param curr
* 分页
* @param size
* 条数
* @param operationStatus
* 状态
* @return 返回
*/
Object queryMessageContol(String userName, Integer curr, Integer size, String operationStatus);
/**
* 统计消息数量
*
* @param userName
* 用户信息
* @return 返回
*/
int queryCount(String userName);
/**
* 修改状态
*
* @param vo
* 查询条件
* @return 返回
*/
int updateOperationStatusById(ExtSysMessagecontrol vo);
/**
* 修改状态
*
* @param vo
* 查询条件
* @return 返回
*/
int updateOperationStatusAll(ExtSysMessagecontrol vo);
}

@ -0,0 +1,76 @@
package com.dxhy.core.service;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.service.impl.MpBaseServiceImpl;
import com.dxhy.core.dao.ExtMessageControlDao;
import com.dxhy.core.dao.ExtSysMessagecontrolDao;
import com.dxhy.core.entity.ExtSysMessagecontrol;
import com.dxhy.core.entity.ExtSysMessagecontrolVo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author jiaohongyang
*/
@Service("messageControlService")
@Slf4j
public class ExtMessageControlServiceImpl extends MpBaseServiceImpl<ExtMessageControlDao, ExtSysMessagecontrolVo>
implements ExtMessageControlService {
@Resource
private ExtMessageControlDao extMessageControlDao;
@Resource
private ExtSysMessagecontrolDao extSysMessagecontrolDao;
@Override
public void insertMessage(ExtSysMessagecontrol vo) {
DynamicContextHolder.push(DbConstant.BASICS_WRITE);
extSysMessagecontrolDao.insert(vo);
}
@Override
public Object queryMessageContol(String userName, Integer curr, Integer size, String operationStatus) {
DynamicContextHolder.push(DbConstant.BASICS_READ);
JSONObject json = new JSONObject();
try {
PageHelper.startPage(curr, size);
List<ExtSysMessagecontrolVo> pageList = extMessageControlDao.queryMessageContol(userName, operationStatus);
PageInfo<ExtSysMessagecontrolVo> pageInfo = new PageInfo<>(pageList);
// 统一返回页面相同的分页返回结果
json = super.pageResult(json, pageInfo);
// 统一设置操作成功标识
json = super.succResult(json);
} catch (Exception e) {
// 统一设置操作异常标识
e.printStackTrace();
json = super.errorResult(e);
}
return json;
}
@Override
public int queryCount(String userName) {
DynamicContextHolder.push(DbConstant.BASICS_READ);
return extMessageControlDao.queryCount(userName);
}
@Override
public int updateOperationStatusById(ExtSysMessagecontrol vo) {
DynamicContextHolder.push(DbConstant.BASICS_WRITE);
return extMessageControlDao.updateOperationStatusById(vo);
}
@Override
public int updateOperationStatusAll(ExtSysMessagecontrol vo) {
DynamicContextHolder.push(DbConstant.BASICS_WRITE);
return extMessageControlDao.updateOperationStatusAll(vo);
}
}

@ -158,10 +158,18 @@ public class InvoiceDetailServiceImpl extends MpBaseServiceImpl<TDxRecordInvoice
// 取发票上的价税合计
String totalAmount = checkRecordVo.getTotalAmount();
if(totalAmount != null && StringUtils.isNoneBlank(totalAmount)) {
log.info("totalAmount={}",totalAmount);
// 价税合计小写
checkInfo.put("detailAmountTotal", totalAmount);
// 价税合计大写
checkInfo.put("stringTotalAmount", NumberToCN.number2CNMontrayUnit(new BigDecimal(totalAmount)));
}else{
// 价税合计小写
checkInfo.put("detailAmountTotal", "0");
// 价税合计大写
checkInfo.put("stringTotalAmount", "零");
}
// 发票票面信息
checkInfo.put("invoiceSubjectList", JSON.toJSON(checkRecordVo));
// 机动车部分信息
@ -277,7 +285,7 @@ public class InvoiceDetailServiceImpl extends MpBaseServiceImpl<TDxRecordInvoice
}
checkRecordVo.setTotalAmount(MathUtil.round(detailAmount.toPlainString()));
} else {
if (invoiceRecord.getTotalAmount() == null) {
if (invoiceRecord.getTotalAmount() != null) {
BigDecimal add = invoiceRecord.getInvoiceAmount().add(invoiceRecord.getTaxAmount());
checkRecordVo.setTotalAmount(MathUtil.round(add.toPlainString()));
} else {

@ -55,14 +55,17 @@ public class CoreInvoiceQueryServiceImpl extends MpBaseServiceImpl<CoreTDxCheckL
{"checkMassege", "invoiceCode", "invoiceNo", "invoiceDate", "invoiceAmount", "checkCode", "invoiceType"};
// 需要设置返回列表标题时调用
JSONObject json = super.setTitleList(titlelist, titleprop);
log.info("执行查验");
TDxCheckLog checkLog = this.checkSingleInvioce(pramsMap);
log.info("查验返回结果为:{}",checkLog);
List<CoreSmcyVO> returnList = new ArrayList<>();
CoreSmcyVO smcyVo = this.convertToSmcyView(checkLog);
returnList.add(smcyVo);
json.put("datalist", returnList);
log.info("返回的结果为:{}",returnList);
return super.responseResult(json);
}

@ -164,7 +164,7 @@ public class InvoiceQueryUtil {
if(FplxEnum.QDZZP.getFplxDm().equals(invoiceType) || FplxEnum.QDPP.getFplxDm().equals(invoiceType)){
requestData.put("invoiceType", "31");
requestData.put("invoiceCode", "");
requestData.put("invoiceNo", invoiceCode+invoiceNo);
requestData.put("invoiceNo", invoiceCode + invoiceNo);
}else {
requestData.put("invoiceType", iu.getFplxdm());
requestData.put("invoiceCode", invoiceCode);

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.dxhy.core.dao.ExtMessageControlDao">
<resultMap id="BaseResultMap" type="com.dxhy.core.entity.ExtSysMessagecontrolVo">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="create_time" property="createTimeNew" jdbcType="VARCHAR"/>
<result column="update_time" property="updateTimeNew" jdbcType="VARCHAR"/>
<result column="user_account" property="userAccount" jdbcType="VARCHAR"/>
<result column="operation_status" property="operationStatus" jdbcType="VARCHAR"/>
<result column="title" property="title" jdbcType="VARCHAR"/>
<result column="content" property="content" jdbcType="VARCHAR"/>
<result column="url" property="url" jdbcType="VARCHAR"/>
</resultMap>
<select id="queryMessageContol" resultMap="BaseResultMap" databaseId="mysql">
SELECT
id,
date_format(create_time,'%Y-%m-%d %H:%i:%S') create_time,
date_format(update_time,'%Y-%m-%d %H:%i:%S') update_time,
user_account,
operation_status,
title,
content,
url
FROM
sys_messagecontrol
WHERE
user_account = #{userName}
<if test="operationStatus!=''and operationStatus!=null and operationStatus!='99' ">
and operation_status = #{operationStatus}
</if>
ORDER BY operation_status ASC,update_time desc
</select>
<select id="queryMessageContol" resultMap="BaseResultMap" databaseId="oracle">
SELECT
id,
to_char(create_time,'yyyy-MM-dd HH24:mi:ss') create_time,
to_char(update_time,'yyyy-MM-dd HH24:mi:ss') update_time,
user_account,
operation_status,
title,
content,
url
FROM
sys_messagecontrol
WHERE
user_account = #{userName}
<if test="operationStatus!=''and operationStatus!=null ">
and operation_status = #{operationStatus}
</if>
ORDER BY operation_status ASC,update_time desc
</select>
<select id="queryCount" resultType="java.lang.Integer">
SELECT count(id)
FROM sys_messagecontrol
WHERE user_account = #{userName}
AND operation_status = 0
</select>
<update id="updateOperationStatusById"
parameterType="com.dxhy.core.entity.ExtSysMessagecontrol">
update sys_messagecontrol
set operation_status=1,
update_time=#{updateTime}
where id = #{id}
</update>
<update id="updateOperationStatusAll" parameterType="com.dxhy.core.entity.ExtSysMessagecontrol">
update sys_messagecontrol
set operation_status=1,
update_time=#{updateTime}
where user_account = #{userAccount}
and operation_status = 0
</update>
</mapper>

@ -108,6 +108,8 @@ public class InterfaceController extends AbstractController {
private VoucherRecordService voucherRecordService;
@Value("${erp.ipUrl}")
private String ipUrl;
@Resource
private BaseIReceiptInvoiceService baseIReceiptInvoiceService;
/**
*
@ -712,6 +714,16 @@ public class InterfaceController extends AbstractController {
returnResult = invoicePoolService.salsePush(globalInfo, requestParam, request, response, authorize);
break;
// 接口编码不存在
// 获取单张发票
case "INVOICE.SINGLEINVOICECHECK":
returnResult = gatherService.singleInvoiceChenck(globalInfo, requestParam, request, response, authorize);
break;
// 获取单张发票
case "INVOICE.SYNCINVOICEINFO":
returnResult = gatherService.syncInvoiceInfo(globalInfo, requestParam, request, response, authorize);
break;
default:
returnResult = authStatusService.getInterfaceCodeError(globalInfo);
break;
@ -1207,7 +1219,16 @@ public class InterfaceController extends AbstractController {
public String transferOut(ErpInvoiceData erpInvoiceData){
String zdata = erpInvoiceData.getIS_INPUT().getZDATA();
List<Map> list = JSON.parseArray(zdata, Map.class);
Map<String, Object> map = list.get(0);
try{
/**
* 根据金额判断是转入还是转出
*
*
*/
String transfer ="";
for(Map<String,Object> map:list) {
String invoiceCode =(String) map.get("ZFPDM");
String invoiceNo = (String)map.get("ZFPHM");
BigDecimal bigDecimal = (BigDecimal) map.get("JXSZC");
@ -1221,11 +1242,27 @@ public class InterfaceController extends AbstractController {
baseInvoiceEditVO.setOutStatus("1");
baseInvoiceEditVO.setOutTaxPeriod(outTaxPeriod);
UserInfo userInfo = new UserInfo();
try{
String transfer = iReceiptOutService.transfer(erpInvoiceData,baseInvoiceEditVO, userInfo);
if(bigDecimal.compareTo(BigDecimal.ZERO)==1){
transfer = iReceiptOutService.transfer(erpInvoiceData,baseInvoiceEditVO, userInfo);
}else {
BaseReceiptOutCancelEditReqVO baseReceiptOutCancelEditReqVO = new BaseReceiptOutCancelEditReqVO();
baseReceiptOutCancelEditReqVO.setPrimaryKey(uuid);
String s = baseIReceiptInvoiceService.cancelOut(baseReceiptOutCancelEditReqVO);
if(s.equals("取消转出成功")){
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());
es.setBSKEY(erpInvoiceData.getIS_INPUT().getBSKEY());
es.setZTYPE("S");
es.setZMESSAGE("处理成功");
outPut.setES_OUTPUT(es);
transfer = JsonUtils.getInstance().toJsonString(outPut);
}
}
}
return transfer;
}catch (Exception e){
log.info(e.getMessage());
e.printStackTrace();
OutPut outPut = new OutPut();
EsOutPutResp es = new EsOutPutResp();
es.setSAPKEY(erpInvoiceData.getIS_INPUT().getSAPKEY());

@ -3,6 +3,7 @@ package com.dxhy.erp.dao;
import java.util.List;
import java.util.Map;
import com.dxhy.erp.entity.BaseTDxRecordInvoice;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -183,4 +184,7 @@ public interface TdxRecordInvoiceDao extends BaseMapper<TdxRecordInvoice> {
void updateInvoiceAccount(TdxInvoiceAccount invoice);
void saveInvoiceAccount(TdxInvoiceAccount invoice);
void deleteByuuid(@Param("uuids") String[] uuids);
}

@ -0,0 +1,25 @@
package com.dxhy.erp.model;
import com.dxhy.common.vo.UserInfo;
import lombok.Data;
/**
* @author peipei.li
* @date 2019-05-15 取消已转出进项税请求req
*/
@Data
public class BaseReceiptOutCancelEditReqVO {
/**
* uuid多个以英文逗号分隔结尾不加分号
*/
private String primaryKey;
/**
* 业务参数
*/
private String businessCode;
/**
*
*/
private UserInfo userInfo;
}

@ -2,6 +2,7 @@ package com.dxhy.erp.service;
import com.dxhy.erp.entity.BaseTDxRecordInvoice;
import com.dxhy.erp.model.BaseReceiptOutCancelEditReqVO;
import java.util.List;
@ -22,4 +23,14 @@ public interface BaseIReceiptInvoiceService {
*/
void updateBatch(List<BaseTDxRecordInvoice> condEntity);
/**
* 取消已转出进项税请求确认
*
* @param reqVO
* 请求参数
* @return 返回结果
*/
String cancelOut(BaseReceiptOutCancelEditReqVO reqVO);
}

@ -4,12 +4,21 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.enums.JxszcCancelEnum;
import com.dxhy.common.enums.JxszcZtEnum;
import com.dxhy.common.service.impl.MpBaseServiceImpl;
import com.dxhy.erp.dao.BaseTDxRecordInvoiceDao;
import com.dxhy.erp.dao.TdxRecordInvoiceDao;
import com.dxhy.erp.entity.BaseTDxRecordInvoice;
import com.dxhy.erp.entity.BaseTDxRecordInvoiceOut;
import com.dxhy.erp.model.BaseReceiptOutCancelEditReqVO;
import com.dxhy.erp.service.BaseIReceiptInvoiceService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
@ -24,6 +33,8 @@ import java.util.List;
@SuppressWarnings("AlibabaUndefineMagicConstant")
@Service("baseIReceiptInvoiceService")
public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl<BaseTDxRecordInvoiceDao, BaseTDxRecordInvoice> implements BaseIReceiptInvoiceService {
@Resource
private TdxRecordInvoiceDao tdxRecordInvoiceDao;
@Override
public List<BaseTDxRecordInvoice> selectByUuids(String[] uuids) {
QueryWrapper<BaseTDxRecordInvoice> queryWrapper = new QueryWrapper<>();
@ -42,4 +53,85 @@ public class BaseIReceiptInvoiceServiceImpl extends MpBaseServiceImpl<BaseTDxRec
super.succResult(new JSONObject());
}
/**
* 取消已转出进项税 请求确认
*
* @param reqVO 请求参数
* @return 返回结果
*/
@Override
public String cancelOut(BaseReceiptOutCancelEditReqVO reqVO) {
DynamicContextHolder.push("business"+ DbConstant.BUSINESS_WRITE);
String[] uuids = reqVO.getPrimaryKey().split(",");
excuteCancelWrite(uuids);
return "取消转出成功";
}
/**
* 数据库操作
*
* @param uuids 请求参数
*/
@Transactional(rollbackFor = Exception.class)
public void excuteCancelWrite(String[] uuids) {
// 批量将状态设置为 已取消
updateBatchByUuid(uuids);
// 批量revert抵账表 转出时候更新的数据
updatePartInvoiceForCancel(uuids);
}
/**
* 批量将 进项税 明细转为已取消
*
* @param uuids 请求参数
*/
private void updateBatchByUuid(String[] uuids) {
BaseTDxRecordInvoiceOut entity = new BaseTDxRecordInvoiceOut();
// 已取消
entity.setIsCancel(JxszcCancelEnum.YQX.getQxztDm());
UpdateWrapper<BaseTDxRecordInvoiceOut> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda().in(BaseTDxRecordInvoiceOut::getUuid, uuids);
tdxRecordInvoiceDao.deleteByuuid(uuids);
}
/**
* 取消进项税转出批量revert抵账表已经更新的字段
*
* @param ids 请求参数
*/
private void updatePartInvoiceForCancel(String[] ids) {
QueryWrapper<BaseTDxRecordInvoice> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(BaseTDxRecordInvoice::getUuid, ids);
List<BaseTDxRecordInvoice> list = super.list(queryWrapper);
for (BaseTDxRecordInvoice condRecord : list) {
// 转出状态 revert为未转出
condRecord.setOutStatus(JxszcZtEnum.WZC.getZcztDm());
// 转出原因
condRecord.setOutReason(null);
// 备注
condRecord.setOutRemark(null);
// 转出日期
condRecord.setOutDate(null);
// 转出人
condRecord.setOutBy(null);
// 转出金额
condRecord.setOutInvoiceAmout(null);
// 转出税额
condRecord.setOutTaxAmount(null);
UpdateWrapper<BaseTDxRecordInvoice> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("out_status",condRecord.getOutStatus());
updateWrapper.set("out_reason",condRecord.getOutReason());
updateWrapper.set("out_date",condRecord.getOutDate());
updateWrapper.set("out_by",condRecord.getOutBy());
updateWrapper.set("out_invoice_amout",condRecord.getOutInvoiceAmout());
updateWrapper.set("out_tax_amount",condRecord.getOutTaxAmount());
updateWrapper.eq("uuid",condRecord.getUuid());
super.baseMapper.update(null,updateWrapper);
}
}
}

@ -132,7 +132,9 @@ public class ReceiptOutServiceImpl extends MpBaseServiceImpl<BaseReceiptOutDao,
condRecord.setOutInvoiceAmout(record.getTotalAmount());
// 税款所属期
condRecord.setOutBelongDate(condVO.getOutTaxPeriod());
if(record.getTaxAmount().compareTo(new BigDecimal(condVO.getOutTax()))==0){
condRecord.setOutStatus("2");
}
/*全部转出 */
if (JxszcZtEnum.QBZC.getZcztDm().equals(condVO.getOutStatus())) {
// 转出金额

@ -206,6 +206,12 @@
STR_TO_DATE(#{invoiceDate}, '%Y-%m-%d %H'), #{uuid},
now(), #{pzh}, #{bxr}, #{checkCode}, #{isSign})
</insert>
<delete id="deleteByuuid" parameterType="string">
delete from t_dx_record_invoice_out where uuid in
<foreach collection="uuids" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</delete>
<select id="selectByCollect" resultType="com.dxhy.erp.entity.TdxRecordInvoice" databaseId="mysql">

@ -92,7 +92,11 @@ public class FpqsServiceImpl extends MpBaseServiceImpl<SignRecordInvoiceDao, TDx
// 1、基础信息校验
String note ="";
String uuid ="";
if(pramsMap.get("invoiceCode") != null) {
uuid = pramsMap.get("invoiceCode") + pramsMap.get("invoiceNo");
}else{
uuid = pramsMap.get("invoiceNo");
}
if(!FplxEnum.QDZZP.getFplxDm().equals(invoiceType)){
note = signRulesUtils.validateInvoiceInfo(pramsMap.get("invoiceCode"), pramsMap.get("invoiceNo"));
}

@ -59,6 +59,7 @@ import javax.annotation.Resource;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.security.acl.LastOwnerException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -3386,7 +3387,13 @@ public class SignFpqsServiceImpl extends MpBaseServiceImpl<SignRecordInvoiceDao,
for (int i = 0; i < resultList.size(); i++) {
QsExcelEntity qsExcelEntity = new QsExcelEntity();
BeanUtils.copyProperties(qsExcelEntity,resultList.get(i));
qsExcelEntity.setInvoiceAmount(AmountFormatUtil.fmtMicrometer(MathUtil.round(resultList.get(i).getTotalAmount().toPlainString())));
log.info("导出的发票数据魏:{}",JSONObject.toJSONString(resultList.get(i)));
log.info("totalAmount={}",resultList.get(i).getTotalAmount());
if(resultList.get(i) != null && resultList.get(i).getInvoiceAmount() != null) {
qsExcelEntity.setInvoiceAmount(AmountFormatUtil.fmtMicrometer(MathUtil.round(resultList.get(i).getInvoiceAmount().toPlainString())));
}
excelList.add(qsExcelEntity);
}
}

Loading…
Cancel
Save