feat: 同步所有客户到下单平台
This commit is contained in:
parent
9971b563c8
commit
7a5944c413
@ -19,6 +19,7 @@ import kd.bos.entity.datamodel.ListSelectedRow;
|
|||||||
import kd.bos.entity.operate.OperateOptionConst;
|
import kd.bos.entity.operate.OperateOptionConst;
|
||||||
import kd.bos.entity.operate.result.IOperateInfo;
|
import kd.bos.entity.operate.result.IOperateInfo;
|
||||||
import kd.bos.entity.operate.result.OperationResult;
|
import kd.bos.entity.operate.result.OperationResult;
|
||||||
|
import kd.bos.exception.KDBizException;
|
||||||
import kd.bos.logging.Log;
|
import kd.bos.logging.Log;
|
||||||
import kd.bos.logging.LogFactory;
|
import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.ORM;
|
import kd.bos.orm.ORM;
|
||||||
@ -472,11 +473,10 @@ public class OrderApiUtils {
|
|||||||
JSONObject jsonObject = JSONObject.parseObject(res);
|
JSONObject jsonObject = JSONObject.parseObject(res);
|
||||||
int code = jsonObject.getIntValue("code");
|
int code = jsonObject.getIntValue("code");
|
||||||
if (code == 0) {
|
if (code == 0) {
|
||||||
Object data = jsonObject.get("data");
|
Integer data = jsonObject.getInteger("data");
|
||||||
if (data instanceof Long) {
|
resStatus.put("id", String.valueOf(data));
|
||||||
String ids = data.toString();
|
} else {
|
||||||
resStatus.put("id", ids);
|
throw new KDBizException("失败:" + res);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return resStatus;
|
return resStatus;
|
||||||
} else {
|
} else {
|
||||||
|
@ -4,7 +4,6 @@ import com.yem.or.utils.OrderApiUtils;
|
|||||||
import com.yem.wm.utils.YEM;
|
import com.yem.wm.utils.YEM;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.entity.ExtendedDataEntity;
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
|
|
||||||
import kd.bos.entity.validate.AbstractValidator;
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
import kd.bos.orm.query.QCP;
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
@ -25,57 +24,55 @@ public class CustomerValidator extends AbstractValidator {
|
|||||||
for (ExtendedDataEntity dataEntitie : dataEntities) {
|
for (ExtendedDataEntity dataEntitie : dataEntities) {
|
||||||
DynamicObject mechanical = dataEntitie.getDataEntity();
|
DynamicObject mechanical = dataEntitie.getDataEntity();
|
||||||
boolean isSynced = mechanical.getBoolean("yem_checkboxfield");
|
boolean isSynced = mechanical.getBoolean("yem_checkboxfield");
|
||||||
DynamicObject group = mechanical.getDynamicObject("group");
|
// DynamicObject group = mechanical.getDynamicObject("group");
|
||||||
if (group != null) {
|
// if (group != null) {
|
||||||
long groupid = group.getLong("id");
|
// long groupid = group.getLong("id");
|
||||||
QFilter qFilter = new QFilter("parent.number", QCP.equals, "11602");
|
// QFilter qFilter = new QFilter("parent.number", QCP.equals, "11602");
|
||||||
QFilter qFilter1 = new QFilter("id", QCP.equals, groupid);
|
// QFilter qFilter1 = new QFilter("id", QCP.equals, groupid);
|
||||||
qFilter1.and(new QFilter("enable", QCP.equals, "1"));
|
// qFilter1.and(new QFilter("enable", QCP.equals, "1"));
|
||||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("bd_customergroup", "id,number,parent"
|
// DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("bd_customergroup", "id,number,parent"
|
||||||
, new QFilter[]{qFilter, qFilter1});
|
// , new QFilter[]{qFilter, qFilter1});
|
||||||
if (dynamicObjects.length > 0) {
|
// if (dynamicObjects.length > 0) {
|
||||||
String number = mechanical.getString("number");
|
String number = mechanical.getString("number");
|
||||||
String name = mechanical.getString("name");
|
String name = mechanical.getString("name");
|
||||||
DynamicObject groupcustomers = mechanical.getDynamicObject("yem_groupcustomers");
|
DynamicObject groupcustomers = mechanical.getDynamicObject("yem_groupcustomers");
|
||||||
if (YEM.isEmpty(groupcustomers)) {
|
if (YEM.isEmpty(groupcustomers)) {
|
||||||
this.addErrorMessage(dataEntitie, String.format("请维护客户 [%s] 的业务主体", name));
|
this.addErrorMessage(dataEntitie, String.format("请维护客户 [%s] 的业务主体", name));
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
Map<String, String> demands;
|
|
||||||
|
|
||||||
if (!groupcustomers.containsProperty("yem_torderid")) {
|
|
||||||
groupcustomers = BusinessDataServiceHelper.loadSingleFromCache(groupcustomers.getDataEntityType().getName(), new QFilter[]{new QFilter("id", "=", groupcustomers.getPkValue())});
|
|
||||||
String group_torderid = groupcustomers.getString("yem_torderid");
|
|
||||||
if (YEM.isEmpty(group_torderid)) {
|
|
||||||
this.addErrorMessage(dataEntitie, String.format("客户 [%s] 的业务主体 [%s] 未同步,请先同步业务主体至下单平台", name, groupcustomers.getString("name")));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String torderid = mechanical.getString("yem_torderid");
|
|
||||||
Long existId = Long.valueOf(torderid);
|
|
||||||
if (isSynced) {
|
|
||||||
demands = OrderApiUtils.demands(name, number, groupcustomers, false, existId);
|
|
||||||
} else {
|
|
||||||
demands = OrderApiUtils.demands(name, number, groupcustomers, true, null);
|
|
||||||
}
|
|
||||||
String msg = demands.get("msg");
|
|
||||||
if (msg == null) {
|
|
||||||
String id = demands.get("id");
|
|
||||||
if (YEM.isNotEmpty(id)) {
|
|
||||||
mechanical.set("yem_torderid", id);
|
|
||||||
mechanical.set("yem_checkboxfield", true);
|
|
||||||
SaveServiceHelper.update(mechanical);
|
|
||||||
SaveServiceHelper.save(new DynamicObject[]{mechanical});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.addErrorMessage(dataEntitie, msg);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.addErrorMessage(dataEntitie, "当前客户不满足同步条件,禁止同步至下单平台!!!");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.addErrorMessage(dataEntitie, "当前客户分组为空!!");
|
|
||||||
}
|
}
|
||||||
|
Map<String, String> demands;
|
||||||
|
|
||||||
|
if (!groupcustomers.containsProperty("yem_torderid")) {
|
||||||
|
groupcustomers = BusinessDataServiceHelper.loadSingleFromCache(groupcustomers.getDataEntityType().getName(), new QFilter[]{new QFilter("id", "=", groupcustomers.getPkValue())});
|
||||||
|
String group_torderid = groupcustomers.getString("yem_torderid");
|
||||||
|
if (YEM.isEmpty(group_torderid)) {
|
||||||
|
this.addErrorMessage(dataEntitie, String.format("客户 [%s] 的业务主体 [%s] 未同步,请先同步业务主体至下单平台", name, groupcustomers.getString("name")));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isSynced) {
|
||||||
|
String torderid = mechanical.getString("yem_torderid");
|
||||||
|
Long existId = Long.valueOf(torderid);
|
||||||
|
demands = OrderApiUtils.demands(name, number, groupcustomers, false, existId);
|
||||||
|
} else {
|
||||||
|
demands = OrderApiUtils.demands(name, number, groupcustomers, true, null);
|
||||||
|
}
|
||||||
|
String msg = demands.get("msg");
|
||||||
|
if (demands.containsKey("id")) {
|
||||||
|
String id = demands.get("id");
|
||||||
|
mechanical.set("yem_torderid", id);
|
||||||
|
mechanical.set("yem_checkboxfield", true);
|
||||||
|
SaveServiceHelper.update(mechanical);
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{mechanical});
|
||||||
|
} else {
|
||||||
|
this.addErrorMessage(dataEntitie, msg);
|
||||||
|
}
|
||||||
|
// } else {
|
||||||
|
// this.addErrorMessage(dataEntitie, "当前客户不满足同步条件,禁止同步至下单平台!!!");
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// this.addErrorMessage(dataEntitie, "当前客户分组为空!!");
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user