parent
a29e85e4c5
commit
0b0c4580cb
|
@ -12,6 +12,7 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
import shkd.utils.DobeDWUtils;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -23,7 +24,6 @@ public class SupplierInfoFixeButtonPlugin extends AbstractListPlugin implements
|
||||||
private final static Log Logger = LogFactory.getLog(SupplierInfoFixeButtonPlugin.class);
|
private final static Log Logger = LogFactory.getLog(SupplierInfoFixeButtonPlugin.class);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void itemClick(ItemClickEvent evt) {
|
public void itemClick(ItemClickEvent evt) {
|
||||||
super.itemClick(evt);
|
super.itemClick(evt);
|
||||||
|
@ -35,109 +35,132 @@ public class SupplierInfoFixeButtonPlugin extends AbstractListPlugin implements
|
||||||
|
|
||||||
// 1. 查询所有已审核、可用状态的正式供应商
|
// 1. 查询所有已审核、可用状态的正式供应商
|
||||||
QFilter qFilter = new QFilter("status", QCP.equals, "C")
|
QFilter qFilter = new QFilter("status", QCP.equals, "C")
|
||||||
.and(new QFilter("enable", QCP.equals, "1"));
|
.and(new QFilter("enable", QCP.equals, "1")).and(new QFilter("qeug_oacode", QCP.not_equals, ""));
|
||||||
Map<Object, DynamicObject> supplierMap = BusinessDataServiceHelper.loadFromCache(
|
Map<Object, DynamicObject> supplierMap = BusinessDataServiceHelper.loadFromCache(
|
||||||
"resm_official_supplier", qFilter.toArray());
|
"resm_official_supplier", qFilter.toArray());
|
||||||
|
|
||||||
if (supplierMap == null || supplierMap.isEmpty()) {
|
if (supplierMap == null || supplierMap.isEmpty()) {
|
||||||
this.getView().showMessage("没有找到符合条件的供应商数据");
|
this.getView().showMessage("没有找到符合条件的供应商数据");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载默认供应商分类
|
|
||||||
DynamicObject defaultGroup = BusinessDataServiceHelper.loadSingle(
|
|
||||||
"bd_suppliergroup",
|
|
||||||
new QFilter("number", QCP.equals, "GYSFL-202410-08").toArray());
|
|
||||||
|
|
||||||
// 初始化消息构建器
|
|
||||||
StringBuilder successMessage = new StringBuilder("成功修复以下供应商的分录数据:\n");
|
|
||||||
StringBuilder errorMessage = new StringBuilder("以下供应商处理失败:\n");
|
|
||||||
|
|
||||||
int successCount = 0;
|
|
||||||
int skipCount = 0;
|
|
||||||
int errorCount = 0;
|
|
||||||
|
|
||||||
for (DynamicObject dynamicObject : supplierMap.values()) {
|
for (DynamicObject dynamicObject : supplierMap.values()) {
|
||||||
String supplierNumber = dynamicObject.getString("number");
|
String number = "";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
boolean hasGroup = !dynamicObject.getDynamicObjectCollection("apt_group").isEmpty();
|
number = dynamicObject.getString("number");
|
||||||
DynamicObjectCollection entry_org = dynamicObject.getDynamicObjectCollection("entry_org");
|
String qeug_oacode = dynamicObject.getString("qeug_oacode");
|
||||||
|
dynamicObject.set("number", qeug_oacode);
|
||||||
if (entry_org == null || entry_org.isEmpty()) {
|
|
||||||
skipCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean needProcess = false;
|
|
||||||
|
|
||||||
// 检查是否需要处理
|
|
||||||
for (DynamicObject object : entry_org) {
|
|
||||||
DynamicObjectCollection entry_org_group = object.getDynamicObjectCollection("entry_org_group");
|
|
||||||
if (entry_org_group == null || entry_org_group.isEmpty()) {
|
|
||||||
needProcess = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!needProcess) {
|
|
||||||
skipCount++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 处理数据
|
|
||||||
for (DynamicObject object : entry_org) {
|
|
||||||
DynamicObjectCollection entry_org_group = object.getDynamicObjectCollection("entry_org_group");
|
|
||||||
if (entry_org_group == null || entry_org_group.isEmpty()) {
|
|
||||||
if (hasGroup) {
|
|
||||||
for (DynamicObject group : dynamicObject.getDynamicObjectCollection("apt_group")) {
|
|
||||||
DynamicObject supplierObj = group.getDynamicObject("fbasedataid");
|
|
||||||
DynamicObject newObject = entry_org_group.addNew();
|
|
||||||
newObject.set("suppliergroup", supplierObj);
|
|
||||||
newObject.set("examstatus", "NOT_EXAM");
|
|
||||||
newObject.set("qualifiedstatus", "1");
|
|
||||||
newObject.set("frozenstatus", "1");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
DynamicObject newObject = entry_org_group.addNew();
|
|
||||||
newObject.set("suppliergroup", defaultGroup);
|
|
||||||
newObject.set("examstatus", "NOT_EXAM");
|
|
||||||
newObject.set("qualifiedstatus", "1");
|
|
||||||
newObject.set("frozenstatus", "1");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存数据
|
|
||||||
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
||||||
successCount++;
|
DobeDWUtils.saveLog(qeug_oacode,"刷新供应商数据(OAid)",null,null,true,"更新金蝶供应商编码");
|
||||||
successMessage.append(supplierNumber).append("\n");
|
|
||||||
|
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
errorCount++;
|
Logger.error("修复供应商数据失败: " + number, e);
|
||||||
errorMessage.append(supplierNumber)
|
DobeDWUtils.saveLog(number,"刷新供应商数据(OAid)",null,e.toString(),false,"更新金蝶供应商编码");
|
||||||
.append(" - 错误原因: ")
|
|
||||||
.append(e.getMessage())
|
|
||||||
.append("\n");
|
|
||||||
Logger.error("修复供应商数据失败: " + supplierNumber, e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建最终消息
|
|
||||||
StringBuilder finalMessage = new StringBuilder();
|
|
||||||
finalMessage.append("处理完成!\n")
|
|
||||||
.append("成功处理: ").append(successCount).append("条\n")
|
|
||||||
.append("跳过处理: ").append(skipCount).append("条\n")
|
|
||||||
.append("处理失败: ").append(errorCount).append("条\n\n");
|
|
||||||
|
|
||||||
if (successCount > 0) {
|
|
||||||
finalMessage.append(successMessage.toString()).append("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (errorCount > 0) {
|
// QFilter qFilter = new QFilter("status", QCP.equals, "C")
|
||||||
finalMessage.append(errorMessage.toString());
|
// .and(new QFilter("enable", QCP.equals, "1"));
|
||||||
}
|
// Map<Object, DynamicObject> supplierMap = BusinessDataServiceHelper.loadFromCache(
|
||||||
|
// "resm_official_supplier", qFilter.toArray());
|
||||||
this.getView().showMessage(finalMessage.toString());
|
//
|
||||||
|
// if (supplierMap == null || supplierMap.isEmpty()) {
|
||||||
|
// this.getView().showMessage("没有找到符合条件的供应商数据");
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 加载默认供应商分类
|
||||||
|
// DynamicObject defaultGroup = BusinessDataServiceHelper.loadSingle(
|
||||||
|
// "bd_suppliergroup",
|
||||||
|
// new QFilter("number", QCP.equals, "GYSFL-202410-08").toArray());
|
||||||
|
//
|
||||||
|
// // 初始化消息构建器
|
||||||
|
// StringBuilder successMessage = new StringBuilder("成功修复以下供应商的分录数据:\n");
|
||||||
|
// StringBuilder errorMessage = new StringBuilder("以下供应商处理失败:\n");
|
||||||
|
//
|
||||||
|
// int successCount = 0;
|
||||||
|
// int skipCount = 0;
|
||||||
|
// int errorCount = 0;
|
||||||
|
//
|
||||||
|
// for (DynamicObject dynamicObject : supplierMap.values()) {
|
||||||
|
// String supplierNumber = dynamicObject.getString("number");
|
||||||
|
//
|
||||||
|
// try {
|
||||||
|
// boolean hasGroup = !dynamicObject.getDynamicObjectCollection("apt_group").isEmpty();
|
||||||
|
// DynamicObjectCollection entry_org = dynamicObject.getDynamicObjectCollection("entry_org");
|
||||||
|
//
|
||||||
|
// if (entry_org == null || entry_org.isEmpty()) {
|
||||||
|
// skipCount++;
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// boolean needProcess = false;
|
||||||
|
//
|
||||||
|
// // 检查是否需要处理
|
||||||
|
// for (DynamicObject object : entry_org) {
|
||||||
|
// DynamicObjectCollection entry_org_group = object.getDynamicObjectCollection("entry_org_group");
|
||||||
|
// if (entry_org_group == null || entry_org_group.isEmpty()) {
|
||||||
|
// needProcess = true;
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (!needProcess) {
|
||||||
|
// skipCount++;
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 处理数据
|
||||||
|
// for (DynamicObject object : entry_org) {
|
||||||
|
// DynamicObjectCollection entry_org_group = object.getDynamicObjectCollection("entry_org_group");
|
||||||
|
// if (entry_org_group == null || entry_org_group.isEmpty()) {
|
||||||
|
// if (hasGroup) {
|
||||||
|
// for (DynamicObject group : dynamicObject.getDynamicObjectCollection("apt_group")) {
|
||||||
|
// DynamicObject supplierObj = group.getDynamicObject("fbasedataid");
|
||||||
|
// DynamicObject newObject = entry_org_group.addNew();
|
||||||
|
// newObject.set("suppliergroup", supplierObj);
|
||||||
|
// newObject.set("examstatus", "NOT_EXAM");
|
||||||
|
// newObject.set("qualifiedstatus", "1");
|
||||||
|
// newObject.set("frozenstatus", "1");
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// DynamicObject newObject = entry_org_group.addNew();
|
||||||
|
// newObject.set("suppliergroup", defaultGroup);
|
||||||
|
// newObject.set("examstatus", "NOT_EXAM");
|
||||||
|
// newObject.set("qualifiedstatus", "1");
|
||||||
|
// newObject.set("frozenstatus", "1");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 保存数据
|
||||||
|
// SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
||||||
|
// successCount++;
|
||||||
|
// successMessage.append(supplierNumber).append("\n");
|
||||||
|
//
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// errorCount++;
|
||||||
|
// errorMessage.append(supplierNumber)
|
||||||
|
// .append(" - 错误原因: ")
|
||||||
|
// .append(e.getMessage())
|
||||||
|
// .append("\n");
|
||||||
|
// Logger.error("修复供应商数据失败: " + supplierNumber, e);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 构建最终消息
|
||||||
|
// StringBuilder finalMessage = new StringBuilder();
|
||||||
|
// finalMessage.append("处理完成!\n")
|
||||||
|
// .append("成功处理: ").append(successCount).append("条\n")
|
||||||
|
// .append("跳过处理: ").append(skipCount).append("条\n")
|
||||||
|
// .append("处理失败: ").append(errorCount).append("条\n\n");
|
||||||
|
//
|
||||||
|
// if (successCount > 0) {
|
||||||
|
// finalMessage.append(successMessage.toString()).append("\n");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (errorCount > 0) {
|
||||||
|
// finalMessage.append(errorMessage.toString());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// this.getView().showMessage(finalMessage.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -105,7 +105,7 @@ public class PushOASupplierOPPlugin extends AbstractOperationServicePlugIn {
|
||||||
customerBody.put("legalbody", legalbody);// "法人",
|
customerBody.put("legalbody", legalbody);// "法人",
|
||||||
customerBody.put("createTime", createtime);// "创建时间:例如2024-06-02 17:27:10",
|
customerBody.put("createTime", createtime);// "创建时间:例如2024-06-02 17:27:10",
|
||||||
customerBody.put("updateTime", updatetime);//"更新时间:例如2024-06-02 17:27:10",
|
customerBody.put("updateTime", updatetime);//"更新时间:例如2024-06-02 17:27:10",
|
||||||
customerBody.put("def1", "租赁客户");//"客商类别:默认租赁客户",
|
customerBody.put("def1", "采购供应商");//"客商类别:默认租赁客户",
|
||||||
JSONArray custBankaccMapBody = new JSONArray();
|
JSONArray custBankaccMapBody = new JSONArray();
|
||||||
|
|
||||||
//银行信息
|
//银行信息
|
||||||
|
|
|
@ -99,6 +99,7 @@ public class OAUtils {
|
||||||
DynamicObject officialSupplier = BusinessDataServiceHelper.loadSingle(RESM_OFFICIAL_SUPPLIER, new QFilter[]{q});
|
DynamicObject officialSupplier = BusinessDataServiceHelper.loadSingle(RESM_OFFICIAL_SUPPLIER, new QFilter[]{q});
|
||||||
if (officialSupplier != null) {
|
if (officialSupplier != null) {
|
||||||
officialSupplier.set("qeug_oacode", id);
|
officialSupplier.set("qeug_oacode", id);
|
||||||
|
officialSupplier.set("number", id);
|
||||||
SaveServiceHelper.save(new DynamicObject[]{officialSupplier});
|
SaveServiceHelper.save(new DynamicObject[]{officialSupplier});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue