查验bug修复

beta-enc
kane 2 years ago
parent 18fff3c2d0
commit b96f4ce113
  1. 2
      jianshui-admin/src/main/java/com/jianshui/api/config/WebserviceResponseHandler.java
  2. 209
      jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java
  3. 7
      jianshui-income/src/main/java/com/jianshui/income/domain/vo/render/GetInvoiceSphVO.java
  4. 10
      jianshui-income/src/main/java/com/jianshui/income/domain/vo/render/GetInvoiceVO.java
  5. 4
      jianshui-platform/src/main/java/com/jianshui/platform/enums/InvoiceType.java
  6. 44
      jianshui-ui/src/views/platform/exportsetting/index.vue

@ -77,7 +77,7 @@ public class WebserviceResponseHandler implements SOAPHandler<SOAPMessageContext
}
}
//提到外面的
// 提到外面的
// public static void addCDataToLeafNodes(Node node){
// NodeList childNodes = node.getChildNodes();
// for (int i = 0; i < childNodes.getLength(); i++){

@ -115,7 +115,7 @@ public class InvoiceCheckWebServiceImpl {
String Password = PasswordElementNode != null ? PasswordElementNode.getNodeValue() : "";
if (StringUtils.isEmpty(Password)) {
return buildResult(result, "1", "交互密码不能为空", null);
return buildResult(result, "036", "查验交互密码为空,不能进行查验", null);
}
// 全电发票没有发票代码
@ -159,7 +159,7 @@ public class InvoiceCheckWebServiceImpl {
CompanyserviceProp keyProp = companyservicePropService.selectPropByKey(companyservice.getCompanyid(), "webservice_password");
if (keyProp == null || !StringUtils.equals(keyProp.getValue(), Password)) {
return buildResult(result, "1", "交互密码错误", null);
return buildResult(result, "035", "交互密码错误,请确认密码是否输入正确!", null);
}
// 调用发票查询接口
@ -291,7 +291,18 @@ public class InvoiceCheckWebServiceImpl {
// " }");
// AjaxResult invoiceResult = AjaxResult.success(data);
if (invoiceResult.isError()) {
return buildResult(result, StrUtil.padPre(String.valueOf(invoiceResult.getCode()), 3, '0') , invoiceResult.getMsg(), null);
if ("超过该张票当天查验次数".equals(invoiceResult.getMsg())){
return buildResult(result,"002","超过该张发票当日查验次数(请于次日再次查验)!",null);
}else if ("查验异常".equals(invoiceResult.getMsg())){
return buildResult(result,"084","开票金额或校验码不合法!",null);
}else if ("请求不合法".equals(invoiceResult.getMsg())){
return buildResult(result,"005","请求不合法!",null);
}else if ("发票不存在".equals(invoiceResult.getMsg())){
return buildResult(result,"009","查无此票!",null);
}else {
return buildResult(result, StrUtil.padPre(String.valueOf(invoiceResult.getCode()), 3, '0') , invoiceResult.getMsg(), null);
}
}
if (invoiceResult.isSuccess()) {
@ -318,25 +329,76 @@ public class InvoiceCheckWebServiceImpl {
} catch (ParseException e) {
new JianshuiServiceException("日期转换错误");
}
String fpzl = invoiceCheck.getFpzl();
if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
//二手车相关结果
getInvoiceVO.setGfdz(invoiceCheck.getInvoiceCheckUsedCar().getMfdwgrdz());
getInvoiceVO.setGfdh(invoiceCheck.getInvoiceCheckUsedCar().getMfdh());
getInvoiceVO.setXfdz(invoiceCheck.getInvoiceCheckUsedCar().getSmfdwgrzz());
getInvoiceVO.setFpdm(invoiceCheck.getFpdm());
getInvoiceVO.setFphm(invoiceCheck.getFphm());
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setGmfmc(invoiceCheck.getInvoiceCheckUsedCar().getMfdwgr());
getInvoiceVO.setGmfsbh(invoiceCheck.getInvoiceCheckUsedCar().getMfdwdmsfzh());
String gfdzdh = invoiceCheck.getInvoiceCheckUsedCar().getMfdwgrdz() + " " +
invoiceCheck.getInvoiceCheckUsedCar().getMfdh();
getInvoiceVO.setGmfdzdh(gfdzdh);
getInvoiceVO.setGmfyhzh(invoiceCheck.getInvoiceCheckUsedCar().getKhyhjzh());
getInvoiceVO.setXfmc(invoiceCheck.getInvoiceCheckUsedCar().getSmfdwgr());
getInvoiceVO.setXfsbh(invoiceCheck.getInvoiceCheckUsedCar().getSmfdwdmsfzh());
String xfdzdh = invoiceCheck.getInvoiceCheckUsedCar().getSmfdwgrzz() + " " +
invoiceCheck.getInvoiceCheckCar().getSmfdh();
getInvoiceVO.setXfdzdh(xfdzdh);
getInvoiceVO.setXfyhzh(invoiceCheck.getInvoiceCheckUsedCar().getKhyhjzh());
getInvoiceVO.setJqbh(invoiceCheck.getJqbh());
getInvoiceVO.setCpzh(invoiceCheck.getInvoiceCheckUsedCar().getCpzh());
getInvoiceVO.setDjzh(invoiceCheck.getInvoiceCheckUsedCar().getDjzh());
getInvoiceVO.setCllx(invoiceCheck.getInvoiceCheckUsedCar().getCllx());
getInvoiceVO.setCjh(invoiceCheck.getInvoiceCheckUsedCar().getClsbh());
getInvoiceVO.setCpxh(invoiceCheck.getInvoiceCheckUsedCar().getCpxh());
getInvoiceVO.setZrdclglsmc(invoiceCheck.getInvoiceCheckUsedCar().getZrdcgsmc());
getInvoiceVO.setNsrsbh(invoiceCheck.getInvoiceCheckUsedCar().getJypmdwzsbh());
BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckUsedCar(),getInvoiceVO);
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setCjhj(invoiceCheck.getInvoiceCheckUsedCar().getCjhj());
getInvoiceVO.setEscsc(invoiceCheck.getInvoiceCheckUsedCar().getEscsc());
getInvoiceVO.setNsrsbh(invoiceCheck.getInvoiceCheckUsedCar().getEscscsbh());
getInvoiceVO.setEscscdz(invoiceCheck.getInvoiceCheckUsedCar().getEscscdz());
getInvoiceVO.setKhyh(invoiceCheck.getInvoiceCheckUsedCar().getEscsckhyhzh());
getInvoiceVO.setEscscdh(invoiceCheck.getInvoiceCheckUsedCar().getEscscdh());
getInvoiceVO.setFplx(invoiceCheck.getFpzl());
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
getInvoiceVO.setBz(invoiceCheck.getBz());
}else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
//机动车相关结果
getInvoiceVO.setFpdm(invoiceCheck.getFpdm());
getInvoiceVO.setFphm(invoiceCheck.getFphm());
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setGmfmc(invoiceCheck.getGmfmc());
getInvoiceVO.setGmfsbh(invoiceCheck.getGmfsbh());
getInvoiceVO.setJqbh(invoiceCheck.getJqbh());
getInvoiceVO.setCllx(invoiceCheck.getInvoiceCheckCar().getCllx());
getInvoiceVO.setCpxh(invoiceCheck.getInvoiceCheckCar().getCpxh());
getInvoiceVO.setCd(invoiceCheck.getInvoiceCheckCar().getCd());
getInvoiceVO.setHgzh(invoiceCheck.getInvoiceCheckCar().getHgzs());
getInvoiceVO.setJkzmsh(invoiceCheck.getInvoiceCheckCar().getJszmsh());
getInvoiceVO.setZh(invoiceCheck.getInvoiceCheckCar().getKhzh());
getInvoiceVO.setSjdh(invoiceCheck.getInvoiceCheckCar().getSjdh());
getInvoiceVO.setFdjhm(invoiceCheck.getInvoiceCheckCar().getFdjhm());
getInvoiceVO.setClsbdh(invoiceCheck.getInvoiceCheckCar().getClsbh());
if (invoiceCheck.getInvoiceCheckCar().getJszmsh() == null){
getInvoiceVO.setJkzmsh("");
}else {
getInvoiceVO.setJkzmsh(invoiceCheck.getInvoiceCheckCar().getJszmsh());
}
getInvoiceVO.setXfmc(invoiceCheck.getXhfmc());
getInvoiceVO.setXfsbh(invoiceCheck.getXhfsbh());
getInvoiceVO.setDz(invoiceCheck.getGmfdzdh());
getInvoiceVO.setDh(invoiceCheck.getInvoiceCheckCar().getSmfdh());
BeanUtils.copyProperties(invoiceCheck.getInvoiceCheckCar(),getInvoiceVO);
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setKhyh(invoiceCheck.getInvoiceCheckCar().getKhyh());
getInvoiceVO.setZh(invoiceCheck.getInvoiceCheckCar().getKhzh());
getInvoiceVO.setZgswjgdm(invoiceCheck.getInvoiceCheckCar().getZgswjgdm());
getInvoiceVO.setZgswjgmc(invoiceCheck.getInvoiceCheckCar().getZgswjgmc());
getInvoiceVO.setWspzhm(invoiceCheck.getInvoiceCheckCar().getWspzhm());
getInvoiceVO.setDw(invoiceCheck.getInvoiceCheckCar().getDw());
getInvoiceVO.setXcrs(invoiceCheck.getInvoiceCheckCar().getXcrs());
getInvoiceVO.setFplx(invoiceCheck.getFpzl());
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
getInvoiceVO.setSl(invoiceCheck.getInvoiceCheckCar().getSl());
getInvoiceVO.setFpje(invoiceCheck.getFpje());
getInvoiceVO.setFpse(invoiceCheck.getFpse());
getInvoiceVO.setJshj(invoiceCheck.getJshj());
}else if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){
//卷票
getInvoiceVO.setFpdm(invoiceCheck.getFpdm());
@ -379,6 +441,47 @@ public class InvoiceCheckWebServiceImpl {
getInvoiceVO.setFpse(invoiceCheck.getFpse());
getInvoiceVO.setJshj(invoiceCheck.getJshj());
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
}else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){
getInvoiceVO.setFpdm(invoiceCheck.getFpdm());
getInvoiceVO.setFphm(invoiceCheck.getFphm());
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setGmfmc(invoiceCheck.getGmfmc());
getInvoiceVO.setGmfsbh(invoiceCheck.getGmfsbh());
getInvoiceVO.setGmfdzdh(invoiceCheck.getGmfdzdh());
getInvoiceVO.setGmfyhzh(invoiceCheck.getGmfyhzh());
getInvoiceVO.setXfmc(invoiceCheck.getXhfmc());
getInvoiceVO.setXfsbh(invoiceCheck.getXhfsbh());
getInvoiceVO.setXfdzdh(invoiceCheck.getXhfdzdh());
getInvoiceVO.setXfyhzh(invoiceCheck.getXhfyhzh());
getInvoiceVO.setFplx(invoiceCheck.getFpzl());
getInvoiceVO.setBz(invoiceCheck.getBz());
getInvoiceVO.setJqbh(invoiceCheck.getJqbh());
getInvoiceVO.setJym(invoiceCheck.getJym());
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
getInvoiceVO.setFpje(invoiceCheck.getFpje());
getInvoiceVO.setFpse(invoiceCheck.getFpse());
getInvoiceVO.setJshj(invoiceCheck.getJshj());
}else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 专票结果
getInvoiceVO.setFpdm(invoiceCheck.getFpdm());
getInvoiceVO.setFphm(invoiceCheck.getFphm());
getInvoiceVO.setKprq(newKprq);
getInvoiceVO.setGmfmc(invoiceCheck.getGmfmc());
getInvoiceVO.setGmfsbh(invoiceCheck.getGmfsbh());
getInvoiceVO.setGmfdzdh(invoiceCheck.getGmfdzdh());
getInvoiceVO.setGmfyhzh(invoiceCheck.getGmfyhzh());
getInvoiceVO.setXfmc(invoiceCheck.getXhfmc());
getInvoiceVO.setXfsbh(invoiceCheck.getXhfsbh());
getInvoiceVO.setXfdzdh(invoiceCheck.getXhfdzdh());
getInvoiceVO.setXfyhzh(invoiceCheck.getXhfyhzh());
getInvoiceVO.setBz(invoiceCheck.getBz());
getInvoiceVO.setJqbh(invoiceCheck.getJqbh());
getInvoiceVO.setFplx(invoiceCheck.getFpzl());
getInvoiceVO.setJym(invoiceCheck.getJym());
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
getInvoiceVO.setFpje(invoiceCheck.getFpje());
getInvoiceVO.setFpse(invoiceCheck.getFpse());
getInvoiceVO.setJshj(invoiceCheck.getJshj());
}else {
//通用结果
getInvoiceVO.setXfmc(invoiceCheck.getXhfmc());
@ -393,44 +496,52 @@ public class InvoiceCheckWebServiceImpl {
getInvoiceVO.setZfbz(invoiceCheck.getZfbz());
getInvoiceVO.setKprq(newKprq);
}
String zfbz = getInvoiceVO.getZfbz();
if (StringUtils.equals(zfbz, "Y")) {
getInvoiceVO.setZfbz("Y");
getInvoiceVO.setHcbz("N");
}
if (StringUtils.equals(zfbz, "H")) {
getInvoiceVO.setZfbz("N");
getInvoiceVO.setHcbz("Y");
}
if (StringUtils.equals(zfbz, "N")) {
getInvoiceVO.setZfbz("N");
getInvoiceVO.setHcbz("N");
if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 二手车不用返回红冲标志
invoiceCheck.getFpzl();
}else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 机动车不用返回红冲标志
invoiceCheck.getFpzl();
}else {
if (StringUtils.equals(zfbz, "Y")) {
getInvoiceVO.setZfbz("Y");
getInvoiceVO.setHcbz("N");
}
if (StringUtils.equals(zfbz, "H")) {
getInvoiceVO.setZfbz("N");
getInvoiceVO.setHcbz("Y");
}
if (StringUtils.equals(zfbz, "N")) {
getInvoiceVO.setZfbz("N");
getInvoiceVO.setHcbz("N");
}
}
List<GetInvoiceSphVO> getInvoiceSphVOList = new ArrayList<>();
List<InvoiceCheckDetail> details = invoiceCheck.getInvoiceCheckDetail();
if (CollectionUtil.isNotEmpty(details)) {
for (InvoiceCheckDetail detail : details) {
GetInvoiceSphVO getInvoiceSphVO = new GetInvoiceSphVO();
if (InvoiceType.JUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 卷票详情
getInvoiceSphVO.setHwmc(detail.getHwmc());
getInvoiceSphVO.setGgxh(detail.getGgxh());
getInvoiceSphVO.setJldw(detail.getJldw());
getInvoiceSphVO.setSl(detail.getSl());
getInvoiceSphVO.setBhsdj(detail.getBhsdj());
// 含税金额
getInvoiceSphVO.setHsje(detail.getHsje());
// 不含税金额
// getInvoiceSphVO.setHsje(detail.getHsje());
// getInvoiceSphVO.setLx(detail.getLx());
// getInvoiceSphVO.setTxrqz(detail.getTxrqz());
// getInvoiceSphVO.setTxrqq(detail.getTxrqq());
// getInvoiceSphVO.setCph(detail.getCph());
getInvoiceSphVO.setBhsje(detail.getJe());
getInvoiceSphVO.setSe(detail.getSe());
getInvoiceSphVO.setSl(detail.getSl());
getInvoiceSphVO.setLx(detail.getLx());
getInvoiceSphVO.setTxrqz(detail.getTxrqz());
getInvoiceSphVO.setTxrqq(detail.getTxrqq());
getInvoiceSphVO.setCph(detail.getCph());
getInvoiceSphVO.setSsflbm(detail.getSsflbm());
getInvoiceSphVO.setSpsl(detail.getSpsl());
getInvoiceSphVOList.add(getInvoiceSphVO);
}else if (InvoiceType.QUAN_DIAN_ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl()) || InvoiceType.QUAN_DIAN_PU_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 全电专票详情
getInvoiceSphVO.setHwmc(detail.getHwmc());
getInvoiceSphVO.setGgxh(detail.getGgxh());
getInvoiceSphVO.setJldw(detail.getJldw());
@ -442,6 +553,36 @@ public class InvoiceCheckWebServiceImpl {
getInvoiceSphVO.setSsflbm(detail.getSsflbm());
getInvoiceSphVO.setSpsl(detail.getSpsl());
getInvoiceSphVOList.add(getInvoiceSphVO);
}else if (InvoiceType.JI_DONG_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 机动车没有详情
getInvoiceSphVO.getLx();
}else if (InvoiceType.TONG_XING_FEI_FA_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 通行发票
getInvoiceSphVO.setHwmc(detail.getHwmc());
getInvoiceSphVO.setCph(detail.getCph());
getInvoiceSphVO.setCllx(detail.getLx());
getInvoiceSphVO.setTxrqq(detail.getTxrqq());
getInvoiceSphVO.setTxrqz(detail.getTxrqz());
getInvoiceSphVO.setBhsje(detail.getJe());
getInvoiceSphVO.setSe(detail.getSe());
getInvoiceSphVO.setSl(detail.getSl());
getInvoiceSphVO.setSsflbm(detail.getSsflbm());
getInvoiceSphVOList.add(getInvoiceSphVO);
}else if (InvoiceType.ER_SHOU_CHE_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 二手车没有详情
getInvoiceVO.getFplx();
}else if (InvoiceType.ZHUAN_PIAO.getCode().equals(invoiceCheck.getFpzl())){
// 专票详情
getInvoiceSphVO.setHwmc(detail.getHwmc());
getInvoiceSphVO.setGgxh(detail.getGgxh());
getInvoiceSphVO.setJldw(detail.getJldw());
getInvoiceSphVO.setSpsl(detail.getSpsl());
getInvoiceSphVO.setBhsdj(detail.getBhsdj());
getInvoiceSphVO.setBhsje(detail.getJe());
getInvoiceSphVO.setSe(detail.getSe());
getInvoiceSphVO.setSl(detail.getSl());
getInvoiceSphVO.setSsflbm(detail.getSsflbm());
getInvoiceSphVOList.add(getInvoiceSphVO);
}else {
getInvoiceSphVO.setSsflbm(detail.getSpbmjc());
BeanUtils.copyProperties(detail, getInvoiceSphVO);

@ -20,6 +20,7 @@ public class GetInvoiceSphVO {
@JSONField(name = "Spmc")
private String hwmc;
// 不含税金额
@JSONField(name = "Je")
private String bhsje;
// 数量
@JSONField(name = "Sl")
@ -33,7 +34,7 @@ public class GetInvoiceSphVO {
// 含税单价
// private String hsdj;
// 含税金额
@JSONField(name = "Je")
@JSONField(name = "Hsje")
private String hsje;
// 不含税单价
@JSONField(name = "Dj")
@ -78,4 +79,8 @@ public class GetInvoiceSphVO {
private String qfsj;
//客票级别
private String kpjb;
//通行费发票
@JSONField(name = "Cllx")
private String cllx;
}

@ -216,7 +216,7 @@ public class GetInvoiceVO {
// @JSONField(name = "escsckhyhzh")
// private String escsckhyhzh;
@JSONField(name = "cjhj")
@JSONField(name = "Cjhj")
private String cjhj;
@JSONField(name = "xdpbz")
@ -265,7 +265,7 @@ public class GetInvoiceVO {
@JSONField(name = "sl")
private String sl;
// 产地 机动车发票返回该信息`
@JSONField(name = "cd")
private String cd;
@ -284,7 +284,7 @@ public class GetInvoiceVO {
@JSONField(name = "zgswjgmc")
private String zgswjgmc;
@JSONField(name = "zgswjgdm")
@JSONField(name = "zgswjg")
private String zgswjgdm;
// @JSONField(name = "fdjhm")
@ -328,6 +328,10 @@ public class GetInvoiceVO {
@JSONField(name = "Zh")
private String zh;
//发票类型
@JSONField(name = "Fplx")
private String fplx;
// 机动车发票end
//航空 start

@ -12,7 +12,9 @@ public enum InvoiceType {
JI_DONG_CHE_PIAO("03", "机动车票"),
ER_SHOU_CHE_PIAO("15", "二手车票"),
QUAN_DIAN_PU_PIAO("22", "全电普票"),
QUAN_DIAN_ZHUAN_PIAO("21", "全电专票");
QUAN_DIAN_ZHUAN_PIAO("21", "全电专票"),
TONG_XING_FEI_FA_PIAO("14", "通行费发票"),
ZHUAN_PIAO("01", "专票");
private String code;

@ -391,7 +391,7 @@ export default {
radio4: '1',
radio5: '1',
//
enteredLetters: []
letterList: []
};
},
watch: {
@ -583,6 +583,48 @@ export default {
this.form.isornotDiscounts = '';
}
},
checkInputAll() {
this.validateLetter(this.form.receiptNumber);
this.validateLetter(this.form.customerName);
this.validateLetter(this.form.customerTaxNumber);
this.validateLetter(this.form.customerAddress);
this.validateLetter(this.form.customerPhone);
this.validateLetter(this.form.bankName);
this.validateLetter(this.form.bankName);
this.validateLetter(this.form.phone);
this.validateLetter(this.form.email);
this.validateLetter(this.form.remark);
this.validateLetter(this.form.productName);
this.validateLetter(this.form.specification);
this.validateLetter(this.form.unit);
this.validateLetter(this.form.price);
this.validateLetter(this.form.num);
this.validateLetter(this.form.taxamt);
this.validateLetter(this.form.taxrate);
this.validateLetter(this.form.tax);
this.validateLetter(this.form.discount);
this.validateLetter(this.form.deduction);
this.validateLetter(this.form.zeroTaxRate);
this.validateLetter(this.form.encodingName);
this.validateLetter(this.form.encodingVersion);
this.validateLetter(this.form.discountsType);
this.validateLetter(this.form.taxClassificationCode);
this.validateLetter(this.form.isornotDiscounts);
},
validateLetter(value) {
if (/^[A-Z]$/.test(value)) {
if (this.letterList.includes(value)) {
//
this.$message.warning('输入值重复!');
} else {
//
this.letterList.push(value);
}
} else {
//
this.$message.warning('请输入Excel列字母A-Z');
}
},
//
cancel() {
this.open = false;

Loading…
Cancel
Save