同步凭证号,发送认证逻辑开发

release
wangzhikun 2 years ago
parent 35608d9ad6
commit 00bc62b0af
  1. 11
      dxhy-erp/src/main/java/com/dxhy/erp/controller/InterfaceController.java
  2. 5
      dxhy-erp/src/main/java/com/dxhy/erp/entity/SysDeptEntity.java
  3. 20
      dxhy-erp/src/main/java/com/dxhy/erp/model/EsOutPutResp.java
  4. 37
      dxhy-erp/src/main/java/com/dxhy/erp/model/IsInput.java
  5. 36
      dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATA.java
  6. 15
      dxhy-erp/src/main/java/com/dxhy/erp/model/ZDATARESP.java
  7. 4
      dxhy-erp/src/main/java/com/dxhy/erp/service/InvoiceAuthService.java
  8. 94
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java

@ -3,6 +3,7 @@ package com.dxhy.erp.controller;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@ -31,8 +32,7 @@ import com.dxhy.erp.entity.TDxInvoiceReimburse;
import com.dxhy.erp.entity.V5.CheckResult;
import com.dxhy.erp.entity.V5.DxhyInterfaceRequest;
import com.dxhy.erp.entity.V5.DxhyInterfaceResponse;
import com.dxhy.erp.model.ReimburseReq;
import com.dxhy.erp.model.ReturnStateInfo;
import com.dxhy.erp.model.*;
import com.dxhy.erp.model.auth.InterfaceCode;
import com.dxhy.erp.service.*;
import com.dxhy.erp.utils.HmacSHA1Util;
@ -1123,4 +1123,11 @@ public class InterfaceController extends AbstractController {
}
return returnResult;
}
@PostMapping("receiveErpInvoiceMessage")
public String receiveErpInvoiceMessage(@RequestBody IsInput isInput){
EsOutPutResp esOutPutResp=invoiceAuthService.receiveErpInvoiceMessage(isInput);
return JsonUtils.getInstance().toJsonString(esOutPutResp);
}
}

@ -77,4 +77,9 @@ public class SysDeptEntity implements Serializable {
/** 是否需要密码1需要 */
private String isPassword;
private String password;
/**
* 是否自动认证
* 1自动认证 其他非自动认证
*/
private String autoRz;
}

@ -0,0 +1,20 @@
package com.dxhy.erp.model;
import lombok.Data;
/**
* @Author wangzhikun
* @Date 2023/3/16 2023/3/16
*/
@Data
public class EsOutPutResp {
private String BSKEY;
private String SAPKEY;
private String ZTYPE;
private String ZMESSAGE;
private ZDATARESP zdata;
}

@ -0,0 +1,37 @@
package com.dxhy.erp.model;
import lombok.Data;
import java.util.List;
/**
* @Author wangzhikun
* @Date 2023/3/16 2023/3/16
*/
@Data
public class IsInput {
private String SYSID;
private String IFYWID;
private String BSKEY;
private String SAPKEY;
private String ZORG;
private String ZFILED1;
private String ZFILED2;
private String ZFILED3;
private String ZFILED4;
private String ZFILED5;
private List<ZDATA> ZDATA;
}

@ -0,0 +1,36 @@
package com.dxhy.erp.model;
import lombok.Data;
/**
* @Author wangzhikun
* @Date 2023/3/16 2023/3/16
*/
@Data
public class ZDATA {
private String ID;
private String ZBZDH;
private String ZFPHM;
private String ZFPDM;
private String ZFPLX;
private String ZYWZT;
private String ZGSDM;
private String ZGSDMT;
private String ZJBR;
private String ZJBRT;
private String ZJBRSJ;
private String BELNR;
private String BUDAT;
}

@ -0,0 +1,15 @@
package com.dxhy.erp.model;
import lombok.Data;
/**
* @Author wangzhikun
* @Date 2023/3/16 2023/3/16
*/
@Data
public class ZDATARESP {
private String PROMSG;
private String PROTYP;
}

@ -9,6 +9,8 @@ import com.dxhy.common.service.MpBaseService;
import com.dxhy.common.util.pojo.Authorize;
import com.dxhy.common.util.pojo.GlobalInfo;
import com.dxhy.erp.entity.RecordInvoice;
import com.dxhy.erp.model.EsOutPutResp;
import com.dxhy.erp.model.IsInput;
/**
* @author dxhy
@ -40,4 +42,6 @@ public interface InvoiceAuthService extends MpBaseService<RecordInvoice> {
*/
String getAuthResult(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
HttpServletResponse response, Authorize authorize);
EsOutPutResp receiveErpInvoiceMessage(IsInput isInput);
}

