diff --git a/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/IdcServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/IdcServiceImpl.java index 9d93cb8..7589e71 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/IdcServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/idc/service/impl/IdcServiceImpl.java @@ -73,16 +73,22 @@ public class IdcServiceImpl implements IdcService { /*同步表,格式:同步设置表列名/同步设置表列名(子表时设置,主表不设置)/主表唯一列(多列逗号分隔)/主表关联列/子表关联列/数据库实际表/时间列/图片或文件列/数据条件/说明*/ private final String[] SYNC_TABLES= { "entrustAction//basic_entrust_accept/id//////委托验收","basicProducts//basic_udirel/id///updateTime///耗材字典","/basicProducts/basic_products/id/uuid/uuid////耗材字典信息详情", - "//company_product_relevance////updateTime///供应商关联信息", + "/companyCert/company_product_relevance/id/customerId/unitFk/updateTime///供应商关联信息", "basicCorp//basic_corp/id///updateTime///往来单位","typeThird//thr_bustype_origin/id///updateTime///第三方单据类型", "basicThirdCorp//thr_corp/id///updateTime///第三方往来单位","//thr_dept/id///updateTime///第三方部门", "//thr_inv_products/id///updateTime///第三方库存","basicThirdInv//thr_inv_warehouse/id//////第三方仓库", "basicThirdBusOrder//thr_order/id///updateTime///第三方业务单据","/basicThirdBusOrder/thr_order_detail/orderIdFk/id/orderIdFk/updateTime///第三方单据详情", - "basicThirdProducts//thr_products/id///updateTime///第三方产品信息","//sup_cert/id///updateTime/filePath//资质证书信息", + "basicThirdProducts//thr_products/id///updateTime///第三方产品信息", "//sup_cert_set/id///updateTime///供应商资质证书设置","companyCert//sup_company/customerId///updateTime///配送企业", "manufacturerCert//sup_manufacturer/id///updateTime///生产企业","productCert//sup_product/id///updateTime///产品资质信息", + "/companyCert/sup_cert/id/customerId/customerId/updateTime/filePath/type=1/配送企业资质证书信息", + "/manufacturerCert/sup_cert/id/manufacturerId/manufacturerIdFk/updateTime/filePath/type=2/生产企业资质证书信息", + "/productCert/sup_cert/id/productId/productIdFk/updateTime/filePath/type=3/产品资质证书信息", "//udicompany/id///updateTime///国际库医疗器械注册人信息"}; //"dbDiProducts//productinfo/id///updateTime///DI产品信息", + //"basicInv/////////仓库字典", + //"typeBus/////////业务单据类型", + //"typeScan/////////扫码单据类型", private int orderNum=0; @Resource @@ -198,8 +204,10 @@ public class IdcServiceImpl implements IdcService { } for(int i=0;i解析失败"); @@ -378,7 +386,7 @@ public class IdcServiceImpl implements IdcService { syncAddTaskStatus(json,true,true); /*解析入库*/ if(isLastLevel()) { - if(!analyToDB("",json,files,true)) + if(!analyMiddle("",json,files,true,true)) return ResultVOUtils.error(9000, "解析失败"); } else { //需要转发 @@ -627,11 +635,7 @@ public class IdcServiceImpl implements IdcService { } - - - /*解析到数据库*/ - private boolean analyToDB(String host,JSONObject jsonObject,MultipartFile[] files,boolean isUpload) { - + private boolean analyMiddle(String host,JSONObject jsonObject,MultipartFile[] files,boolean isUpload,boolean isToDB) { if(jsonObject.get("data")!=null) { String tableName = ""; String uniqueColumn = ""; @@ -651,7 +655,12 @@ public class IdcServiceImpl implements IdcService { filePathColumn = obj.getString("filePathColumn"); } if(!StringUtils.isEmpty(tableName)) { - return analyData(host,tableName,uniqueColumn,filePathColumn,list,isUpload); + if(isToDB) { + return analyToDB(host,tableName,uniqueColumn,filePathColumn,list,isUpload); + } else { + logger.info("files-->"+tableName); + return analyToFile(host,filePathColumn,list); + } } else { logger.error("数据格式错误:无数据标记"); } @@ -660,8 +669,24 @@ public class IdcServiceImpl implements IdcService { return false; } + private boolean analyToFile(String host,String filePathColumn,List> list) { + + if(list!=null&&list.size()>0&&!StringUtils.isEmpty(filePathColumn)) { + String[] files = new String[list.size()]; + logger.info("filePathColumn-->"+filePathColumn); + for(int i=0;i"+files[i]); + } + + batchDownloadFile(host,files); + } + return true; + } + /*解析到数据库*/ + /*按表名解析数据到数据库,子表暂未处理*/ - private boolean analyData(String host,String tableName,String uniqueColumn,String filePathColumn,List> list,boolean isUpload) { + private boolean analyToDB(String host,String tableName,String uniqueColumn,String filePathColumn,List> list,boolean isUpload) { String tName = DBAUtils.tableRealName(tableName); String sql="replace "+tName +"("; @@ -772,7 +797,7 @@ public class IdcServiceImpl implements IdcService { for (Object o : (List) obj) { chList.add((Map)o); } - analyData(host,list.get(i).get("tableName"+m).toString(),"","",chList,isUpload); + analyToDB(host,list.get(i).get("tableName"+m).toString(),"","",chList,isUpload); } else { break; }