|
|
@@ -1033,9 +1033,10 @@ public class YidaServiceImpl implements YidaService {
|
|
|
|
|
|
//生成客户数据
|
|
|
customerRecord = UtilMap.map(
|
|
|
- "formInstId, customerName, customerCode, userId, userIdText, customerLevel, customerPotentialLevel, newOrOld, testUseFlag, aiTableId",
|
|
|
+ "formInstId, customerName, customerNameUnique, customerCode, userId, userIdText, customerLevel, customerPotentialLevel, newOrOld, testUseFlag, aiTableId",
|
|
|
formInstId, //表单实例ID
|
|
|
customerName, //客户公司名(英文名)
|
|
|
+ fields.getString("textField_meks6pjp"), //客户验重
|
|
|
customerCode, //客户编号
|
|
|
userId, //业务
|
|
|
userIdText,
|
|
|
@@ -1148,6 +1149,9 @@ public class YidaServiceImpl implements YidaService {
|
|
|
JSONObject fields; //字段数据
|
|
|
String formInstId; //表单实例ID
|
|
|
Map saleProjectRecord; //销售项目记录
|
|
|
+ JSONArray businessUserIdJSONArray; //业务员字段值
|
|
|
+ String businessUserId; //业务员userId
|
|
|
+ Double projectAmount; //预计销售项目金额(美元)
|
|
|
|
|
|
/*
|
|
|
初始化参数值
|
|
|
@@ -1161,9 +1165,65 @@ public class YidaServiceImpl implements YidaService {
|
|
|
YDSearch.Operator.LIKE
|
|
|
);
|
|
|
ydSearchList.add(ydSearch);
|
|
|
- searchCondition = JSONObject.toJSONString(ydSearchList);
|
|
|
}
|
|
|
|
|
|
+ if(params.containsKey("businessUserId")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "textField_mnctph7f",
|
|
|
+ params.get("businessUserId").toString(),
|
|
|
+ "业务员userId",
|
|
|
+ YDSearch.Type.TEXT_FIELD,
|
|
|
+ YDSearch.Operator.EQ
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(params.containsKey("rfqDateAfter")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "dateField_mrizpls3",
|
|
|
+ Long.parseLong(params.get("rfqDateAfter").toString()),
|
|
|
+ "初次询价日期",
|
|
|
+ YDSearch.Type.DATE_FIELD,
|
|
|
+ YDSearch.Operator.GE
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(params.containsKey("deadline")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "dateField_mrizpls3",
|
|
|
+ Long.parseLong(params.get("deadline").toString()),
|
|
|
+ "初次询价日期",
|
|
|
+ YDSearch.Type.DATE_FIELD,
|
|
|
+ YDSearch.Operator.LE
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(params.containsKey("rfqFrom")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "radioField_mrle8vw0",
|
|
|
+ params.get("rfqFrom").toString(),
|
|
|
+ "RFQ来源",
|
|
|
+ YDSearch.Type.RADIO_FIELD,
|
|
|
+ YDSearch.Operator.EQ
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(params.containsKey("testUse")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "radioField_mnppbub6",
|
|
|
+ params.get("testUse").toString(),
|
|
|
+ "测试使用",
|
|
|
+ YDSearch.Type.RADIO_FIELD,
|
|
|
+ YDSearch.Operator.EQ
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+
|
|
|
+ searchCondition = JSONObject.toJSONString(ydSearchList);
|
|
|
+
|
|
|
hasMore = true; //第一页默认有数据
|
|
|
pageNo = 1;
|
|
|
pageSize = 100;
|
|
|
@@ -1204,19 +1264,42 @@ public class YidaServiceImpl implements YidaService {
|
|
|
*/
|
|
|
log.info("所有记录数量="+allRecords.size());
|
|
|
for (Map ltcSaleProjectRecord : allRecords){
|
|
|
+ businessUserId = "";
|
|
|
+ projectAmount = 0.0;
|
|
|
+
|
|
|
//获取表单实例ID
|
|
|
formInstId = String.valueOf(ltcSaleProjectRecord.get("formInstanceId"));
|
|
|
+
|
|
|
//解析字段数据
|
|
|
fields = JSONObject.parseObject(JSONObject.toJSONString(ltcSaleProjectRecord.get("formData")));
|
|
|
|
|
|
+ /*
|
|
|
+ 获取成员数据
|
|
|
+ */
|
|
|
+ if(fields.get("employeeField_mdf997x2_id") != null){
|
|
|
+ businessUserIdJSONArray = fields.getJSONArray("employeeField_mdf997x2_id");
|
|
|
+ if(!businessUserIdJSONArray.isEmpty()){
|
|
|
+ businessUserId = String.valueOf(businessUserIdJSONArray.get(0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(fields.get("numberField_mdf997x6") != null){ //预计销售项目金额(美元)
|
|
|
+ projectAmount = Double.parseDouble(fields.getString("numberField_mdf997x6"));
|
|
|
+ }
|
|
|
+
|
|
|
saleProjectRecord = UtilMap.map(
|
|
|
- "formInstId, projectCode, projectName, projectStage, customer, piCode, aiTableId",
|
|
|
+ "formInstId, projectCode, projectName, projectStage, projectAmount, customer, customerCode, businessUserId, piCode, rfqFrom, testUse, aiTableId",
|
|
|
formInstId, //表单实例ID
|
|
|
fields.getString("serialNumberField_mdf997w0"), //项目编号
|
|
|
fields.getString("textField_mdf997vz"), //项目名称
|
|
|
fields.getString("selectField_mdf997wp"), //整体项目阶段
|
|
|
+ projectAmount, //预计销售项目金额(美元)
|
|
|
fields.getString("associationFormField_mdf997wc_id"), //客户
|
|
|
+ fields.getString("textField_mdpb1gh1"), //客户编号
|
|
|
+ businessUserId, //业务员
|
|
|
fields.getString("textField_mhlrjdz2"), //原系统PI号
|
|
|
+ fields.getString("radioField_mrle8vw0"), //RFQ来源
|
|
|
+ fields.getString("radioField_mnppbub6"), //测试使用
|
|
|
fields.getString("textField_mno9p0lf") //AI表格映射ID
|
|
|
);
|
|
|
saleProjectData.add(saleProjectRecord);
|
|
|
@@ -1453,6 +1536,7 @@ public class YidaServiceImpl implements YidaService {
|
|
|
ydParamBuilder = YDParam.builder();
|
|
|
ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_RFQ);
|
|
|
|
|
|
+
|
|
|
/*
|
|
|
翻页获取数据
|
|
|
*/
|
|
|
@@ -1506,6 +1590,146 @@ public class YidaServiceImpl implements YidaService {
|
|
|
return rfqData;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Map> queryLtcNewBusinessUserData() throws Exception {
|
|
|
+ /*
|
|
|
+ 参数定义
|
|
|
+ */
|
|
|
+ List<Map> newBusinessUserData = new ArrayList<>(); //新业务员培养数据
|
|
|
+ YDSearch ydSearch; //检索条件(单个)
|
|
|
+ String searchCondition; //检索条件
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
+ DDR_New yidaResult; //请求返回内容
|
|
|
+ List<Map> records; //每页记录数据
|
|
|
+ List<Map> allRecords = new ArrayList<>(); //所有记录数据
|
|
|
+ boolean hasMore; //是否还有下一页
|
|
|
+ int pageNo; //当前页码
|
|
|
+ int pageSize; //每页获取的数据量(上限100)
|
|
|
+ String formInstId; //表单实例ID
|
|
|
+ JSONObject fields; //字段数据
|
|
|
+ Map newBusinessUserRecord; //新业务员培养记录
|
|
|
+ JSONArray businessUserIdJSONArray; //新业务员字段值
|
|
|
+ String newBusinessUserId; //新业务员userId
|
|
|
+ Long employmentDate; //入职日期
|
|
|
+ Long deadline; //3个月考核截止日期
|
|
|
+
|
|
|
+ /*
|
|
|
+ 初始化参数值
|
|
|
+ */
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "radioField_mrmt1pdv",
|
|
|
+ "在职",
|
|
|
+ "是否在职",
|
|
|
+ YDSearch.Type.RADIO_FIELD,
|
|
|
+ YDSearch.Operator.EQ
|
|
|
+ );
|
|
|
+ searchCondition = JSONObject.toJSONString(Arrays.asList(ydSearch));
|
|
|
+ hasMore = true; //第一页默认有数据
|
|
|
+ pageNo = 1;
|
|
|
+ pageSize = 100;
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_NEW_BUSINESS_USER);
|
|
|
+ ydParamBuilder = ydParamBuilder.searchCondition(searchCondition);
|
|
|
+
|
|
|
+ /*
|
|
|
+ 翻页获取数据
|
|
|
+ */
|
|
|
+ while(hasMore){
|
|
|
+ ydParamBuilder = ydParamBuilder.pageNumber(pageNo);
|
|
|
+ ydParamBuilder = ydParamBuilder.pageSize(pageSize);
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
+ yidaResult = ydClient.queryData(yidaParam,YDConf.FORM_QUERY.retrieve_list);
|
|
|
+ log.info("当前第"+pageNo+"页");
|
|
|
+ records = (List<Map>) yidaResult.getData();
|
|
|
+ log.info("记录数="+records.size());
|
|
|
+ for (Map record : records){
|
|
|
+ allRecords.add(record);
|
|
|
+ }
|
|
|
+ if((pageNo*pageSize) < yidaResult.getTotalCount()){
|
|
|
+ pageNo++;
|
|
|
+ }else{
|
|
|
+ hasMore = false;
|
|
|
+ }
|
|
|
+ log.info("是否有更多数据:"+hasMore);
|
|
|
+ Thread.sleep(3000);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 请求记录数据处理
|
|
|
+ */
|
|
|
+ log.info("所有记录数量="+allRecords.size());
|
|
|
+ for (Map record : allRecords){
|
|
|
+ newBusinessUserId = "";
|
|
|
+ deadline = null;
|
|
|
+
|
|
|
+ //获取表单实例ID
|
|
|
+ formInstId = String.valueOf(record.get("formInstanceId"));
|
|
|
+
|
|
|
+ //解析字段数据
|
|
|
+ fields = JSONObject.parseObject(JSONObject.toJSONString(record.get("formData")));
|
|
|
+
|
|
|
+ /*
|
|
|
+ 获取业务员userId
|
|
|
+ */
|
|
|
+ if(fields.get("employeeField_mrlv718s_id") != null){
|
|
|
+ businessUserIdJSONArray = fields.getJSONArray("employeeField_mrlv718s_id");
|
|
|
+ if(!businessUserIdJSONArray.isEmpty()){
|
|
|
+ newBusinessUserId = String.valueOf(businessUserIdJSONArray.get(0));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //入职日期
|
|
|
+ employmentDate = fields.getLong("dateField_mrmt1pdt");
|
|
|
+
|
|
|
+ //获取3个月考核截止日期
|
|
|
+ deadline = fields.getLong("dateField_mrtylxl4");
|
|
|
+
|
|
|
+
|
|
|
+ //添加客户建联跟进记录
|
|
|
+ newBusinessUserRecord = UtilMap.map(
|
|
|
+ "formInstId, newBusinessUserId, employmentDate, deadline",
|
|
|
+ formInstId, //表单实例ID
|
|
|
+ newBusinessUserId, //新业务员userId
|
|
|
+ employmentDate, //入职日期
|
|
|
+ deadline //3个月考核截止日期
|
|
|
+ );
|
|
|
+ newBusinessUserData.add(newBusinessUserRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ return newBusinessUserData;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateLtcNewBusinessUserRecord(String formInstId, int numOfRFQ) throws Exception {
|
|
|
+ /*
|
|
|
+ 参数定义
|
|
|
+ */
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
+ String updateFormDataJson; //更新内容
|
|
|
+
|
|
|
+ /*
|
|
|
+ 初始化参数值
|
|
|
+ */
|
|
|
+ updateFormDataJson = JSONObject.toJSONString(
|
|
|
+ UtilMap.map(
|
|
|
+ "numberField_mrtylxl7, dateField_mrtylxld",
|
|
|
+ numOfRFQ, //3个月RFQ量
|
|
|
+ DateUtil.current() //RFQ数据更新时间
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ /*
|
|
|
+ 更新数据
|
|
|
+ */
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formInstId(formInstId);
|
|
|
+ ydParamBuilder = ydParamBuilder.updateFormDataJson(updateFormDataJson);
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
+ ydClient.operateData(yidaParam,YDConf.FORM_OPERATION.update);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public String queryProjectCode(String formInstId) throws Exception {
|
|
|
Map leadsData = ydClient.queryData(
|
|
|
@@ -1515,6 +1739,30 @@ public class YidaServiceImpl implements YidaService {
|
|
|
return UtilMap.getString(leadsData,"serialNumberField_mdf997w0"); //项目编号
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateLtcCustomerNameUnique(String formInstId, String customerNameUnique) throws Exception {
|
|
|
+ /*
|
|
|
+ 参数定义
|
|
|
+ */
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
+ String updateFormDataJson; //更新内容
|
|
|
+
|
|
|
+ /*
|
|
|
+ 初始化参数值
|
|
|
+ */
|
|
|
+ updateFormDataJson = JSONObject.toJSONString(UtilMap.map("textField_meks6pjp",customerNameUnique)); //客户验重
|
|
|
+
|
|
|
+ /*
|
|
|
+ 更新数据
|
|
|
+ */
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formInstId(formInstId);
|
|
|
+ ydParamBuilder = ydParamBuilder.updateFormDataJson(updateFormDataJson);
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
+ ydClient.operateData(yidaParam,YDConf.FORM_OPERATION.update);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateLtcCustomerTestFlag(String formInstId) throws Exception {
|
|
|
/*
|