@ -2,15 +2,16 @@ package com.dxhy.erp.service.impl;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dxhy.common.enums.FplxEnum;
import com.dxhy.erp.model.*;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
@ -30,9 +31,6 @@ import com.dxhy.erp.entity.AuthRecord;
import com.dxhy.erp.entity.RecordInvoice;
import com.dxhy.erp.entity.SysDeptEntity;
import com.dxhy.erp.entity.TdxRecordInvoice;
import com.dxhy.erp.model.AuthDateReq;
import com.dxhy.erp.model.AuthStatus;
import com.dxhy.erp.model.ReturnStateInfo;
import com.dxhy.erp.model.auth.InterfaceCode;
import com.dxhy.erp.service.InvoiceAuthService;
import com.dxhy.erp.utils.CheckUtils;
@ -319,6 +317,56 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao,
return JSON.toJSONString(interfaceCode);
}
@Override
public EsOutPutResp receiveErpInvoiceMessage(IsInput isInput) {
EsOutPutResp es = new EsOutPutResp();
es.setBSKEY(isInput.getBSKEY());
es.setSAPKEY(isInput.getSAPKEY());
es.setZTYPE("S");
ZDATARESP zdataresp = new ZDATARESP();
StringBuilder promsg = new StringBuilder();
boolean flag = false;
List<ZDATA> zdata = isInput.getZDATA();
AuthDateReq authDateReq=new AuthDateReq();
authDateReq.setBatchNo(isInput.getSAPKEY());
authDateReq.setApplyRzlx("1");
for(ZDATA zdata1:zdata){
String uuid = zdata1.getZFPDM()+zdata1.getZFPHM();
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ);
TdxRecordInvoice recordInvoiceByUuid = tDxrecordInvoiceDao.getRecordInvoiceByUuid(uuid);
if(recordInvoiceByUuid!=null){
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("uuid",uuid);
//会计凭证号
updateWrapper.set("belnr",zdata1.getBELNR());
//凭证过账日期
updateWrapper.set("budat",zdata1.getBUDAT());
//账期
updateWrapper.set("zq",zdata1.getBUDAT());
DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE);
int update = tDxrecordInvoiceDao.update(null, updateWrapper);
DynamicContextHolder.push(DbConstant.BASICS_READ);
SysDeptEntity org = sysDeptDao.getOrg(recordInvoiceByUuid.getGfTaxNo());
zdata1.setZFPLX(convertFpzldm(zdata1.getZFPLX()));
//如果设置的自动认证走申请认证逻辑
if("1".equals(org.getAutoRz()) && ("01".equals(zdata1.getZFPLX()) || "03".equals(zdata1.getZFPLX())
|| "08".equals(zdata1.getZFPLX()) || "14".equals(zdata1.getZFPLX())
|| "31".equals(zdata1.getZFPLX())) && StringUtils.isNotBlank(zdata1.getBUDAT())){
if(!"4".equals(recordInvoiceByUuid.getAuthStatus()) && !"3".equals(recordInvoiceByUuid.getAuthStatus())
&& !"2".equals(recordInvoiceByUuid.getAuthStatus())){
Map<String,Object> authState = new HashMap<>();
authState.put("rz_user",zdata1.getZJBRT());
authState.put("applyTaxPeriod",zdata1.getBUDAT().substring(0,7).replace("-",""));
tDxrecordInvoiceDao.updateRz(authState,"1","1",recordInvoiceByUuid.getUuid());
}
}
}else {
flag=true;
}
}
return es;
}
public ReturnStateInfo getCheckData(List<Map<String, Object>> authStateList, Integer contentRows) {
ReturnStateInfo run = new ReturnStateInfo();
if (contentRows == null || authStateList.size() != contentRows) {
@ -366,5 +414,37 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao,
}
return run;
}
public String convertFpzldm(String fpzldm){
if("10".equals(fpzldm)){
fpzldm= FplxEnum.ZP.getFplxDm();
}else if("11".equals(fpzldm)){
fpzldm=FplxEnum.PP.getFplxDm();
}else if("12".equals(fpzldm)){
fpzldm=FplxEnum.DZP.getFplxDm();
}else if("13".equals(fpzldm)){
fpzldm=FplxEnum.JSP.getFplxDm();
}else if("14".equals(fpzldm)){
fpzldm=FplxEnum.JDC.getFplxDm();
}else if("15".equals(fpzldm)){
fpzldm=FplxEnum.ESC.getFplxDm();
}else if("24".equals(fpzldm)){
fpzldm=FplxEnum.TXF.getFplxDm();
}else if("25".equals(fpzldm)){
fpzldm=FplxEnum.DZZP.getFplxDm();
}else if("26".equals(fpzldm)){
fpzldm=FplxEnum.QDZZP.getFplxDm();
}else if("27".equals(fpzldm)){
fpzldm=FplxEnum.QDPP.getFplxDm();
}
return fpzldm;
}
public static void main(String[] args) {
String d="2023-01-01";
String substring = d.substring(0, 7).replace("-","");
System.out.println(substring);
}
}

Loading…
Cancel
Save