package grand;
|
|
import foundation.action.ActionProvider;
|
import foundation.data.entity.Entity;
|
import foundation.data.entity.EntitySet;
|
import foundation.data.object.DataObject;
|
import foundation.data.object.EntitySaver;
|
import foundation.icall.ICall;
|
import foundation.icall.ICallCenter;
|
import foundation.persist.NamedSQL;
|
import foundation.persist.SQLRunner;
|
|
public class HospitalHandler extends ActionProvider {
|
|
private DataObject hospiatlObject;
|
|
public HospitalHandler() {
|
hospiatlObject = DataObject.getInstance("md_hospital");
|
}
|
@Override
|
protected void publishMethod() {
|
//1. 同步医院
|
addMethod("syncHospital");
|
|
//2.同步DMS医院
|
addMethod("syncDmsHospital");
|
|
//3. 辖区医院更新渠道关系
|
addMethod("updateChannelStructure");
|
}
|
|
public void syncHospital() throws Exception {
|
ICallCenter iCallCenter = ICallCenter.getInstance();
|
|
//1.1 获取OA-医院
|
logger.debug("1.1 获取OA-医院---------->>");
|
ICall iCall = ICall.getInstance("oa_v_dms_hospital");
|
iCallCenter.callRemote(context, iCall);
|
|
//2.1 同步DMS医院
|
logger.debug("2.1 同步DMS医院---------->>");
|
syncDmsHospital();
|
|
logger.debug("医院同步完成");
|
}
|
|
public void syncDmsHospital() throws Exception {
|
//1. 拿到需要更新的OA医院
|
NamedSQL namedSQL = NamedSQL.getInstance("getUpdateHospital");
|
EntitySet entitySet = SQLRunner.getEntitySet(namedSQL);
|
|
//2. 遍历OA医院,更新医院(包含血缘关系表)
|
for (Entity entity: entitySet) {
|
String hospitalId = entity.getId();
|
EntitySaver saver = hospiatlObject.createEntitySaver(hospitalId);
|
saver.set("code", entity.getString("YYBM"));
|
saver.set("name", entity.getString("YYMC"));
|
saver.set("province", entity.getString("SF"));
|
saver.set("city", entity.getString("DQ"));
|
saver.set("county", entity.getString("XS"));
|
saver.set("address", entity.getString("DD"));
|
saver.update();
|
}
|
|
//3.插入新增医院
|
namedSQL = NamedSQL.getInstance("getAppendHospital");
|
entitySet = SQLRunner.getEntitySet(namedSQL);
|
hospiatlObject.batchInsertEntitySet(entitySet);
|
|
}
|
|
public void updateChannelStructure() throws Exception {
|
NamedSQL namedSQL = NamedSQL.getInstance("updateChannelStructurePosition");
|
namedSQL.execute();
|
}
|
}
|