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 { try {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c"); deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setFstatus(2L); deleteSoSaleVo.setFstatus("2");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo); List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo);
logger.info("条数:{}", soSaleinvoiceEntities.size()); logger.info("条数:{}", soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) { if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
@ -138,7 +138,7 @@ public class DeleteU8cDataUtil {
try { try {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c"); deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setFstatus(2L); deleteSoSaleVo.setFstatus("2");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo); List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo);
logger.info("条数:{}", soSaleinvoiceEntities.size()); logger.info("条数:{}", soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) { if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
@ -1279,7 +1279,7 @@ public class DeleteU8cDataUtil {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c"); deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds); deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus(2L); deleteSoSaleVo.setFstatus("2,6");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo); List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
Map<String, List<DeleteU8cDataUtilEntity>> deleteU8cDataUtilEntitiesMap = groupByDbilldatev2(deleteU8cDataUtilEntities2); Map<String, List<DeleteU8cDataUtilEntity>> deleteU8cDataUtilEntitiesMap = groupByDbilldatev2(deleteU8cDataUtilEntities2);
if (deleteU8cDataUtilEntitiesMap.size() > 0) { if (deleteU8cDataUtilEntitiesMap.size() > 0) {
@ -1321,7 +1321,7 @@ public class DeleteU8cDataUtil {
DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
deleteSoSaleVo.setDataSourceCode("lets_u8c"); deleteSoSaleVo.setDataSourceCode("lets_u8c");
deleteSoSaleVo.setCsaleids(concatenatedIds); deleteSoSaleVo.setCsaleids(concatenatedIds);
deleteSoSaleVo.setFstatus(2L); deleteSoSaleVo.setFstatus("2,6");
List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities22 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo); List<DeleteU8cDataUtilEntity> deleteU8cDataUtilEntities22 = deleteU8cDataUtilDao.querySoSaleByDeletev2(deleteSoSaleVo);
deleteU8cDataUtilEntities22All.addAll(deleteU8cDataUtilEntities22); deleteU8cDataUtilEntities22All.addAll(deleteU8cDataUtilEntities22);
} }
@ -1370,4 +1370,76 @@ public class DeleteU8cDataUtil {
e.printStackTrace(); 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!=''"> <if test="csaleids!=null and csaleids!=''">
AND a.csaleid in (${csaleids}) AND a.csaleid in (${csaleids})
</if> </if>
<if test="fstatus!=null"> <if test="fstatus!=null and fstatus!=''">
AND a.fstatus = #{fstatus} AND a.fstatus in (${fstatus})
</if> </if>
AND a.dr = 0 AND a.dr = 0
ORDER BY 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 NOT IN ( SELECT pk_deptdoc FROM bd_deptdoc WHERE deptname = '业务部门' AND dr = 0 )
AND a.cdeptid IS NOT NULL AND a.cdeptid IS NOT NULL
and a.pk_corp != c.pk_corp and a.pk_corp != c.pk_corp
and a.csaleid = '1015A11000000000OUKB' -- and a.csaleid = '1001A1100000000FC70H'
</select> </select>
<!--查询审批状态下的销售发票--> <!--查询审批状态下的销售发票-->

View File

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