|
|
|
@ -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); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|