增加供应商和项目抽取

This commit is contained in:
hecan 2025-02-19 11:23:10 +08:00
parent 99e32b0c9e
commit e4257357d2
1 changed files with 120 additions and 43 deletions

View File

@ -92,6 +92,14 @@ public class MasterDataServiceImpl extends BaseService<ComparisonEntity, String>
tableName = "mdm_bank";
listAll = binDingBank(jsonObject, mdmModuleSourceEntity, dbCode);
break;
case "10046"://BIP供应商档案
tableName = "mdm_bip_supplier";
listAll = binDingSupplier(jsonObject, mdmModuleSourceEntity, dbCode,startTime,endTime);
break;
case "10047"://BIP项目档案
tableName = "mdm_bip_project";
listAll = binDingProject(jsonObject, mdmModuleSourceEntity, dbCode,startTime,endTime);
break;
default:
logger.info("未匹配到主数据的编码,请检查");
break;
@ -110,6 +118,74 @@ public class MasterDataServiceImpl extends BaseService<ComparisonEntity, String>
}
return BaseResult.getSuccessMessageEntity("主数据同步成功");
}
//绑定项目
private List<JSONObject> binDingProject(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode,String startTime,String endTime)throws Exception {
List<JSONObject> list = new ArrayList<>();
StringBuffer sb = new StringBuffer();
if(null != jsonObject && StrUtil.isNotEmpty(jsonObject.getString("code"))){
String code = jsonObject.getString("code");
sb.append(" and code = '"+code+"'");
}else{
sb.append(" and to_char(main.update_time,'yyyy-MM-dd HH:mm:ss') >= '"+startTime+"'");
sb.append(" and to_char(main.update_time,'yyyy-MM-dd HH:mm:ss') <> '"+endTime+"'");
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("");
mdmModuleSourceEntity.setDataSourceCode(dbCode);
List<HashMap<String, Object>> hashMaps = masterDataDaoImpl.queryArchivesByDataSource(stringBuffer.toString(),mdmModuleSourceEntity);
int i = 0;
if(CollectionUtils.isNotEmpty(hashMaps)){
for (HashMap<String, Object> hashMap : hashMaps) {
JSONObject main = new JSONObject();
JSONObject mdm = new JSONObject();
for(String key:hashMap.keySet()) {
mdm.put(key, hashMap.get(key));
}
main.put("mdm_bip_project",mdm);
list.add(main);
}
}
return list;
}
//绑定供应商
private List<JSONObject> binDingSupplier(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode,String startTime,String endTime)throws Exception {
List<JSONObject> list = new ArrayList<>();
StringBuffer sb = new StringBuffer();
if(null != jsonObject && StrUtil.isNotEmpty(jsonObject.getString("code"))){
String code = jsonObject.getString("code");
sb.append(" and code = '"+code+"'");
}else{
sb.append(" and to_char(main.update_time,'yyyy-MM-dd HH:mm:ss') >= '"+startTime+"'");
sb.append(" and to_char(main.update_time,'yyyy-MM-dd HH:mm:ss') <> '"+endTime+"'");
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("select \n" +
"main.id as data_id,field0139 as orgcode,field0123 as code,field0125 as abbreviate,field0124 as name,\n" +
"field0148 as category_code,field0127 as taxpayerid,field0142 as linkaddress,field0132 as linkman,\n" +
"field0121 as telephone\n" +
"from formmain_11208 main\n" +
" LEFT JOIN COL_SUMMARY ON COL_SUMMARY.FORM_RECORDID = main.id\n" +
" left join ORG_MEMBER ORG_MEMBER on main.field0001=ORG_MEMBER.id\n" +
" WHERE 1=1 and summary.state in ('1','3') ");
mdmModuleSourceEntity.setDataSourceCode(dbCode);
List<HashMap<String, Object>> hashMaps = masterDataDaoImpl.queryArchivesByDataSource(stringBuffer.toString(),mdmModuleSourceEntity);
int i = 0;
if(CollectionUtils.isNotEmpty(hashMaps)){
for (HashMap<String, Object> hashMap : hashMaps) {
JSONObject main = new JSONObject();
JSONObject mdm = new JSONObject();
for(String key:hashMap.keySet()) {
mdm.put(key, hashMap.get(key));
}
main.put("mdm_bip_supplier",mdm);
list.add(main);
}
}
return list;
}
//绑定银行
private List<JSONObject> binDingBank(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode)throws Exception {
List<JSONObject> list = new ArrayList<>();
@ -187,7 +263,8 @@ public class MasterDataServiceImpl extends BaseService<ComparisonEntity, String>
}
//绑定OA用户参数
private List<JSONObject> bindingUser(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode,String startTime,String endTime)throws Exception {
private List<JSONObject>
bindingUser(JSONObject jsonObject, MdmModuleSourceEntity mdmModuleSourceEntity, String dbCode,String startTime,String endTime)throws Exception {
List<JSONObject> list = new ArrayList<>();
StringBuffer sb = new StringBuffer();
if(null != jsonObject && StrUtil.isNotEmpty(jsonObject.getString("code"))){