|
@@ -44,17 +44,20 @@ public class SynCustomerNewApi2Plugin implements Serializable {
|
|
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
- * @param fmsOrgCode
|
|
|
|
|
|
+ * @param optType:1:新增,2:修改
|
|
* @param unCustCode
|
|
* @param unCustCode
|
|
* @param custName
|
|
* @param custName
|
|
* @param custType 1:政府, 2:个人, 3:企业, 4:其他
|
|
* @param custType 1:政府, 2:个人, 3:企业, 4:其他
|
|
|
|
+ * @param orgId
|
|
|
|
+ * @param fmsOrgCode
|
|
* @param creditCode 当客户类型为:1政府:统一社会信用码,非必填;2个人:身份证号,必填;3企业:统一社会信用码,必填;4其他:统一社会信用码,非必填。
|
|
* @param creditCode 当客户类型为:1政府:统一社会信用码,非必填;2个人:身份证号,必填;3企业:统一社会信用码,必填;4其他:统一社会信用码,非必填。
|
|
* @param isRelatedJxjk
|
|
* @param isRelatedJxjk
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@ApiPostMapping("synCustomerNew")
|
|
@ApiPostMapping("synCustomerNew")
|
|
public CustomApiResult<JSONObject> synCustomerNew(
|
|
public CustomApiResult<JSONObject> synCustomerNew(
|
|
- @Valid @ApiParam(value = "客户编码") String unCustCode
|
|
|
|
|
|
+ @Valid @ApiParam(value="操作类型") Integer optType
|
|
|
|
+ , @Valid @ApiParam(value = "客户编码") String unCustCode
|
|
, @Valid @ApiParam(value = "客户名称") String custName
|
|
, @Valid @ApiParam(value = "客户名称") String custName
|
|
, @Valid @ApiParam(value = "客户类型") String custType
|
|
, @Valid @ApiParam(value = "客户类型") String custType
|
|
, @Valid @ApiParam(value = "行政组织PK") String orgId
|
|
, @Valid @ApiParam(value = "行政组织PK") String orgId
|
|
@@ -73,12 +76,15 @@ public class SynCustomerNewApi2Plugin implements Serializable {
|
|
// logInfo = "SynCustomerNewApi2Plugin:" + "-" + unCustCode + "-" + custName + "-" + custType + "-" + orgId;
|
|
// logInfo = "SynCustomerNewApi2Plugin:" + "-" + unCustCode + "-" + custName + "-" + custType + "-" + orgId;
|
|
// logger.info(logInfo);
|
|
// logger.info(logInfo);
|
|
|
|
|
|
- if (StringUtils.isEmpty(fmsOrgCode) && StringUtils.isEmpty(orgId)) {
|
|
|
|
|
|
+ //如果是新增,新增组织、核算组织必传一个
|
|
|
|
+ if(optType == 1 && (StringUtils.isEmpty(fmsOrgCode) && StringUtils.isEmpty(orgId))) {
|
|
return returnResult("500", "行政组织PK和核算组织编码不能同时为空!");
|
|
return returnResult("500", "行政组织PK和核算组织编码不能同时为空!");
|
|
}
|
|
}
|
|
|
|
+
|
|
boolean isAssignAll = false;
|
|
boolean isAssignAll = false;
|
|
|
|
+
|
|
//传入核算组织为空时,找到行政组织委托的核算组织
|
|
//传入核算组织为空时,找到行政组织委托的核算组织
|
|
- if(StringUtils.isEmpty(fmsOrgCode)){
|
|
|
|
|
|
+ if(optType == 1 && StringUtils.isEmpty(fmsOrgCode)){
|
|
isAssignAll = true;
|
|
isAssignAll = true;
|
|
|
|
|
|
entityName = "bos_adminorg";
|
|
entityName = "bos_adminorg";
|
|
@@ -114,40 +120,44 @@ public class SynCustomerNewApi2Plugin implements Serializable {
|
|
//默认创建组织
|
|
//默认创建组织
|
|
DynamicObject defaultOrg = BusinessDataServiceHelper.loadSingle(DEFAULT_ORG_ID, "bos_org");
|
|
DynamicObject defaultOrg = BusinessDataServiceHelper.loadSingle(DEFAULT_ORG_ID, "bos_org");
|
|
|
|
|
|
- QFilter filterForOrg = new QFilter("number", QCP.equals, fmsOrgCode);
|
|
|
|
- QFilter[] filtersForOrg = new QFilter[]{filterForOrg};
|
|
|
|
- DynamicObject assignOrg = BusinessDataServiceHelper.loadSingleFromCache("bos_org", "id,number,name", filtersForOrg);
|
|
|
|
-
|
|
|
|
- Long assignOrgId = 0L;
|
|
|
|
|
|
+ List<Long> assignOrgIds = new ArrayList<>();
|
|
String assignOrgName = "";
|
|
String assignOrgName = "";
|
|
|
|
|
|
- if (assignOrg == null) {
|
|
|
|
- return returnResult("500", "业务单元(" + fmsOrgCode +")在星瀚系统不存在!");
|
|
|
|
- }
|
|
|
|
|
|
+ //如果是新增,则处理分配组织
|
|
|
|
+ if(optType == 1) {
|
|
|
|
+ QFilter filterForOrg = new QFilter("number", QCP.equals, fmsOrgCode);
|
|
|
|
+ QFilter[] filtersForOrg = new QFilter[]{filterForOrg};
|
|
|
|
+ DynamicObject assignOrg = BusinessDataServiceHelper.loadSingleFromCache("bos_org", "id,number,name", filtersForOrg);
|
|
|
|
|
|
- //被分配组织id
|
|
|
|
- assignOrgId = assignOrg.getLong("id");
|
|
|
|
- //被分配组织名称
|
|
|
|
- assignOrgName = assignOrg.getString("name");
|
|
|
|
|
|
+ Long assignOrgId = 0L;
|
|
|
|
|
|
- if(!assignOrgId.equals(DEFAULT_ORG_ID)) {
|
|
|
|
- List<Long> assignOrgList = BaseDataServiceHelper.getAssignDesOrgs(DEFAULT_ORG_ID,"2",16L);
|
|
|
|
- if (!assignOrgList.contains(assignOrgId)) {
|
|
|
|
- return returnResult("500", "新增失败!组织(" + assignOrgName + ")不是CU,不能新增");
|
|
|
|
|
|
+ if (assignOrg == null) {
|
|
|
|
+ return returnResult("500", "业务单元(" + fmsOrgCode + ")在星瀚系统不存在!");
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- List<Long> ids = new ArrayList<>();
|
|
|
|
- ids.add(assignOrgId);
|
|
|
|
|
|
+ //被分配组织id
|
|
|
|
+ assignOrgId = assignOrg.getLong("id");
|
|
|
|
+ //被分配组织名称
|
|
|
|
+ assignOrgName = assignOrg.getString("name");
|
|
|
|
|
|
- List<Long> assignOrgIds = new ArrayList<>();
|
|
|
|
- boolean isIncludeCurOrg = DEFAULT_ORG_ID.equals(assignOrgId) ? false : true;
|
|
|
|
- if(isAssignAll){
|
|
|
|
|
|
+ if (!assignOrgId.equals(DEFAULT_ORG_ID)) {
|
|
|
|
+ List<Long> assignOrgList = BaseDataServiceHelper.getAssignDesOrgs(DEFAULT_ORG_ID, "2", 16L);
|
|
|
|
+ if (!assignOrgList.contains(assignOrgId)) {
|
|
|
|
+ return returnResult("500", "新增失败!组织(" + assignOrgName + ")不是CU,不能新增");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- assignOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs("10", ids, isIncludeCurOrg);
|
|
|
|
- } else {
|
|
|
|
- if(isIncludeCurOrg) {
|
|
|
|
- assignOrgIds.add(assignOrgId);
|
|
|
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
|
+ ids.add(assignOrgId);
|
|
|
|
+
|
|
|
|
+ boolean isIncludeCurOrg = DEFAULT_ORG_ID.equals(assignOrgId) ? false : true;
|
|
|
|
+ if (isAssignAll) {
|
|
|
|
+
|
|
|
|
+ assignOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs("10", ids, isIncludeCurOrg);
|
|
|
|
+ } else {
|
|
|
|
+ if (isIncludeCurOrg) {
|
|
|
|
+ assignOrgIds.add(assignOrgId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -236,7 +246,11 @@ public class SynCustomerNewApi2Plugin implements Serializable {
|
|
customer.set("nckd_checkboxfield", isRelatedJxjk);
|
|
customer.set("nckd_checkboxfield", isRelatedJxjk);
|
|
|
|
|
|
//管控策略:1、逐级分配;2、自由分配;5、全局共享;6、管控范围内共享;7、私有
|
|
//管控策略:1、逐级分配;2、自由分配;5、全局共享;6、管控范围内共享;7、私有
|
|
- customer.set("ctrlstrategy", 2);
|
|
|
|
|
|
+ if(isUpdate) {
|
|
|
|
+// customer.set("ctrlstrategy", 2);
|
|
|
|
+ } else {
|
|
|
|
+ customer.set("ctrlstrategy", 5);
|
|
|
|
+ }
|
|
|
|
|
|
//使用状态:0、禁用;1、可用
|
|
//使用状态:0、禁用;1、可用
|
|
customer.set("enable", "1");
|
|
customer.set("enable", "1");
|
|
@@ -333,6 +347,7 @@ public class SynCustomerNewApi2Plugin implements Serializable {
|
|
StringBuilder message = new StringBuilder();
|
|
StringBuilder message = new StringBuilder();
|
|
message.append("1、更新成功");
|
|
message.append("1、更新成功");
|
|
String code = "200";
|
|
String code = "200";
|
|
|
|
+
|
|
if(assignOrgIds.size() > 0) {
|
|
if(assignOrgIds.size() > 0) {
|
|
String assignResult = assignOrgForCustomer(customerId, assignOrgIds);
|
|
String assignResult = assignOrgForCustomer(customerId, assignOrgIds);
|
|
|
|
|