From e7a43b98330b464ee0d416ba166f56551679e8ae Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Thu, 29 May 2025 19:01:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(deletedata):=20=E6=96=B0=E5=A2=9E=E5=BA=94?= =?UTF-8?q?=E6=94=B6=E5=8D=95=E5=A4=84=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 DeleteU8cDataUtilDao 中添加了 abandonmentAccountsReceivableDocV2 方法,用于查询应收单 - 在 DeleteU8cDataUtil 中实现了 unApprovalDeleteAccountsReceivable 方法,用于弃审和删除应收单 - 新增了 ArapDjzbVo 类,用于存储应收单信息 - 在 DeleteSoSaleVo 中添加了 spzt 和 spztnull 字段,用于筛选应收单状态 --- .../frame/deletedata/DeleteU8cDataUtil.java | 145 +++++++++++++++--- .../deletedata/dao/DeleteU8cDataUtilDao.java | 12 +- .../dao/impl/DeleteU8cDataUtilDaoImpl.java | 6 + .../entity/DeleteU8cDataUtilEntity.xml | 62 ++++++++ .../hzya/frame/deletedata/vo/ArapDjzbVo.java | 22 +++ .../frame/deletedata/vo/DeleteSoSaleVo.java | 18 +++ 6 files changed, 243 insertions(+), 22 deletions(-) create mode 100644 service/src/main/java/com/hzya/frame/deletedata/vo/ArapDjzbVo.java diff --git a/service/src/main/java/com/hzya/frame/deletedata/DeleteU8cDataUtil.java b/service/src/main/java/com/hzya/frame/deletedata/DeleteU8cDataUtil.java index 98c3ba15..898eb3a2 100644 --- a/service/src/main/java/com/hzya/frame/deletedata/DeleteU8cDataUtil.java +++ b/service/src/main/java/com/hzya/frame/deletedata/DeleteU8cDataUtil.java @@ -52,10 +52,14 @@ public class DeleteU8cDataUtil { private static final Object LOCK_OBJECT = new Object(); + private static final Object LOCK_OBJECT2 = new Object(); + private static final Integer SPLIT_VAR = 1000; private static Integer MARK = 0; + private static Integer MARK2 = 0; + @PostConstruct public void init() { deleteTargetU8cData(); @@ -68,27 +72,27 @@ public class DeleteU8cDataUtil { synchronized (LOCK_OBJECT) { if (MARK == 0) { MARK = 1; - //删除销售发票 -// deleteSoSaleinvoice(); //删除销售出库单 -// deleteIcGeneralH(); - //删除销售订单 -// deleteSoSale(); - //取消签字销售出库单 已测试 -// cancelSignatureIcGeneralHV2("'0001A110000000001TH6', '0001A1100000000VKCOK'"); - //销售出库单签字 已测试 -// saleOutSign("'0001A110000000001TH6', '0001A1100000000VKCOK'"); - -// cancelSignatureSoSaleReadExcelV2(); - -// cancelSignatureSoSaleReadExcel20250528V2(); -// abandonmentReviewSoSaleinvoice2505282107(); -// cancelSignatureSoSaleReadExcel2505282140V2(); + cancelSignatureSoSaleReadExcel20250528V2(); } } } - }, "删除销售订单 2025-05-07"); + }, "删除销售出库单 2025-05-29"); thread.start(); + + Thread thread2 = new Thread(new Runnable() { + @Override + public void run() { + synchronized (LOCK_OBJECT2) { + if (MARK2 == 0) { + MARK2 = 1; + //删除销售发票 + abandonmentReviewSoSaleinvoice2505282107(); + } + } + } + }, "删除销售发票 2025-05-29"); + thread2.start(); } /** @@ -1241,8 +1245,8 @@ public class DeleteU8cDataUtil { //判断是否还存在需要删除的发票 List soSaleinvoiceEntities2All = new ArrayList<>(); - List deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2(); - List> lists2 = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities2, 999); +// List deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2(); + List> lists2 = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities, 999); for (int i = 0; i < lists2.size(); i++) { List deleteU8cDataUtilEntities1 = lists2.get(i); String concatenatedIds = deleteU8cDataUtilEntities1.stream().map(DeleteU8cDataUtilEntity::getCsaleid).map(csaleid -> "'" + csaleid + "'").collect(Collectors.joining(",")); @@ -1442,4 +1446,109 @@ public class DeleteU8cDataUtil { e.printStackTrace(); } } + + /** + * 弃审+删除应收单 + * + * @author liuyang + */ + public void unApprovalDeleteAccountsReceivable() { + try { + //确定销售订单范围、19648 + List deleteU8cDataUtilEntities = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2(); + if (deleteU8cDataUtilEntities.size() > 0) { + List> lists = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities, 500); + for (int i = 0; i < lists.size(); i++) { + List deleteU8cDataUtilEntities1 = lists.get(i); + String concatenatedIds = deleteU8cDataUtilEntities1.stream().map(DeleteU8cDataUtilEntity::getCsaleid).map(csaleid -> "'" + csaleid + "'").collect(Collectors.joining(",")); + //查询需要弃审的应收单 + Map>> mapList = new HashMap(); + List> mapList1 = new ArrayList<>(); + + DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); + deleteSoSaleVo.setCsaleid(concatenatedIds); + deleteSoSaleVo.setSpzt("1"); + List arapDjzbVos = deleteU8cDataUtilDao.abandonmentAccountsReceivableDocV2(deleteSoSaleVo); + if (arapDjzbVos != null && arapDjzbVos.size() > 0) { + for (int j = 0; j < arapDjzbVos.size(); j++) { + ArapDjzbVo arapDjzbVo = arapDjzbVos.get(j); + + Map stringStringMap = new HashMap<>(); + stringStringMap.put("djbh", arapDjzbVo.getDjbh());//单据编码 + stringStringMap.put("dwbm", arapDjzbVo.getUnitcode());//公司编码 + stringStringMap.put("operatedate", arapDjzbVo.getDjrq());//单据日期 + stringStringMap.put("operatorid", "18846145294");//操作人编码 + mapList1.add(stringStringMap); + } + } + + if (mapList1.size() > 0) { + mapList.put("bills", mapList1); +// sendU8C("http://39.170.109.90:8088/u8cloud/api/arap/ys/unaudit", JSON.toJSONString(mapList), mapList1.size()); + } + + //删除应收单 + DeleteSoSaleVo deleteSoSaleVo2 = new DeleteSoSaleVo(); + deleteSoSaleVo2.setCsaleid(concatenatedIds); +// deleteSoSaleVo2.setSpzt("1"); + deleteSoSaleVo2.setSpztnull("1");//a.spzt is null + List arapDjzbVos2 = deleteU8cDataUtilDao.abandonmentAccountsReceivableDocV2(deleteSoSaleVo2); + for (int j = 0; j < arapDjzbVos2.size(); j++) { + ArapDjzbVo arapDjzbVo = arapDjzbVos2.get(j); + + Map stringStringMap = new HashMap<>(); + stringStringMap.put("coperator", "tbadmin"); + + Map stringStringMap2 = new HashMap<>(); + stringStringMap2.put("dwbm", arapDjzbVo.getUnitcode()); + stringStringMap2.put("djbh_from", arapDjzbVo.getDjbh()); + stringStringMap2.put("djbh_to", arapDjzbVo.getDjbh()); + + Map> stringStringMap3 = new HashMap<>(); + stringStringMap3.put("deleteinfo", stringStringMap); + stringStringMap3.put("queryinfo", stringStringMap2); +// sendU8C("http://39.170.109.90:8088/u8cloud/api/arap/ys/delete", JSON.toJSONString(stringStringMap3), 1); + } + } + } + + //判断是否存在失败的应收单 + List arapDjzbVosAll = new ArrayList<>(); + List deleteU8cDataUtilEntities2 = deleteU8cDataUtilDao.cancelSignatureSoSaleReadExcel20250528V2(); + if (deleteU8cDataUtilEntities2.size() > 0) { + List> lists = SplitListByCountUtil.splitListByCount(deleteU8cDataUtilEntities2, 999); + for (int i = 0; i < lists.size(); i++) { + List deleteU8cDataUtilEntities1 = lists.get(i); + String concatenatedIds = deleteU8cDataUtilEntities1.stream().map(DeleteU8cDataUtilEntity::getCsaleid).map(csaleid -> "'" + csaleid + "'").collect(Collectors.joining(",")); + + DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo(); + deleteSoSaleVo.setCsaleid(concatenatedIds); + deleteSoSaleVo.setSpzt("0,1,2,null"); + List arapDjzbVos = deleteU8cDataUtilDao.abandonmentAccountsReceivableDocV2(deleteSoSaleVo); + arapDjzbVosAll.addAll(arapDjzbVos); + } + } + if (arapDjzbVosAll.size() > 0) { + unApprovalDeleteAccountsReceivable(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 汇总相同时间+公司的单据 + * + * @author liuyang + */ +// private void repairSoSaleDepartment(List arapDjzbVos) { +// Map> resultMap = new HashMap<>(); +// for (ArapDjzbVo entity : arapDjzbVos) { +// String dbilldate = entity.getDbilldate(); +// String unitcode = entity.getUnitcode(); +// // 如果 map 中不包含该日期,则创建一个新的列表 +// resultMap.computeIfAbsent(dbilldate + "@@@@" + unitcode, k -> new ArrayList<>()).add(entity); +// } +// return resultMap; +// } } diff --git a/service/src/main/java/com/hzya/frame/deletedata/dao/DeleteU8cDataUtilDao.java b/service/src/main/java/com/hzya/frame/deletedata/dao/DeleteU8cDataUtilDao.java index 5b740453..c16d97d3 100644 --- a/service/src/main/java/com/hzya/frame/deletedata/dao/DeleteU8cDataUtilDao.java +++ b/service/src/main/java/com/hzya/frame/deletedata/dao/DeleteU8cDataUtilDao.java @@ -3,10 +3,7 @@ package com.hzya.frame.deletedata.dao; import com.hzya.frame.basedao.dao.IBaseDao; import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity; //import com.hzya.frame.deletedata.vo.DeleteArapDjzbVo; -import com.hzya.frame.deletedata.vo.DeleteIcGeneralHVo; -import com.hzya.frame.deletedata.vo.DeleteSoSaleVo; -import com.hzya.frame.deletedata.vo.QueryCorrectDeptIdVo; -import com.hzya.frame.deletedata.vo.UpdateSoSaleCdeptId; +import com.hzya.frame.deletedata.vo.*; import java.util.List; @@ -117,4 +114,11 @@ public interface DeleteU8cDataUtilDao extends IBaseDao abandonmentAccountsReceivableDocV2(DeleteSoSaleVo deleteSoSaleVo) throws Exception; } \ No newline at end of file diff --git a/service/src/main/java/com/hzya/frame/deletedata/dao/impl/DeleteU8cDataUtilDaoImpl.java b/service/src/main/java/com/hzya/frame/deletedata/dao/impl/DeleteU8cDataUtilDaoImpl.java index 09df7286..4141d0af 100644 --- a/service/src/main/java/com/hzya/frame/deletedata/dao/impl/DeleteU8cDataUtilDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/deletedata/dao/impl/DeleteU8cDataUtilDaoImpl.java @@ -102,5 +102,11 @@ public class DeleteU8cDataUtilDaoImpl extends MybatisGenericDao abandonmentAccountsReceivableDocV2(DeleteSoSaleVo deleteSoSaleVo) throws Exception { + return (List) selectList("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.abandonmentAccountsReceivableDocV2", deleteSoSaleVo); + } } diff --git a/service/src/main/java/com/hzya/frame/deletedata/entity/DeleteU8cDataUtilEntity.xml b/service/src/main/java/com/hzya/frame/deletedata/entity/DeleteU8cDataUtilEntity.xml index 65211a30..36f72e38 100644 --- a/service/src/main/java/com/hzya/frame/deletedata/entity/DeleteU8cDataUtilEntity.xml +++ b/service/src/main/java/com/hzya/frame/deletedata/entity/DeleteU8cDataUtilEntity.xml @@ -369,5 +369,67 @@ update so_sale set cdeptid=#{cdeptid} where csaleid = #{csaleid} and dr = 0 + + + + + + + + + + + + + diff --git a/service/src/main/java/com/hzya/frame/deletedata/vo/ArapDjzbVo.java b/service/src/main/java/com/hzya/frame/deletedata/vo/ArapDjzbVo.java new file mode 100644 index 00000000..0604c15f --- /dev/null +++ b/service/src/main/java/com/hzya/frame/deletedata/vo/ArapDjzbVo.java @@ -0,0 +1,22 @@ +package com.hzya.frame.deletedata.vo; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.deletedata.vo + * @Project:kangarooDataCenterV3 + * @name:ArapDjzbVo + * @Date:2025/5/29 15:55 + * @Filename:ArapDjzbVo + */ +@Data +public class ArapDjzbVo { + private String djbh; + private String dwbm; + private String vouchid; + private String spzt; + private String unitname; + private String unitcode; + private String djrq; +} diff --git a/service/src/main/java/com/hzya/frame/deletedata/vo/DeleteSoSaleVo.java b/service/src/main/java/com/hzya/frame/deletedata/vo/DeleteSoSaleVo.java index 73926899..a0ec00de 100644 --- a/service/src/main/java/com/hzya/frame/deletedata/vo/DeleteSoSaleVo.java +++ b/service/src/main/java/com/hzya/frame/deletedata/vo/DeleteSoSaleVo.java @@ -20,6 +20,24 @@ public class DeleteSoSaleVo extends BaseEntity { private String unitname; private String unitcode; private String csaleids; + private String spzt; + private String spztnull; + + public String getSpztnull() { + return spztnull; + } + + public void setSpztnull(String spztnull) { + this.spztnull = spztnull; + } + + public String getSpzt() { + return spzt; + } + + public void setSpzt(String spzt) { + this.spzt = spzt; + } public String getCsaleids() { return csaleids;