|
|
@@ -967,6 +967,7 @@ public class YidaServiceImpl implements YidaService {
|
|
|
String formInstId; //表单实例ID
|
|
|
Map customerRecord; //客户记录
|
|
|
String customerName;
|
|
|
+ String customerCode;
|
|
|
JSONArray businessUserIdJSONArray; //业务员userId
|
|
|
String userId; //用户userId
|
|
|
String userIdText;
|
|
|
@@ -1010,6 +1011,7 @@ public class YidaServiceImpl implements YidaService {
|
|
|
for (Map ltcCustomerRecord : allRecords){
|
|
|
userId = "";
|
|
|
customerName = "";
|
|
|
+ customerCode = "";
|
|
|
//获取表单实例ID
|
|
|
formInstId = String.valueOf(ltcCustomerRecord.get("formInstanceId"));
|
|
|
//解析字段数据
|
|
|
@@ -1027,12 +1029,14 @@ public class YidaServiceImpl implements YidaService {
|
|
|
userIdText = String.valueOf(ltcCustomerRecord.get("textField_mnchujji"));
|
|
|
|
|
|
customerName = fields.getString("textField_lqanqe6j");
|
|
|
+ customerCode = fields.getString("serialNumberField_lqanqe6i");
|
|
|
|
|
|
//生成客户数据
|
|
|
customerRecord = UtilMap.map(
|
|
|
- "formInstId, customerName, userId, userIdText, customerLevel, customerPotentialLevel, newOrOld, testUseFlag, aiTableId",
|
|
|
+ "formInstId, customerName, customerCode, userId, userIdText, customerLevel, customerPotentialLevel, newOrOld, testUseFlag, aiTableId",
|
|
|
formInstId, //表单实例ID
|
|
|
customerName, //客户公司名(英文名)
|
|
|
+ customerCode, //客户编号
|
|
|
userId, //业务
|
|
|
userIdText,
|
|
|
fields.getString("selectField_mcsoft5i"), //客户当前分级
|
|
|
@@ -1047,6 +1051,174 @@ public class YidaServiceImpl implements YidaService {
|
|
|
return ltcCustomerData;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<Map> queryLtcAllSaleProjectData() throws Exception {
|
|
|
+ /*
|
|
|
+ 参数定义
|
|
|
+ */
|
|
|
+ List<Map> saleProjectData = new ArrayList<>();
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
+ DDR_New yidaResult; //请求返回内容
|
|
|
+ List<Map> records; //每页记录数据
|
|
|
+ List<Map> allRecords = new ArrayList<>(); //所有记录数据
|
|
|
+ boolean hasMore; //是否还有下一页
|
|
|
+ int pageNo; //当前页码
|
|
|
+ int pageSize; //每页获取的数据量(上限100)
|
|
|
+ JSONObject fields; //字段数据
|
|
|
+ String formInstId; //表单实例ID
|
|
|
+ Map saleProjectRecord; //销售项目记录
|
|
|
+
|
|
|
+ /*
|
|
|
+ 初始化参数值
|
|
|
+ */
|
|
|
+ hasMore = true; //第一页默认有数据
|
|
|
+ pageNo = 1;
|
|
|
+ pageSize = 100;
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_SALE_PROJECT);
|
|
|
+
|
|
|
+ /*
|
|
|
+ 翻页获取数据
|
|
|
+ */
|
|
|
+ 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 ltcSaleProjectRecord : allRecords){
|
|
|
+ //获取表单实例ID
|
|
|
+ formInstId = String.valueOf(ltcSaleProjectRecord.get("formInstanceId"));
|
|
|
+ //解析字段数据
|
|
|
+ fields = JSONObject.parseObject(JSONObject.toJSONString(ltcSaleProjectRecord.get("formData")));
|
|
|
+
|
|
|
+ saleProjectRecord = UtilMap.map(
|
|
|
+ "formInstId, projectCode, projectName, piCode, aiTableId",
|
|
|
+ formInstId, //表单实例ID
|
|
|
+ fields.getString("serialNumberField_mdf997w0"), //项目编号
|
|
|
+ fields.getString("textField_mdf997vz"), //项目名称
|
|
|
+ fields.getString("textField_mhlrjdz2"), //原系统PI号
|
|
|
+ fields.getString("textField_mno9p0lf") //AI表格映射ID
|
|
|
+ );
|
|
|
+
|
|
|
+ saleProjectData.add(saleProjectRecord);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return saleProjectData;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Map> queryLtcSaleProjectData(Map params) throws Exception {
|
|
|
+ /*
|
|
|
+ 参数定义
|
|
|
+ */
|
|
|
+ List<Map> saleProjectData = new ArrayList<>();
|
|
|
+ List<YDSearch> ydSearchList = 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)
|
|
|
+ JSONObject fields; //字段数据
|
|
|
+ String formInstId; //表单实例ID
|
|
|
+ Map saleProjectRecord; //销售项目记录
|
|
|
+
|
|
|
+ /*
|
|
|
+ 初始化参数值
|
|
|
+ */
|
|
|
+ if(params.containsKey("piCodePrefix")){
|
|
|
+ ydSearch = new YDSearch(
|
|
|
+ "textField_mhlrjdz2",
|
|
|
+ params.get("piCodePrefix").toString(),
|
|
|
+ "原系统PI号",
|
|
|
+ YDSearch.Type.TEXT_FIELD,
|
|
|
+ YDSearch.Operator.LIKE
|
|
|
+ );
|
|
|
+ ydSearchList.add(ydSearch);
|
|
|
+ }
|
|
|
+ searchCondition = JSONObject.toJSONString(ydSearchList);
|
|
|
+ hasMore = true; //第一页默认有数据
|
|
|
+ pageNo = 1;
|
|
|
+ pageSize = 100;
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_SALE_PROJECT);
|
|
|
+ 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 ltcSaleProjectRecord : allRecords){
|
|
|
+ //获取表单实例ID
|
|
|
+ formInstId = String.valueOf(ltcSaleProjectRecord.get("formInstanceId"));
|
|
|
+ //解析字段数据
|
|
|
+ fields = JSONObject.parseObject(JSONObject.toJSONString(ltcSaleProjectRecord.get("formData")));
|
|
|
+
|
|
|
+ saleProjectRecord = UtilMap.map(
|
|
|
+ "formInstId, projectCode, projectName, piCode, aiTableId",
|
|
|
+ formInstId, //表单实例ID
|
|
|
+ fields.getString("serialNumberField_mdf997w0"), //项目编号
|
|
|
+ fields.getString("textField_mdf997vz"), //项目名称
|
|
|
+ fields.getString("textField_mhlrjdz2"), //原系统PI号
|
|
|
+ fields.getString("textField_mno9p0lf") //AI表格映射ID
|
|
|
+ );
|
|
|
+ saleProjectData.add(saleProjectRecord);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return saleProjectData;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Map> queryLtcNotFollowedCustomerData(List ydFilters) throws Exception {
|
|
|
/*
|
|
|
@@ -1645,6 +1817,78 @@ public class YidaServiceImpl implements YidaService {
|
|
|
System.out.println("新增一条客户记录");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void insertSaleProjectData(Map row) throws Exception {
|
|
|
+ YDParam yidaParam; //HTTP请求体
|
|
|
+ YDParam.YDParamBuilder ydParamBuilder; //宜搭参数构建
|
|
|
+
|
|
|
+ String businessUserId = "";
|
|
|
+ String[] businessUserIdArr = new String[]{};
|
|
|
+ if(row.get("businessUserId")!=null){
|
|
|
+ businessUserId = row.get("businessUserId").toString();
|
|
|
+ businessUserIdArr = new String[]{row.get("businessUserId").toString()};
|
|
|
+ }
|
|
|
+
|
|
|
+ List customerField = new ArrayList();
|
|
|
+ Map customerFieldVal = new HashMap();
|
|
|
+ customerFieldVal.put("appType","APP_GM7D1NW6XCD0ZJBPVH51");
|
|
|
+ customerFieldVal.put("formUuid","FORM-9261FABA687B4D1D917617F53B4A5DB7UN16"); //客户
|
|
|
+ customerFieldVal.put("formType","receipt");
|
|
|
+ customerFieldVal.put("instanceId",row.get("customerId"));
|
|
|
+ customerFieldVal.put("title",row.get("customerName"));
|
|
|
+ customerFieldVal.put("subTitle",row.get("customerCode"));
|
|
|
+ customerField.add(customerFieldVal);
|
|
|
+
|
|
|
+ Map saleProjectRecord = UtilMap.map(
|
|
|
+ "textField_mdf997vz, " //项目名称
|
|
|
+ +"textField_mdf997wb, " //项目英文名
|
|
|
+ +"textField_mgrg3348, " //项目名称缩写
|
|
|
+ +"associationFormField_mdf997wc, " //客户
|
|
|
+ +"textField_mn48rz8y, " //客户公司名(英文名)
|
|
|
+ +"textField_mdpb1gh1, " //客户编号
|
|
|
+ +"employeeField_mdf997x2, " //业务员
|
|
|
+ +"textField_mnctph7f, " //业务员userId
|
|
|
+ +"selectField_mdf997ws, " //销售项目状态
|
|
|
+ +"selectField_mdf997wp, " //整体项目阶段
|
|
|
+ +"selectField_mfkv8ou2, " //成单情况
|
|
|
+ +"numberField_mdf997x6, " //预计销售项目金额(美元)
|
|
|
+ +"dateField_mdf997x7, " //预计成单日期
|
|
|
+ +"dateField_mfm5x6cl, " //实际成单日期
|
|
|
+ +"textField_mgykaadz, " //全局汇率单位
|
|
|
+ +"textField_mhlrjdz2, " //原系统PI号
|
|
|
+ +"textField_mno9p0lf, " //AI表格映射ID
|
|
|
+ +"radioField_mo0xt19d, " //是否特殊客户
|
|
|
+ +"radioField_mnppbub6", //测试使用
|
|
|
+ row.get("projectName"),
|
|
|
+ row.get("projectEnName"),
|
|
|
+ row.get("pName"),
|
|
|
+ customerField,
|
|
|
+ row.get("customerName"),
|
|
|
+ row.get("customerCode"),
|
|
|
+ businessUserIdArr,
|
|
|
+ businessUserId,
|
|
|
+ "已完成",
|
|
|
+ "S3:已签单",
|
|
|
+ "已成单",
|
|
|
+ row.get("projectAmount"),
|
|
|
+ row.get("expectedCloseDate"),
|
|
|
+ row.get("actualCloseDate"),
|
|
|
+ "美元/人民币",
|
|
|
+ row.get("piCode"),
|
|
|
+ row.get("aiTableId"),
|
|
|
+ "否",
|
|
|
+ "否"
|
|
|
+ );
|
|
|
+ String insertFormDataJson = JSONObject.toJSONString(saleProjectRecord);
|
|
|
+ System.out.println(insertFormDataJson);
|
|
|
+ ydParamBuilder = YDParam.builder();
|
|
|
+ ydParamBuilder = ydParamBuilder.formUuid(EastarParam.YD_FORMUUID_SALE_PROJECT);
|
|
|
+ ydParamBuilder = ydParamBuilder.formDataJson(insertFormDataJson);
|
|
|
+ yidaParam = ydParamBuilder.build();
|
|
|
+ ydClient.operateData(yidaParam,YDConf.FORM_OPERATION.create);
|
|
|
+ System.out.println("新增一条销售项目记录");
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void addAlertDetail(Map row) throws Exception {
|
|
|
YDParam yidaParam; //HTTP请求体
|