This commit is contained in:
张光起 2025-05-30 10:55:07 +08:00
parent 53e73dd147
commit 777b0c339d
6 changed files with 62 additions and 55 deletions

View File

@ -22,6 +22,8 @@ import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import static org.ssssssss.magicboot.zdyutils.FXTIC.TESTERPURL;
/** /**
* 人员同步 * 人员同步
*/ */
@ -32,59 +34,40 @@ public class CostController {
private final Logger log = LoggerFactory.getLogger(CostController.class); private final Logger log = LoggerFactory.getLogger(CostController.class);
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
new CostController().getUserData();
new CostController().saveSynUser();
// new CostController().getUserData();
// new CostController().saveSynUser();
} }
@PostMapping("/getUserData") @PostMapping("/getUserData")
public void getUserData() throws Exception { public void getUserData() throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 62 * 24)); String starttime = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60 * 24));
// time = "2024-05-01"; String endtime = sdf.format(System.currentTimeMillis() );
String sendUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_user/userQuery"; System.out.println(starttime);
System.out.println(endtime);
String sendUrl = TESTERPURL+"/v2/f9w5/cal/calCost/queryCostByTime";
Map<String, String> headers = new HashMap<String, String>(); Map<String, String> headers = new HashMap<String, String>();
//String accessToken = "2096108315279888384_8elReBSzvx315JiLWiH82YKJGosF3G2kN688q05rHUritX9x3fWS3lmetalPeMe3HceZV7fK1GdSJsk1J46A3S0VkOxIUqf7wnS207"; String accessToken = new KDTokenController().getKDAccessTokenTest();
String accessToken = new KDTokenController().getKDAccessToken();
if (accessToken == null || accessToken.equals("")) { if (accessToken == null || accessToken.equals("")) {
log.info("金蝶token为空或不存在"); log.info("金蝶token为空或不存在");
return; return;
} }
headers.put("accessToken", accessToken);//放token headers.put("accessToken", accessToken);//放token
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
params.put("starttime", starttime);
JSONObject datajson = new JSONObject(); params.put("endtime", endtime);
datajson.put("createtime", "2012-02-26 11:04:43");
JSONArray arr = new JSONArray();
String[] strings = {
"苗依达"
};
// 将字符串添加到 JSONArray
for (String str : strings) {
arr.add(str);
}
datajson.put("name", arr);
params.put("data", datajson);
params.put("pageNo", 1);
params.put("pageSize", 1000);
HttpClientResult rtn = HttpClientUtils.doPostJson(sendUrl, headers, params.toJSONString()); HttpClientResult rtn = HttpClientUtils.doPostJson(sendUrl, headers, params.toJSONString());
String resStr = rtn.getContent(); String resStr = rtn.getContent();
JSONObject resjs = JSONObject.parseObject(resStr); JSONObject resjs = JSONObject.parseObject(resStr);
if (resjs != null) { if (resjs != null) {
if ("0".equals(resjs.getString("errorCode"))) {//查询成功 if ("0".equals(resjs.getString("errorCode"))) {//查询成功
JSONObject data = resjs.getJSONObject("data");
System.out.println("查询人员总数量" + data.getInteger("totalCount"));
JSONArray resJson = data.getJSONArray("rows");
System.out.println("待同步人员数量" + resJson.size());
JSONArray resJson = resjs.getJSONArray("data");
System.out.println("待更新成本数量" + resJson.size());
for (int i = 0; i < resJson.size(); i++) { for (int i = 0; i < resJson.size(); i++) {
JSONObject str = resJson.getJSONObject(i); JSONObject str = resJson.getJSONObject(i);
@ -95,7 +78,6 @@ public class CostController {
String name = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : ""; String name = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
String endtime = GcjJson.getNodeValue(str, "JSON.modifytime") != null ? GcjJson.getNodeValue(str, "JSON.modifytime").toString() : "";
String syn_type = "0";//同步类型 0新增 1修改 2删除 String syn_type = "0";//同步类型 0新增 1修改 2删除
log.info("-------------------开始执行人员" + i + " -------------------" + number); log.info("-------------------开始执行人员" + i + " -------------------" + number);

View File

@ -140,7 +140,7 @@ public class ProjectNewOpportunityController {
//编码 //编码
datajson.put("number",number); datajson.put("number",number);
datajson.put("group_number","XM-01");//项目分类 datajson.put("group_number","XM-03");//项目分类
datajson.put("name",nameData);//项目名称 datajson.put("name",nameData);//项目名称
datajson.put("f9w5_crmid",dataId);//CRMID datajson.put("f9w5_crmid",dataId);//CRMID
datajson.put("enable","1");//使用状态 datajson.put("enable","1");//使用状态

View File

@ -50,7 +50,7 @@ public class ProjectObjController {
);*/ );*/
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "集成测试--预签-设计文件")); List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "设备台账集成测试22"));
JSONObject jsonject = fxapi.getSynNewDataObj(false, "项目启动单", apiName, paramList); JSONObject jsonject = fxapi.getSynNewDataObj(false, "项目启动单", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList"); JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@ -193,7 +193,7 @@ public class ProjectObjController {
paramMap.put("sync_status__c", "option_sync_success__c"); paramMap.put("sync_status__c", "option_sync_success__c");
paramMap.put("sync_info__c", resjs.getString("message")); paramMap.put("sync_info__c", resjs.getString("message"));
//回写json //回写json
fxapi.upSynFieldParam("", "NewOpportunityObj", dataId, paramMap); fxapi.upSynFieldParam("", "ProjectObj", dataId, paramMap);
}else{ }else{
sendFlag=true; sendFlag=true;
stringBuffer.append("项目创建接口调用失败:"+resjs.getString("message")); stringBuffer.append("项目创建接口调用失败:"+resjs.getString("message"));
@ -201,7 +201,7 @@ public class ProjectObjController {
paramMap.put("sync_status__c", "option_sync_failure__c"); paramMap.put("sync_status__c", "option_sync_failure__c");
paramMap.put("sync_info__c", stringBuffer); paramMap.put("sync_info__c", stringBuffer);
//回写json //回写json
fxapi.upSynFieldParam("", "NewOpportunityObj", dataId, paramMap); fxapi.upSynFieldParam("", "ProjectObj", dataId, paramMap);
} }
} catch (Exception e) { } catch (Exception e) {
sendFlag = true; sendFlag = true;

View File

@ -28,9 +28,9 @@ public class materialreqbillXTController {
static Logger log = LoggerFactory.getLogger("materialreqbillv2"); static Logger log = LoggerFactory.getLogger("materialreqbillv2");
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
new materialreqbillXTController().getSynDataAdd(); // new materialreqbillXTController().getSynDataAdd();
new materialreqbillXTController().materialreqbillSave(); // new materialreqbillXTController().materialreqbillSave();
// new materialreqbillXTController().doOperation("68356982c826f00001e61b75","audit"); new materialreqbillXTController().doOperation("6836d1275313060001419706","audit");
} }
public void getSynDataAdd() throws Exception { public void getSynDataAdd() throws Exception {
@ -50,7 +50,7 @@ public class materialreqbillXTController {
);*/ );*/
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ202505220003")); List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ202505280014"));
JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", apiName, paramList); JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList"); JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@ -123,6 +123,7 @@ public class materialreqbillXTController {
String sjerpid = GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c") != null ? GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c").toString() : ""; String sjerpid = GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c") != null ? GcjJson.getNodeValue(str, "JSON.design_file_ERPID__c").toString() : "";
String contractno = GcjJson.getNodeValue(str, "JSON.contract_number_text__c") != null ? GcjJson.getNodeValue(str, "JSON.contract_number_text__c").toString() : ""; String contractno = GcjJson.getNodeValue(str, "JSON.contract_number_text__c") != null ? GcjJson.getNodeValue(str, "JSON.contract_number_text__c").toString() : "";
String contractno2 = GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c") != null ? GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c").toString() : "";
String cemployeeid = ""; String cemployeeid = "";
if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) { if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
@ -161,7 +162,13 @@ public class materialreqbillXTController {
datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.application_date__c"))); datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.application_date__c")));
datajson.put("applyuser","ID-000016"); datajson.put("applyuser","ID-000016");
datajson.put("applydept","004"); datajson.put("applydept","004");
datajson.put("contractno",contractno);//contractno if(!"".equals(contractno2)){
datajson.put("contractno",contractno2);//contractno
}else {
datajson.put("contractno",contractno);//contractno
}
datajson.put("crmid",dataId); datajson.put("crmid",dataId);
datajson.put("erpId",sjerpid);//设计文件erpID //design_file_ERPID__c datajson.put("erpId",sjerpid);//设计文件erpID //design_file_ERPID__c
@ -213,6 +220,7 @@ public class materialreqbillXTController {
params= datajson; params= datajson;
log.info("--请求json---" + params.toJSONString()); log.info("--请求json---" + params.toJSONString());
System.out.println("--请求json:---" +params.toJSONString()); System.out.println("--请求json:---" +params.toJSONString());
System.out.println("::::"+params);
strJson = params.toJSONString(); strJson = params.toJSONString();
}catch (Exception e) { }catch (Exception e) {
@ -247,9 +255,9 @@ public class materialreqbillXTController {
if (resjs != null && resjs.getBoolean("status")) { if (resjs != null && resjs.getBoolean("status")) {
System.out.println(resjs); System.out.println(resjs);
JSONObject successdata = resjs.getJSONObject("data"); JSONObject successdata = resjs.getJSONObject("data");
JSONArray result = successdata.getJSONArray("result"); //JSONArray result = successdata.getJSONArray("result");
JSONObject erpdata = (JSONObject) result.get(0); //JSONObject erpdata = (JSONObject) result.get(0);
String erpid = erpdata.getString("id"); String erpid = successdata.getString("pkId");
Map<String, Object> paramMap = new HashMap<String, Object>(); Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("erp_id__c", erpid);//数据ID paramMap.put("erp_id__c", erpid);//数据ID

View File

@ -50,7 +50,7 @@ public class returnapplicationController {
);*/ );*/
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "THSQ20250507-0001")); List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "THSQ20250528-0005"));
JSONObject jsonject = fxapi.getSynNewDataObj(true, "退货申请", apiName, paramList); JSONObject jsonject = fxapi.getSynNewDataObj(true, "退货申请", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList"); JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
@ -125,6 +125,7 @@ public class returnapplicationController {
String erpid = GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c").toString() : ""; String erpid = GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_outbound_id__c").toString() : "";
String contractno2 = GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c") != null ? GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c").toString() : "";
String cemployeeid = ""; String cemployeeid = "";
if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) { if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
@ -159,7 +160,15 @@ public class returnapplicationController {
//编号 //编号
datajson.put("billno",nameData); datajson.put("billno",nameData);
datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.return_date__c"))); datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.return_date__c")));
datajson.put("contractno",contractno);//contractno
if(!"".equals(contractno2)){
datajson.put("contractno",contractno2);//contractno
}else {
datajson.put("contractno",contractno);//contractno
}
datajson.put("applydept","004"); datajson.put("applydept","004");
datajson.put("applyuser","ID-000016"); datajson.put("applyuser","ID-000016");
datajson.put("bizorg","ZHY"); datajson.put("bizorg","ZHY");
@ -181,7 +190,7 @@ public class returnapplicationController {
//设计文件编码 //设计文件编码
groupstandardjson.put("designfileno",GcjJson.getNodeValue(stra, "JSON.design_file_encoding__c")); // groupstandardjson.put("designfileno",GcjJson.getNodeValue(stra, "JSON.design_file_encoding__c"));
groupstandardjson.put("crmentryid",GcjJson.getNodeValue(stra, "JSON._id")); groupstandardjson.put("crmentryid",GcjJson.getNodeValue(stra, "JSON._id"));
//批号 //批号
@ -189,15 +198,17 @@ public class returnapplicationController {
//产品编码 //产品编码
groupstandardjson.put("material",GcjJson.getNodeValue(stra, "JSON.material_name__c")); groupstandardjson.put("material",GcjJson.getNodeValue(stra, "JSON.material_name__c"));
//仓库编码 //仓库编码
groupstandardjson.put("warehouse",GcjJson.getNodeValue(stra, "JSON.warehouse_code__c")); groupstandardjson.put("warehouse",GcjJson.getNodeValue(stra, "JSON.warehouse__c"));
//仓位 //仓位
groupstandardjson.put("location",GcjJson.getNodeValue(stra, "JSON.warehouse_position__c"));
//项目编码 //项目编码
groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c")); groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
groupstandardjson.put("ecostcenter","ZHY"); groupstandardjson.put("ecostcenter","ZHY");
groupstandardjson.put("erpEntryId",GcjJson.getNodeValue(stra, "JSON.erp_outbound_line_id__c")); groupstandardjson.put("erpEntryId",GcjJson.getNodeValue(stra, "JSON.erp_outbound_line_id__c"));
groupstandardjson.put("tracknumber",GcjJson.getNodeValue(stra, "JSON.tracking_number__c"));
groupstandardarr.add(groupstandardjson); groupstandardarr.add(groupstandardjson);
@ -239,10 +250,11 @@ public class returnapplicationController {
JSONObject resjs = JSONObject.parseObject(resStr); JSONObject resjs = JSONObject.parseObject(resStr);
res = resStr; res = resStr;
if (resjs != null && resjs.getBoolean("status")) { if (resjs != null && resjs.getBoolean("status")) {
System.out.println(resjs);
JSONObject successdata = resjs.getJSONObject("data"); JSONObject successdata = resjs.getJSONObject("data");
JSONArray result = successdata.getJSONArray("result"); //JSONArray result = successdata.getJSONArray("result");
JSONObject erpdata = (JSONObject) result.get(0); //JSONObject erpdata = (JSONObject) result.get(0);
String erpid = erpdata.getString("id"); String erpid = successdata.getString("pkId");
Map<String, Object> paramMap = new HashMap<String, Object>(); Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("erp_id__c", erpid);//数据ID paramMap.put("erp_id__c", erpid);//数据ID

View File

@ -19,5 +19,10 @@ public class FXTIC {
public static String URL_DESCRIBE="https://open.fxiaoke.com/cgi/crm/v2/object/describe"; public static String URL_DESCRIBE="https://open.fxiaoke.com/cgi/crm/v2/object/describe";
public static String TESTERPURL="http://192.168.31.233:8022/ierp/kapi";
public static String ERPURL="https://lxr2.zhydsp.cn:40448/ierp/kapi";
} }