简税升级

beta-enc
dongxiaoke 2 years ago
parent 853e6fc452
commit 7cf3893e63
  1. 10
      jianshui-admin/src/main/java/com/jianshui/api/controller/webservice/income/v1/impl/InvoiceCheckWebServiceImpl.java
  2. 2
      jianshui-admin/src/main/resources/application.yml
  3. 23
      jianshui-common/src/main/java/com/jianshui/common/utils/InvoiceUtils.java
  4. 61
      jianshui-common/src/main/java/com/jianshui/common/utils/ToLowerBeanUtil.java
  5. 5
      jianshui-income/src/main/java/com/jianshui/income/service/impl/EleCheckInvoiceImpl.java
  6. 1
      jianshui-income/src/main/java/com/jianshui/income/utils/elephant/ElephantUtils.java

@ -1,6 +1,7 @@
package com.jianshui.api.controller.webservice.income.v1.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.XmlUtil;
import com.alibaba.fastjson.JSONObject;
// import com.jianshui.api.controller.webservice.income.v1.InvoiceCheckWebService;
@ -8,6 +9,7 @@ import com.jianshui.common.core.domain.AjaxResult;
import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.utils.DateUtils;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.ToLowerBeanUtil;
import com.jianshui.income.domain.entity.InvoiceCheck;
import com.jianshui.income.domain.entity.InvoiceCheckDetail;
import com.jianshui.income.domain.vo.render.*;
@ -123,6 +125,10 @@ public class InvoiceCheckWebServiceImpl {
if (StringUtils.isEmpty(InvTime)) {
return buildResult(result, "1", "开票日期不能为空", null);
}
boolean isMatch = ReUtil.isMatch("^\\d{4}-\\d{2}-\\d{2}$", InvTime);
if(!isMatch){
return buildResult(result, "1", "开票日期格式错误 yyyy-MM-dd", null);
}
// 如果Jym这个参数为空,我就去判断InvOther是否为6位且不带小数点,如果确实如此,那就直接将InvOther作为校验码传给大象
// 2023.03.09 如果InvOtherNode是6位且不到小数点,那么就直接将InvOtherNode作为校验码传给大象
String Jym = InvOtherElementNode != null ? InvOtherElementNode.getNodeValue() : "";
@ -331,6 +337,7 @@ public class InvoiceCheckWebServiceImpl {
}
private Element json2Element(Document result, String elementName, JSONObject jsonObject) {
Element parent = result.createElement(elementName);
jsonObject.keySet().forEach(key -> {
String value = jsonObject.getString(key);
@ -368,9 +375,8 @@ public class InvoiceCheckWebServiceImpl {
vo.setResult(responseCheckResultVO);
resp.setDATA(vo);
return resp;
return resp;
}
// private WebServiceRespVO buildResult(Document result, String code, String message, Element fp) {

@ -46,7 +46,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: dev-local
active: dev
# 文件上传
servlet:
multipart:

@ -87,4 +87,27 @@ public class InvoiceUtils {
}
return "";
}
/**
* 匹配手机号电话号
*/
public static String getPhoneNew(final String raw) {
String regularExpression = "0?[1-9]{2,3}-?[0-9]{5,10}";
ReUtil.findAll(regularExpression, raw, 0, new ArrayList<String>());
List<String> resultFindAll = ReUtil.findAll(regularExpression, raw, 0, new ArrayList<String>());
if (resultFindAll.size() > 0) {
return resultFindAll.get(0);
}
return "";
}
}

@ -0,0 +1,61 @@
package com.jianshui.common.utils;
import cn.hutool.core.bean.BeanUtil;
import java.util.Map;
/**
* @Author: kk
* @Description: 将类转换为小写
* @DateTime: 2023/5/23 16:44
* @Params:
* @Return
*/
public class ToLowerBeanUtil {
/**
* 获取对象属性值-忽略大小写
*
* @param bean 对象
* @param fieldName 属性名
* @return 属性值
*/
public static Object getPropertyIgnoreCase(Object bean, String fieldName) {
if (bean == null) {
return null;
}
Map<String, Object> map = BeanUtil.beanToMap(bean, false, true);
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (entry.getKey().toLowerCase().equals(fieldName.toLowerCase())) {
return entry.getValue();
}
}
return null;
}
/**
* 将Bean的属性名转为小写
*
* @param bean 对象
*/
public static void toLowerCase(Object bean) {
if (bean == null) {
return;
}
Map<String, Object> map = BeanUtil.beanToMap(bean, false, true);
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
if (!key.equals(key.toLowerCase())) {
Object value = entry.getValue();
BeanUtil.setFieldValue(bean, key, null);
BeanUtil.setFieldValue(bean, key.toLowerCase(), value);
}
}
}
}

@ -726,10 +726,7 @@ public class EleCheckInvoiceImpl implements ICheckInvoice {
// 2022.09.16 浪潮新增需求,新增销货方地址电话拆分为两个字段
String xhfdzdh = invoiceCheck.getXhfdzdh();
if (StringUtils.isNotEmpty(xhfdzdh)) {
String dh = InvoiceUtils.getMobile(xhfdzdh);
if (StringUtils.isEmpty(dh)) {
dh = InvoiceUtils.getPhone(xhfdzdh);
}
String dh = InvoiceUtils.getPhoneNew(xhfdzdh);
if (StringUtils.isNotEmpty(dh)) {
invoiceCheck.setXhfdz(xhfdzdh.replace(dh, ""));
invoiceCheck.setXhfdh(dh);

@ -121,7 +121,6 @@ public class ElephantUtils {
stringBuffer.append(str);
}
result = JSONObject.parseObject(stringBuffer.toString());
} catch (Exception e) {
result = null;
e.printStackTrace();

Loading…
Cancel
Save