|
|
@@ -9,6 +9,7 @@ import com.malk.huagao.mapper.*;
|
|
|
import com.malk.huagao.service.YdHuaGaoService;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
|
import com.malk.server.aliwork.YDParam;
|
|
|
+import com.malk.server.aliwork.YDSearch;
|
|
|
import com.malk.server.dingtalk.DDConf;
|
|
|
import com.malk.service.aliwork.YDClient;
|
|
|
import com.malk.utils.UtilMap;
|
|
|
@@ -233,6 +234,78 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
@Override
|
|
|
public void synckdYdOutbound() {
|
|
|
log.info("定时同步-出库单");
|
|
|
+ // 查询需要删除的数据
|
|
|
+ LambdaQueryWrapper<KdYdOutbound> outbounddel = new LambdaQueryWrapper<>();
|
|
|
+ outbounddel.eq(KdYdOutbound::getOperationType, 3)
|
|
|
+ .eq(KdYdOutbound::getSyncStatus, "0");
|
|
|
+ List<KdYdOutbound> kdYdOutbounddels = kdYdOutboundMapper.selectList(outbounddel);
|
|
|
+
|
|
|
+ // 批量删除处理
|
|
|
+ if (!kdYdOutbounddels.isEmpty()) {
|
|
|
+ log.info("开始处理出库单删除操作,共{}条数据", kdYdOutbounddels.size());
|
|
|
+ ArrayList<String> deleteList = new ArrayList<>();
|
|
|
+ int deleteSuccessCount = 0;
|
|
|
+
|
|
|
+ for (KdYdOutbound kdYdOutbound : kdYdOutbounddels) {
|
|
|
+ try {
|
|
|
+ String djbh = kdYdOutbound.getDjbh();
|
|
|
+
|
|
|
+ List<Map> list1 = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
+ .formUuid("FORM-AADBCDA8126F41A0ADDEE3353828583192M8")
|
|
|
+ .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mg34txgm", djbh)))
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
|
|
|
+
|
|
|
+ if (list1 != null && !list1.isEmpty()) {
|
|
|
+ for (Map map : list1) {
|
|
|
+ String formInstanceId = UtilMap.getString(map, "formInstanceId");
|
|
|
+ if (formInstanceId != null) {
|
|
|
+ deleteList.add(formInstanceId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deleteSuccessCount++;
|
|
|
+
|
|
|
+ // 同时删除对应的子表数据
|
|
|
+ Long outboundId = kdYdOutbound.getId();
|
|
|
+ LambdaQueryWrapper<KdYdOutboundDetail> detailDelqw = new LambdaQueryWrapper<>();
|
|
|
+ detailDelqw.eq(KdYdOutboundDetail::getOutboundId, outboundId);
|
|
|
+ List<KdYdOutboundDetail> detailDels = kdYdOutboundDetailMapper.selectList(detailDelqw);
|
|
|
+
|
|
|
+ if (!detailDels.isEmpty()) {
|
|
|
+ for (KdYdOutboundDetail detail : detailDels) {
|
|
|
+ detail.setSyncStatus("1");
|
|
|
+ kdYdOutboundDetailMapper.updateById(detail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.warn("未找到对应的出库单数据: djbh={}", djbh);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除操作完成后更新状态
|
|
|
+ kdYdOutbound.setSyncStatus("1");
|
|
|
+ kdYdOutboundMapper.updateById(kdYdOutbound);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("删除出库单数据查询异常: djbh={}", kdYdOutbound.getDjbh(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 执行批量删除
|
|
|
+ if (!deleteList.isEmpty()) {
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formUuid("FORM-AADBCDA8126F41A0ADDEE3353828583192M8")
|
|
|
+ .formInstanceIdList(deleteList)
|
|
|
+ .build(), YDConf.FORM_OPERATION.delete_batch);
|
|
|
+ log.info("出库单批量删除完成,共删除{}条数据", deleteList.size());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("出库单批量删除操作异常", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ log.info("【出库单删除任务】无需要删除的数据");
|
|
|
+ }
|
|
|
LambdaQueryWrapper<KdYdOutbound> outboundqw = new LambdaQueryWrapper<>();
|
|
|
outboundqw.eq(KdYdOutbound::getSyncStatus, "0");
|
|
|
List<KdYdOutbound> kdYdOutbounds = kdYdOutboundMapper.selectList(outboundqw);
|
|
|
@@ -292,6 +365,8 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
tablemap.put("textField_mf6a0h6y", kdYdOutboundDetail.getJx());
|
|
|
// tablemap.put("radioField_mf6a0h6h", kdYdOutboundDetail.getSfzp());
|
|
|
tableList.add(tablemap);
|
|
|
+ kdYdOutboundDetail.setSyncStatus("1");
|
|
|
+ kdYdOutboundDetailMapper.updateById(kdYdOutboundDetail);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -336,7 +411,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
updateMap.put("tableField_mejnamfd", tableList);
|
|
|
if (fhdbh != null && fhdformInstanceId != null) {
|
|
|
updateMap.put("associationFormField_mejmml36",
|
|
|
- Arrays.asList(getfhdAss(fhdbh,fhdformInstanceId)));
|
|
|
+ Arrays.asList(getfhdAss(fhdbh, fhdformInstanceId)));
|
|
|
}
|
|
|
updateMap.put("dateField_krbgloam", kdYdOutbound.getDateTime() != null ? String.valueOf(kdYdOutbound.getDateTime().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli()) : "");
|
|
|
updateMap.put("textField_krnn5bmr", kdYdOutbound.getXsDept());
|
|
|
@@ -370,16 +445,108 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
} catch (Exception e) {
|
|
|
failCount++;
|
|
|
log.error("同步单条出库单数据异常: 单据编号={}, 错误信息={}",
|
|
|
- kdYdOutbound.getDjbh(), e.getMessage(), e);
|
|
|
+ kdYdOutbound.getDjbh(), e.getMessage(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
log.info("【出库单同步任务】完成: 成功={}, 失败={}, 总计={}",
|
|
|
successCount, failCount, kdYdOutbounds.size());
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void syncKdYdReceivable() {
|
|
|
log.info("定时同步-应收单");
|
|
|
+ // 查询需要删除的数据
|
|
|
+ LambdaQueryWrapper<KdYdReceivable> receivabledel = new LambdaQueryWrapper<>();
|
|
|
+ receivabledel.eq(KdYdReceivable::getOperationType, 3)
|
|
|
+ .eq(KdYdReceivable::getSyncStatus, "0");
|
|
|
+ List<KdYdReceivable> kdYdReceivabledels = kdYdReceivableMapper.selectList(receivabledel);
|
|
|
+
|
|
|
+ // 批量删除处理
|
|
|
+ if (!kdYdReceivabledels.isEmpty()) {
|
|
|
+ log.info("开始处理应收单删除操作,共{}条数据", kdYdReceivabledels.size());
|
|
|
+ ArrayList<String > deleteList = new ArrayList<>();
|
|
|
+ int deleteSuccessCount = 0;
|
|
|
+
|
|
|
+ for (KdYdReceivable kdYdReceivable : kdYdReceivabledels) {
|
|
|
+ try {
|
|
|
+ String djbh = kdYdReceivable.getDjbh();
|
|
|
+
|
|
|
+ List<Map> list1 = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
+ .formUuid("FORM-4E1CE4550339494A9BE5498FB119FF2E9ERU")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
+ .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mg3a0tgs", djbh)))
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
|
|
|
+
|
|
|
+ if (list1 != null && !list1.isEmpty()) {
|
|
|
+ for (Map map : list1) {
|
|
|
+ String formInstanceId = UtilMap.getString(map, "formInstanceId");
|
|
|
+ if (formInstanceId != null) {
|
|
|
+ deleteList.add(formInstanceId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deleteSuccessCount++;
|
|
|
+
|
|
|
+ // 同时删除对应的子表数据
|
|
|
+ Long receivableId = kdYdReceivable.getId();
|
|
|
+
|
|
|
+ // 删除应收单明细
|
|
|
+ LambdaQueryWrapper<KdYdReceivableDetail> detailDelqw = new LambdaQueryWrapper<>();
|
|
|
+ detailDelqw.eq(KdYdReceivableDetail::getReceivableId, receivableId);
|
|
|
+ List<KdYdReceivableDetail> detailDels = kdYdReceivableDetailMapper.selectList(detailDelqw);
|
|
|
+ if (!detailDels.isEmpty()) {
|
|
|
+ for (KdYdReceivableDetail detail : detailDels) {
|
|
|
+ detail.setSyncStatus("1");
|
|
|
+ kdYdReceivableDetailMapper.updateById(detail);
|
|
|
+ }
|
|
|
+ log.debug("更新了{}条应收单明细删除状态", detailDels.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除收款计划
|
|
|
+ LambdaQueryWrapper<KdYdReceivablePayment> paymentDelqw = new LambdaQueryWrapper<>();
|
|
|
+ paymentDelqw.eq(KdYdReceivablePayment::getReceivableId, receivableId);
|
|
|
+ List<KdYdReceivablePayment> paymentDels = kdYdReceivalablePaymentMapper.selectList(paymentDelqw);
|
|
|
+ if (!paymentDels.isEmpty()) {
|
|
|
+ for (KdYdReceivablePayment payment : paymentDels) {
|
|
|
+ payment.setSyncStatus("1");
|
|
|
+ kdYdReceivalablePaymentMapper.updateById(payment);
|
|
|
+ }
|
|
|
+ log.debug("更新了{}条收款计划删除状态", paymentDels.size());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.warn("未找到对应的应收单数据: djbh={}", djbh);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除操作完成后更新状态
|
|
|
+ kdYdReceivable.setSyncStatus("1");
|
|
|
+ kdYdReceivableMapper.updateById(kdYdReceivable);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("删除应收单数据查询异常: djbh={}", kdYdReceivable.getDjbh(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 执行批量删除
|
|
|
+ if (!deleteList.isEmpty()) {
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formUuid("FORM-4E1CE4550339494A9BE5498FB119FF2E9ERU")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
+ .formInstanceIdList(deleteList)
|
|
|
+ .build(), YDConf.FORM_OPERATION.delete_batch);
|
|
|
+ log.info("应收单批量删除完成,共删除{}条数据", deleteList.size());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("应收单批量删除操作异常", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("应收单删除操作处理完成: 成功查询={}, 待删除={}", deleteSuccessCount, deleteList.size());
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ log.info("【应收单删除任务】无需要删除的数据");
|
|
|
+ }
|
|
|
LambdaQueryWrapper<KdYdReceivable> receivableqw = new LambdaQueryWrapper<>();
|
|
|
receivableqw.eq(KdYdReceivable::getSyncStatus, "0");
|
|
|
List<KdYdReceivable> kdYdReceivables = kdYdReceivableMapper.selectList(receivableqw);
|
|
|
@@ -408,7 +575,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
log.info("【应收单{}】无需要同步的明细数据", djbh);
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
+ int count = 1;
|
|
|
ArrayList<Object> tableList = new ArrayList<>();
|
|
|
for (KdYdReceivableDetail kdYdReceivableDetail : kdYdReceivabledetails) {
|
|
|
HashMap<Object, Object> tablemap = new HashMap<>();
|
|
|
@@ -438,6 +605,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
String detailId = kdYdReceivableDetail.getDetailId();
|
|
|
|
|
|
// 优化:确保所有金额字段保留两位小数
|
|
|
+ tablemap.put("textField_mgt4w4ip", count);
|
|
|
tablemap.put("textField_mf6el3zy", wlbm);
|
|
|
tablemap.put("textField_mf6el3zz", wlmc);
|
|
|
tablemap.put("textField_mejmtic5", ggxh);
|
|
|
@@ -460,6 +628,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
tablemap.put("textField_mf6el40d", jx);
|
|
|
tablemap.put("textField_mf6el40b", gg);
|
|
|
tablemap.put("numberField_mf6el405", zke != null ? zke.setScale(2, java.math.RoundingMode.HALF_UP) : java.math.BigDecimal.ZERO.setScale(2, java.math.RoundingMode.HALF_UP));
|
|
|
+ count++;
|
|
|
tableList.add(tablemap);
|
|
|
|
|
|
kdYdReceivableDetail.setSyncStatus("1");
|
|
|
@@ -491,6 +660,8 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
tablemap1.put("numberField_mhiui6vb", ysjebwb != null ? ysjebwb.setScale(2, java.math.RoundingMode.HALF_UP) : java.math.BigDecimal.ZERO.setScale(2, java.math.RoundingMode.HALF_UP));
|
|
|
tablemap1.put("numberField_mhjy9hzj", stkdglje != null ? stkdglje.setScale(2, java.math.RoundingMode.HALF_UP) : java.math.BigDecimal.ZERO.setScale(2, java.math.RoundingMode.HALF_UP));
|
|
|
tableListPay.add(tablemap1);
|
|
|
+ kdYdReceivablePayment.setSyncStatus("1");
|
|
|
+ kdYdReceivalablePaymentMapper.updateById(kdYdReceivablePayment);
|
|
|
}
|
|
|
}
|
|
|
String ckddjbh = kdYdReceivable.getCkddjbh();
|
|
|
@@ -535,7 +706,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
updateData.put("tableField_mf6el3zx", tableList);
|
|
|
if (ckdbh != null && ckdformInstanceId != null) {
|
|
|
updateData.put("associationFormField_mejmtick",
|
|
|
- Arrays.asList(getysdAss(ckdbh,ckdformInstanceId)));
|
|
|
+ Arrays.asList(getysdAss(ckdbh, ckdformInstanceId)));
|
|
|
}
|
|
|
updateData.put("tableField_mhiui6v5", tableListPay);
|
|
|
updateData.put("textField_mg3a0tgs", kdYdReceivable.getDjbh());
|
|
|
@@ -624,13 +795,76 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
@Override
|
|
|
public void synckdYdMaterial() {
|
|
|
log.info("定时同步-物料单");
|
|
|
+ // 查询需要删除的数据
|
|
|
+ LambdaQueryWrapper<KdYdMaterial> materialdel = new LambdaQueryWrapper<>();
|
|
|
+ materialdel.eq(KdYdMaterial::getOperationType, 3) // 修正:使用 materialdel 而不是 materialqw
|
|
|
+ .eq(KdYdMaterial::getSyncStatus, "0");
|
|
|
+ List<KdYdMaterial> kdYdMaterialdels = kdYdMaterialMapper.selectList(materialdel);
|
|
|
+
|
|
|
+ // 批量删除处理
|
|
|
+ if (!kdYdMaterialdels.isEmpty()) {
|
|
|
+ log.info("开始处理删除操作,共{}条数据", kdYdMaterialdels.size());
|
|
|
+ ArrayList<String> list = new ArrayList<>();
|
|
|
+ int deleteSuccessCount = 0;
|
|
|
+
|
|
|
+ for (KdYdMaterial kdYdMaterial : kdYdMaterialdels) {
|
|
|
+ try {
|
|
|
+ String wlbm = kdYdMaterial.getWlbm();
|
|
|
+ List<Map> list1 = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
+ .formUuid("FORM-E132ECE2BED94BCF81D9842B3F2054E7XWQ7")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3") // 新增:添加应用参数
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2") // 新增:添加系统令牌
|
|
|
+ .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_mfxbtcdh", wlbm)))
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
|
|
|
+
|
|
|
+ if (list1 != null && !list1.isEmpty()) {
|
|
|
+ for (Map map : list1) {
|
|
|
+ String formInstanceId = UtilMap.getString(map, "formInstanceId");
|
|
|
+ if (formInstanceId != null) {
|
|
|
+ list.add(formInstanceId);
|
|
|
+ log.debug("找到待删除的表单实例: formInstanceId={}", formInstanceId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deleteSuccessCount++;
|
|
|
+ } else {
|
|
|
+ log.warn("未找到对应的物料数据: wlbm={}", wlbm);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除操作完成后更新状态
|
|
|
+ kdYdMaterial.setSyncStatus("1");
|
|
|
+ kdYdMaterialMapper.updateById(kdYdMaterial);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("删除物料数据查询异常: wlbm={}", kdYdMaterial.getWlbm(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 执行批量删除
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formUuid("FORM-E132ECE2BED94BCF81D9842B3F2054E7XWQ7")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
+ .formInstanceIdList(list)
|
|
|
+ .build(), YDConf.FORM_OPERATION.delete_batch);
|
|
|
+ log.info("批量删除完成,共删除{}条数据", list.size());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("批量删除操作异常", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
LambdaQueryWrapper<KdYdMaterial> materialqw = new LambdaQueryWrapper<>();
|
|
|
materialqw.eq(KdYdMaterial::getSyncStatus, "0");
|
|
|
-// .or()
|
|
|
-// .eq(KdYdMaterial::getOperationType, 2);
|
|
|
List<KdYdMaterial> kdYdMaterials = kdYdMaterialMapper.selectList(materialqw);
|
|
|
-
|
|
|
log.info("本次需要同步的物料单数量: {}", kdYdMaterials.size());
|
|
|
+ // 同步新增/更新数据
|
|
|
+ if (kdYdMaterials.isEmpty()) {
|
|
|
+ log.info("【物料单同步任务】无需要同步的数据,结束");
|
|
|
+ return;
|
|
|
+ }
|
|
|
int successCount = 0;
|
|
|
int failCount = 0;
|
|
|
|
|
|
@@ -688,8 +922,8 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
.formUuid("FORM-E132ECE2BED94BCF81D9842B3F2054E7XWQ7")
|
|
|
.appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
.systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
- .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mg4h6mz5", wlbt)))
|
|
|
-// .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mfxbtcdh", wlbm)))
|
|
|
+// .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mg4h6mz5", wlbt)))
|
|
|
+ .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mfxbtcdh", wlbm)))
|
|
|
.formDataJson(JSONObject.toJSONString(updateFormData))
|
|
|
.build(), YDConf.FORM_OPERATION.upsert);
|
|
|
|
|
|
@@ -830,6 +1064,83 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
@Override
|
|
|
public void synckdYdPayment() {
|
|
|
log.info("定时同步-收款单");
|
|
|
+ LambdaQueryWrapper<KdYdPaymentReceipt> paymentdel = new LambdaQueryWrapper<>();
|
|
|
+ paymentdel.eq(KdYdPaymentReceipt::getOperationType, 3)
|
|
|
+ .eq(KdYdPaymentReceipt::getSyncStatus, "0");
|
|
|
+ List<KdYdPaymentReceipt> kdYdPaymentReceiptdels = kdYdPaymentReceiptMapper.selectList(paymentdel);
|
|
|
+
|
|
|
+ // 批量删除处理
|
|
|
+ if (!kdYdPaymentReceiptdels.isEmpty()) {
|
|
|
+ log.info("开始处理收款单删除操作,共{}条数据", kdYdPaymentReceiptdels.size());
|
|
|
+ ArrayList<String> deleteList = new ArrayList<>();
|
|
|
+ int deleteSuccessCount = 0;
|
|
|
+
|
|
|
+ for (KdYdPaymentReceipt kdYdPaymentReceipt : kdYdPaymentReceiptdels) {
|
|
|
+ try {
|
|
|
+ String djbh = kdYdPaymentReceipt.getDjbh();
|
|
|
+ log.debug("查询需要删除的收款单: djbh={}", djbh);
|
|
|
+
|
|
|
+ List<Map> list1 = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
+ .formUuid("FORM-0569C06E47074C2981ADEEAFCE083EDAK5AM")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
+ .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mh9woamt", djbh)))
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
|
|
|
+
|
|
|
+ if (list1 != null && !list1.isEmpty()) {
|
|
|
+ for (Map map : list1) {
|
|
|
+ String formInstanceId = UtilMap.getString(map, "formInstanceId");
|
|
|
+ if (formInstanceId != null) {
|
|
|
+ deleteList.add(formInstanceId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ deleteSuccessCount++;
|
|
|
+
|
|
|
+ // 同时删除对应的子表数据
|
|
|
+ Long paymentReceiptId = kdYdPaymentReceipt.getId();
|
|
|
+ LambdaQueryWrapper<KdYdPaymentReceiptDetail> detailDelqw = new LambdaQueryWrapper<>();
|
|
|
+ detailDelqw.eq(KdYdPaymentReceiptDetail::getPayreceiptId, paymentReceiptId);
|
|
|
+ List<KdYdPaymentReceiptDetail> detailDels = kdYdPaymentReceiptDetailMapper.selectList(detailDelqw);
|
|
|
+
|
|
|
+ if (!detailDels.isEmpty()) {
|
|
|
+ for (KdYdPaymentReceiptDetail detail : detailDels) {
|
|
|
+ detail.setSyncStatus("1");
|
|
|
+ kdYdPaymentReceiptDetailMapper.updateById(detail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.warn("未找到对应的收款单数据: djbh={}", djbh);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除操作完成后更新状态
|
|
|
+ kdYdPaymentReceipt.setSyncStatus("1");
|
|
|
+ kdYdPaymentReceiptMapper.updateById(kdYdPaymentReceipt);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("删除收款单数据查询异常: djbh={}", kdYdPaymentReceipt.getDjbh(), e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 执行批量删除
|
|
|
+ if (!deleteList.isEmpty()) {
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formUuid("FORM-0569C06E47074C2981ADEEAFCE083EDAK5AM")
|
|
|
+ .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
+ .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
+ .formInstanceIdList(deleteList)
|
|
|
+ .build(), YDConf.FORM_OPERATION.delete_batch);
|
|
|
+ log.info("收款单批量删除完成,共删除{}条数据", deleteList.size());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("收款单批量删除操作异常", e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ log.info("收款单删除操作处理完成: 成功查询={}, 待删除={}", deleteSuccessCount, deleteList.size());
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ log.info("【收款单删除任务】无需要删除的数据");
|
|
|
+ }
|
|
|
LambdaQueryWrapper<KdYdPaymentReceipt> paymentqw = new LambdaQueryWrapper<>();
|
|
|
paymentqw.eq(KdYdPaymentReceipt::getSyncStatus, "0");
|
|
|
List<KdYdPaymentReceipt> kdYdPaymentReceipts = kdYdPaymentReceiptMapper.selectList(paymentqw);
|
|
|
@@ -868,7 +1179,8 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
tablemap.put("textField_mh9woao1", kdYdPaymentReceiptDetail.getFyxm());
|
|
|
tablemap.put("numberField_mh9woanz", kdYdPaymentReceiptDetail.getSsje() != null ? kdYdPaymentReceiptDetail.getSsje().setScale(2, java.math.RoundingMode.HALF_UP).toString() : java.math.BigDecimal.ZERO.setScale(2, java.math.RoundingMode.HALF_UP).toString());
|
|
|
tablemap.put("numberField_mh9woao0", kdYdPaymentReceiptDetail.getZhje() != null ? kdYdPaymentReceiptDetail.getZhje().setScale(2, java.math.RoundingMode.HALF_UP).toString() : java.math.BigDecimal.ZERO.setScale(2, java.math.RoundingMode.HALF_UP).toString());
|
|
|
-
|
|
|
+ kdYdPaymentReceiptDetail.setSyncStatus("1");
|
|
|
+ kdYdPaymentReceiptDetailMapper.updateById(kdYdPaymentReceiptDetail);
|
|
|
// tablemap.put("radioField_mf6a0h6h", kdYdOutboundDetail.getSfzp());
|
|
|
tableList.add(tablemap);
|
|
|
|
|
|
@@ -883,8 +1195,6 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
List<Map> ddlist = (List<Map>) ydClient.queryData(
|
|
|
YDParam.builder()
|
|
|
.formUuid("FORM-B62CAE3075CE4098B17BB86C90FFA21C9B7C")
|
|
|
- .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
- .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
.searchCondition(JSON.toJSONString(UtilMap.map("serialNumberField_mewfgzku", xsddbh)))
|
|
|
.build(),
|
|
|
YDConf.FORM_QUERY.retrieve_list_all
|
|
|
@@ -915,7 +1225,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
updateMap.put("tableField_mh9woanl", tableList);
|
|
|
if (ddbh != null && ddformInstanceId != null) {
|
|
|
updateMap.put("associationFormField_mh9woamy",
|
|
|
- Arrays.asList(getddAss(ddbh,ddformInstanceId)));
|
|
|
+ Arrays.asList(getddAss(ddbh, ddformInstanceId)));
|
|
|
}
|
|
|
updateMap.put("textField_mh9woanm", kdYdPaymentReceipt.getDjlx());
|
|
|
updateMap.put("textField_mh9woann", kdYdPaymentReceipt.getFkdwlx());
|
|
|
@@ -936,8 +1246,6 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
// 添加同步操作(根据您的实际需求添加)
|
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formUuid("FORM-0569C06E47074C2981ADEEAFCE083EDAK5AM")
|
|
|
- .appType("APP_VQDMMWS6OR1VHL8VMFD3")
|
|
|
- .systemToken("XE766X81JHKXK4Z27SYOI86CPCLQ3J1LV7ODMH2")
|
|
|
.searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mh9woamt", kdYdPaymentReceipt.getDjbh())))
|
|
|
.formDataJson(JSONObject.toJSONString(updateMap))
|
|
|
.build(), YDConf.FORM_OPERATION.upsert);
|
|
|
@@ -959,6 +1267,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
log.info("【收款单同步任务】完成: 成功={}, 失败={}, 总计={}",
|
|
|
successCount, failCount, kdYdPaymentReceipts.size());
|
|
|
}
|
|
|
+
|
|
|
private Object getddAss(String title, String id) {
|
|
|
return UtilMap.map("appType, formUuid, formType, instanceId, title, subTitle", "APP_VQDMMWS6OR1VHL8VMFD3", "FORM-B62CAE3075CE4098B17BB86C90FFA21C9B7C", "receipt", id, title, "");
|
|
|
}
|
|
|
@@ -966,6 +1275,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
|
|
|
private Object getfhdAss(String title, String id) {
|
|
|
return UtilMap.map("appType, formUuid, formType, instanceId, title, subTitle", "APP_VQDMMWS6OR1VHL8VMFD3", "FORM-A7F03ACEE01D4F609550C86BF7FE87D35M6I", "receipt", id, title, "");
|
|
|
}
|
|
|
+
|
|
|
private Object getysdAss(String title, String id) {
|
|
|
return UtilMap.map("appType, formUuid, formType, instanceId, title, subTitle", "APP_VQDMMWS6OR1VHL8VMFD3", "FORM-AADBCDA8126F41A0ADDEE3353828583192M8", "receipt", id, title, "");
|
|
|
}
|