actor(deleteref-data): 重构销售订单审核逻辑

- 修改 DeleteU8cDataUtilEntity 中 fstatus 字段类型从 Long 改为 String
- 更新 DeleteSoSaleVo 中 fstatus 属性类型为 String
- 调整查询条件,支持 fstatus 多值查询
- 新增销售订单审核V2 版本方法,优化审核流程
This commit is contained in:
liuy 2025-05-29 15:34:34 +08:00
parent 8767b8fe08
commit 8de9240c03
3 changed files with 82 additions and 11 deletions

View File

@ -98,7 +98,7 @@ public class DeleteU8cDataUtil {
try {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setFstatus(2L);
deleteSoSaleVo.setFstatus("2");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo);
logger.info("条数:{}", soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
@ -138,7 +138,7 @@ public class DeleteU8cDataUtil {
try {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setFstatus(2L);
deleteSoSaleVo.setFstatus("2");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo);
logger.info("条数:{}", soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
@ -1279,7 +1279,7 @@ public class DeleteU8cDataUtil {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus(2L);
deleteSoSaleVo.setFstatus("2,6");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
Map<String, List<DeleteU8cDataUtilEntity>> deleteU8cDataUtilEntitiesMap = groupByDbilldatev2(deleteU8cDataUtilEntities2);
if (deleteU8cDataUtilEntitiesMap.size() > 0) {
@ -1321,7 +1321,7 @@ public class DeleteU8cDataUtil {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus(2L);
deleteSoSaleVo.setFstatus("2,6");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities22 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
deleteU8cDataUtilEntities22All.addAll(deleteU8cDataUtilEntities22);
}
@ -1370,4 +1370,76 @@ public class DeleteU8cDataUtil {
e.printStackTrace();
}
}
/**
* 销售订单审核
*/
public void salesOrderReviewV2() {
try {
//确定销售订单范围19648
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2();
if (deleteU8cDataUtilEntities.size() > 0) {
List<List<DeleteU8cDataUtilEntity>> lists = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities, 100);
for (int i = 0; i < lists.size(); i++) {
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities1 = lists.get(i);
String concatenatedIds = deleteU8cDataUtilEntities1.stream().map(DeleteU8cDataUtilEntity::getCsaleid).map(csaleid -> "'" + csaleid + "'").collect(Collectors.joining(","));
//销售订单审批
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus("1");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
Map<String, List<DeleteU8cDataUtilEntity>> deleteU8cDataUtilEntitiesMap = groupByDbilldatev2(deleteU8cDataUtilEntities2);
if (deleteU8cDataUtilEntitiesMap.size() > 0) {
for (Map.Entry<String, List<DeleteU8cDataUtilEntity>> entry : deleteU8cDataUtilEntitiesMap.entrySet()) {
String key = entry.getKey();
List<DeleteU8cDataUtilEntity> valueList = entry.getValue();
List<String> vreceiptcodeList = valueList.stream().map(DeleteU8cDataUtilEntity::getVreceiptcode).collect(Collectors.toList());
String[] split = key.split("@@@@");
//批量销售订单审批
JsonRootBeanCancelSignature jsonRootBeanCancelSignature = new JsonRootBeanCancelSignature();
QueryinfoCancelSignature queryinfoCancelSignature = new QueryinfoCancelSignature();
queryinfoCancelSignature.setDate_begin(split[0]);
queryinfoCancelSignature.setDate_end(split[0]);
queryinfoCancelSignature.setCorp(split[1]);
queryinfoCancelSignature.setCode(vreceiptcodeList);
ApproveinfoCancelSignature approveinfoCancelSignature = new ApproveinfoCancelSignature();
approveinfoCancelSignature.setApprovid("tbadmin");
jsonRootBeanCancelSignature.setApproveinfo(approveinfoCancelSignature);
jsonRootBeanCancelSignature.setQueryinfo(queryinfoCancelSignature);
sendU8C("http://39.170.109.90:8088/u8cloud/api/so/saleorder/approve", JSON.toJSONString(jsonRootBeanCancelSignature), vreceiptcodeList.size());
}
}
}
}
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities22All = new ArrayList<>();
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2();
if (deleteU8cDataUtilEntities2 != null) {
List<List<DeleteU8cDataUtilEntity>> lists = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities, 999);
for (int i = 0; i < lists.size(); i++) {
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities1 = lists.get(i);
String concatenatedIds = deleteU8cDataUtilEntities1.stream().map(DeleteU8cDataUtilEntity::getCsaleid).map(csaleid -> "'" + csaleid + "'").collect(Collectors.joining(","));
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus("1");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities22 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
deleteU8cDataUtilEntities22All.addAll(deleteU8cDataUtilEntities22);
}
}
if (deleteU8cDataUtilEntities22All.size() > 0) {
Thread.sleep(10000);
salesOrderReviewV2();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -189,8 +189,8 @@
<if test="csaleids!=null and csaleids!=''">
AND a.csaleid in (${csaleids})
</if>
<if test="fstatus!=null">
AND a.fstatus = #{fstatus}
<if test="fstatus!=null and fstatus!=''">
AND a.fstatus in (${fstatus})
</if>
AND a.dr = 0
ORDER BY
@ -311,7 +311,7 @@
AND a.cdeptid NOT IN ( SELECT pk_deptdoc FROM bd_deptdoc WHERE deptname = '业务部门' AND dr = 0 )
AND a.cdeptid IS NOT NULL
and a.pk_corp != c.pk_corp
and a.csaleid = '1015A11000000000OUKB'
-- and a.csaleid = '1001A1100000000FC70H'
</select>
<!--查询审批状态下的销售发票-->

View File

@ -15,11 +15,10 @@ public class DeleteSoSaleVo extends BaseEntity {
private String vreceiptcode;
private String dbilldate;
private String cbiztype;
private Long fstatus;
private String fstatus;
private String pk_corp;
private String unitname;
private String unitcode;
private String csaleids;
public String getCsaleids() {
@ -62,11 +61,11 @@ public class DeleteSoSaleVo extends BaseEntity {
this.cbiztype = cbiztype;
}
public Long getFstatus() {
public String getFstatus() {
return fstatus;
}
public void setFstatus(Long fstatus) {
public void setFstatus(String fstatus) {
this.fstatus = fstatus;
}