|
|
|
@ -10,6 +10,7 @@ import com.dxhy.common.datasource.config.DynamicContextHolder; |
|
|
|
|
import com.dxhy.common.enums.FplxEnum; |
|
|
|
|
import com.dxhy.common.enums.ReturnCodeEnum; |
|
|
|
|
import com.dxhy.common.service.impl.MpBaseServiceImpl; |
|
|
|
|
import com.dxhy.common.util.DateOrderUtil; |
|
|
|
|
import com.dxhy.common.util.StringHelper; |
|
|
|
|
import com.dxhy.common.util.pojo.Authorize; |
|
|
|
|
import com.dxhy.common.util.pojo.GlobalInfo; |
|
|
|
@ -20,8 +21,11 @@ import com.dxhy.erp.model.auth.InterfaceCode; |
|
|
|
|
import com.dxhy.erp.service.InvoiceAuthService; |
|
|
|
|
import com.dxhy.erp.service.TDxInvoiceReimburseService; |
|
|
|
|
import com.dxhy.erp.utils.CheckUtils; |
|
|
|
|
import com.dxhy.erp.utils.DateUtil; |
|
|
|
|
import com.google.common.collect.Maps; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.joda.time.DateTime; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
@ -30,6 +34,7 @@ import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.text.DecimalFormat; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author dxhy |
|
|
|
@ -342,11 +347,15 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao, |
|
|
|
|
fplxList.add("31"); |
|
|
|
|
fplxList.add("32"); |
|
|
|
|
for(ZDATA zdata1:zdata){ |
|
|
|
|
log.info("zdata1.getZFPHM()===>{}",zdata1.getZFPHM().length()); |
|
|
|
|
|
|
|
|
|
log.info("zdata1.getZFPHM()===>{}",zdata1.getZFPHM()); |
|
|
|
|
String collect = fplxList.stream().collect(Collectors.joining(",")); |
|
|
|
|
if(!collect.contains(convertFpzldm(zdata1.getZFPLX()))){ |
|
|
|
|
log.info("非增值税先不处理:{}",JSON.toJSONString(zdata1)); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
String fphm = zdata1.getZFPHM(); |
|
|
|
|
if (StringHelper.isNotBlank(fphm) && fphm.length() > 8 && !("26".equals(zdata1.getZFPLX()) || "27".equals(zdata1.getZFPLX()))){ |
|
|
|
|
fphm = fphm.substring(fphm.length() - 8); |
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(fphm) && fphm.length() > 8 && !("26".equals(zdata1.getZFPLX()) || "27".equals(zdata1.getZFPLX()))){ |
|
|
|
|
fphm = fphm.replace(zdata1.getZFPDM(),""); |
|
|
|
|
log.info("非全电但是号码"); |
|
|
|
|
} |
|
|
|
|
log.info("发票号码{}",fphm); |
|
|
|
@ -372,32 +381,21 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao, |
|
|
|
|
for(ZDATA zdata1:zdata){ |
|
|
|
|
//成功或者失败标识
|
|
|
|
|
boolean flag = false; |
|
|
|
|
log.info("zdata1.getZFPHM(){}",zdata1.getZFPHM().length()); |
|
|
|
|
log.info("zdata1.getZFPHM():{}",zdata1.getZFPHM()); |
|
|
|
|
String fphm = zdata1.getZFPHM(); |
|
|
|
|
if (StringHelper.isNotBlank(fphm) && fphm.length() > 8 && !("26".equals(zdata1.getZFPLX()) || "27".equals(zdata1.getZFPLX()))){ |
|
|
|
|
fphm = fphm.substring(fphm.length() - 8); |
|
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(fphm) && fphm.length() > 8 && !("26".equals(zdata1.getZFPLX()) || "27".equals(zdata1.getZFPLX()))){ |
|
|
|
|
fphm = fphm.replace(zdata1.getZFPDM(),""); |
|
|
|
|
log.info("非全电但是号码"); |
|
|
|
|
} |
|
|
|
|
log.info("发票号码{}",fphm); |
|
|
|
|
String uuid = zdata1.getZFPDM()+fphm; |
|
|
|
|
//销项标识
|
|
|
|
|
String xxbs = zdata1.getXXBS(); |
|
|
|
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_READ); |
|
|
|
|
if(fplxList.contains(zdata1.getZFPLX())){ |
|
|
|
|
if(fplxList.contains(zdata1.getZFPLX()) && !"X".equalsIgnoreCase(xxbs)){ |
|
|
|
|
TdxRecordInvoice recordInvoiceByUuid = tDxrecordInvoiceDao.getRecordInvoiceByUuid(uuid); |
|
|
|
|
if(recordInvoiceByUuid!=null){ |
|
|
|
|
UpdateWrapper updateWrapper = new UpdateWrapper(); |
|
|
|
|
updateWrapper.eq("uuid",uuid); |
|
|
|
|
//凭证号
|
|
|
|
|
updateWrapper.set("sn_voucher_number",zdata1.getBELNR()); |
|
|
|
|
//凭证过账日期
|
|
|
|
|
updateWrapper.set("posting_time",zdata1.getBUDAT()); |
|
|
|
|
//账期
|
|
|
|
|
updateWrapper.set("account_period",zdata1.getBUDAT().substring(0,7)); |
|
|
|
|
//报账单号
|
|
|
|
|
updateWrapper.set("bzdh",zdata1.getZBZDH()); |
|
|
|
|
//入账状态
|
|
|
|
|
updateWrapper.set("inaccount_status",zdata1.getZYWZT()); |
|
|
|
|
updateWrapper.set("comp_code",zdata1.getZGSDM()); |
|
|
|
|
updateWrapper.set("bzr",zdata1.getZJBRT()); |
|
|
|
|
UpdateWrapper updateWrapper = convertRecordInvoice(zdata1,uuid); |
|
|
|
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE); |
|
|
|
|
int update = tDxrecordInvoiceDao.update(null, updateWrapper); |
|
|
|
|
if(update>0){ |
|
|
|
@ -420,34 +418,16 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
UpdateWrapper updateWrapper = new UpdateWrapper(); |
|
|
|
|
updateWrapper.eq("uuid",uuid); |
|
|
|
|
//凭证号
|
|
|
|
|
updateWrapper.set("sn_voucher_number",zdata1.getBELNR()); |
|
|
|
|
//凭证过账日期
|
|
|
|
|
updateWrapper.set("posting_time",zdata1.getBUDAT()); |
|
|
|
|
//账期
|
|
|
|
|
updateWrapper.set("account_period",zdata1.getBUDAT().substring(0,7)); |
|
|
|
|
//报账单号
|
|
|
|
|
updateWrapper.set("bzdh",zdata1.getZBZDH()); |
|
|
|
|
//入账状态
|
|
|
|
|
updateWrapper.set("inaccount_status",zdata1.getZYWZT()); |
|
|
|
|
updateWrapper.set("comp_code",zdata1.getZGSDM()); |
|
|
|
|
updateWrapper.set("bzr",zdata1.getZJBRT()); |
|
|
|
|
UpdateWrapper updateWrapper = convertRecordInvoice(zdata1,uuid); |
|
|
|
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE); |
|
|
|
|
tDxInvoiceReimburseService.getBaseMapper().update(null,updateWrapper); |
|
|
|
|
} |
|
|
|
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE); |
|
|
|
|
UpdateWrapper updateWrapper = new UpdateWrapper(); |
|
|
|
|
updateWrapper.set("sn_voucher_number",zdata1.getBELNR()); |
|
|
|
|
updateWrapper.set("posting_time",zdata1.getBUDAT()); |
|
|
|
|
updateWrapper.set("account_period",zdata1.getBUDAT().substring(0,7)); |
|
|
|
|
updateWrapper.set("bzdh",zdata1.getZBZDH()); |
|
|
|
|
updateWrapper.set("inaccount_status",zdata1.getZYWZT()); |
|
|
|
|
updateWrapper.set("comp_code",zdata1.getZGSDM()); |
|
|
|
|
updateWrapper.set("bzr",zdata1.getZJBRT()); |
|
|
|
|
updateWrapper.eq("uuid",uuid); |
|
|
|
|
tdxSaleRecordInvoiceDao.update(null,updateWrapper); |
|
|
|
|
if ("X".equalsIgnoreCase(xxbs)){ |
|
|
|
|
DynamicContextHolder.push("business"+DbConstant.BUSINESS_WRITE); |
|
|
|
|
UpdateWrapper updateWrapper = convertRecordInvoice(zdata1,uuid); |
|
|
|
|
tdxSaleRecordInvoiceDao.update(null,updateWrapper); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(!flag){ |
|
|
|
|
promsg.append("票据号码:"+zdata1.getZFPHM()+"绑定成功! "); |
|
|
|
|
} |
|
|
|
@ -459,6 +439,25 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao, |
|
|
|
|
return es; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public UpdateWrapper convertRecordInvoice(ZDATA zdata,String uuid){ |
|
|
|
|
UpdateWrapper updateWrapper = new UpdateWrapper(); |
|
|
|
|
updateWrapper.set("sn_voucher_number",zdata.getBELNR()); |
|
|
|
|
try { |
|
|
|
|
DateTime parse = DateTime.parse(zdata.getBUDAT()); |
|
|
|
|
updateWrapper.set("posting_time",zdata.getBUDAT()); |
|
|
|
|
//账期
|
|
|
|
|
updateWrapper.set("account_period",zdata.getBUDAT().substring(0,7)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("时间转换异常:{}",e); |
|
|
|
|
} |
|
|
|
|
updateWrapper.set("bzdh",zdata.getZBZDH()); |
|
|
|
|
updateWrapper.set("inaccount_status",zdata.getZYWZT()); |
|
|
|
|
updateWrapper.set("comp_code",zdata.getZGSDM()); |
|
|
|
|
updateWrapper.set("bzr",zdata.getZJBRT()); |
|
|
|
|
updateWrapper.eq("uuid",uuid); |
|
|
|
|
return updateWrapper; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public ReturnStateInfo getCheckData(List<Map<String, Object>> authStateList, Integer contentRows) { |
|
|
|
|
ReturnStateInfo run = new ReturnStateInfo(); |
|
|
|
|
if (contentRows == null || authStateList.size() != contentRows) { |
|
|
|
@ -532,9 +531,26 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void main(String[] args) { |
|
|
|
|
String d="2023"; |
|
|
|
|
String substring = d.substring(0, 7); |
|
|
|
|
System.out.println(substring); |
|
|
|
|
|
|
|
|
|
Date date = DateUtil.strToDate("0000-00-00"); |
|
|
|
|
DateTime parse1 = DateTime.parse("2012-12-01"); |
|
|
|
|
Date date11 = parse1.toDate(); |
|
|
|
|
HashMap<Object, Object> map = Maps.newHashMap(); |
|
|
|
|
map.put("1","3"); |
|
|
|
|
try { |
|
|
|
|
DateTime parse = DateTime.parse("0000-00-00"); |
|
|
|
|
map.put("2","3"); |
|
|
|
|
Date date1 = parse.toDate(); |
|
|
|
|
String s = parse.toString("yyyy-MM-dd "); |
|
|
|
|
System.out.println(""); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
// throw new RuntimeException(e);
|
|
|
|
|
} |
|
|
|
|
map.put("3","3"); |
|
|
|
|
System.out.println(); |
|
|
|
|
// String d="2023";
|
|
|
|
|
// String substring = d.substring(0, 7);
|
|
|
|
|
// System.out.println(substring);
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|