浏览代码

Merge branch 'master' of zlf/esb into master

esb 9 年之前
父节点
当前提交
21cf9378ad

+ 0 - 2
Hos-resource/src/main/java/com/yihu/ehr/crawler/model/adapter/AdapterDict.java

@ -7,10 +7,8 @@ import com.yihu.ehr.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictModel;
import com.yihu.ehr.standard.service.adapter.AdapterDictEntryService;
import com.yihu.ehr.standard.service.bo.AdapterVersion;
import com.yihu.ehr.standard.service.standard.StdMetadataService;
import net.sf.json.JSONObject;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

+ 4 - 1
Hos-resource/src/main/java/com/yihu/ehr/crawler/service/DataCollectDispatcher.java

@ -41,7 +41,10 @@ public class DataCollectDispatcher {
    public Boolean getToken () {
        try {
            this.token = EsbHttp.getToken();
            token = EsbHttp.getToken();
            if (StringUtil.isEmpty(token)) {
                return false;
            }
            return true;
        } catch (Exception e) {
            LogService.getLogger().error("本次任务执行失败,获取token失败!");

+ 5 - 5
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/AdapterController.java

@ -7,11 +7,11 @@ import com.yihu.ehr.framework.util.controller.BaseController;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeModel;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdPublisherModel;
import com.yihu.ehr.standard.service.adapter.AdapterSchemeService;
import com.yihu.ehr.standard.service.standard.StandardService;
import com.yihu.ehr.standard.service.standard.StandardVersionService;
import com.yihu.ehr.standard.service.standard.StdPublisherService;
import com.yihu.ehr.system.model.SystemOrganization;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -196,13 +196,13 @@ public class AdapterController extends BaseController {
            @RequestParam(value = "rows", required = false) Integer rows,
            @ApiParam(name = "page", value = "Start position of result set. Must be an integer")
            @RequestParam(value = "page", required = false) Integer page) {
        List<StdPublisherModel> stdPublisherModelList = stdPublisherService.getList(condition, order, rows, page - 1);
        List<SystemOrganization> stdPublisherModelList = stdPublisherService.getList(condition, order, rows, page - 1);
        DictionaryResult dictionaryResult = new DictionaryResult();
        List<DictItem> detailModelList = new ArrayList<DictItem>();
        for(StdPublisherModel stdPublisherModel : stdPublisherModelList){
        for(SystemOrganization systemOrganization : stdPublisherModelList){
            DictItem items = new DictItem();
            String id = stdPublisherModel.getCode();
            String name = stdPublisherModel.getName();
            String id = systemOrganization.getCode();
            String name = systemOrganization.getFullName();
            items.setCode(id.toString());
            items.setValue(name);
            detailModelList.add(items);

+ 0 - 92
Hos-resource/src/main/java/com/yihu/ehr/standard/controller/PublisherController.java

@ -1,92 +0,0 @@
package com.yihu.ehr.standard.controller;
import com.yihu.ehr.framework.util.controller.BaseController;
import com.yihu.ehr.standard.model.standard.StdPublisherModel;
import com.yihu.ehr.standard.service.standard.StdPublisherService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
 * Created by LLH on 2016/1/6.
 */
@RestController("PublisherController")
@RequestMapping("/standardCenter")
@Api(protocols = "https", value = "PublisherController", description = "发布者管理", tags = {"发布者"})
public class PublisherController extends BaseController {
    @Resource(name = StdPublisherService.BEAN_ID)
    private StdPublisherService stdPublisherService;
    /**
     * 根据标准ID获取发布机构(get)
     * @param publisherId
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/getForPublisherId")
    @ApiOperation(value = "获取发布机构", response = StdPublisherModel.class, produces = "application/json", notes = "获取发布机构")
    public StdPublisherModel get(
            @ApiParam(name = "publisherId", value = "机构ID")
            @RequestParam(value = "publisherId") Integer publisherId) {
        return stdPublisherService.get(publisherId);
    }
    /**
     * 获取集成标准发布机构(get)
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/getStandardPublisher")
    @ApiOperation(value = "获取发布机构", response = StdPublisherModel.class, produces = "application/json", notes = "获取发布机构")
    public StdPublisherModel get() {
        return stdPublisherService.getStandardPublisher();
    }
    /**
     * 修改发布机构(PUT)
     * @param publisher
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/updatePublisher")
    @ApiOperation(value = "修改发布机构", response = StdPublisherModel.class, produces = "application/json", notes = "修改发布机构")
    public StdPublisherModel updatePublisher(
            @ApiParam(name = "publisher", value = "机构信息")
            @RequestParam(value = "publisher") String publisher) {
        return stdPublisherService.update(publisher);
    }
    /**
     * 新增发布机构(POST)
     * @param publisher
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/addPublisher")
    @ApiOperation(value = "保存发布机构", response = StdPublisherModel.class, produces = "application/json", notes = "保存发布机构")
    public StdPublisherModel addPublisher(
            @ApiParam(name = "publisher", value = "机构信息")
            @RequestParam(value = "publisher") String publisher) {
        return stdPublisherService.add(publisher);
    }
    /**
     * 删除发布机构(DELETE)
     * @param  publisherId
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/deletePublisher")
    @ApiOperation(value = "删除发布机构", produces = "application/json", notes = "删除发布机构")
    public void deletePublisher(
            @ApiParam(name = "publisherId", value = "机构ID")
            @RequestParam(value = "publisherId") Integer publisherId) {
        stdPublisherService.delete(publisherId);
    }
}

+ 0 - 68
Hos-resource/src/main/java/com/yihu/ehr/standard/model/standard/StdPublisherModel.java

@ -1,68 +0,0 @@
package com.yihu.ehr.standard.model.standard;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
/**
 * 标准基本信息
 *
 * @created Airhead 2015/12/23.
 */
@Entity
@Table(name = "std_publisher")
public class StdPublisherModel implements Serializable {
    public static final String TABLE_NAME = "STD_PUBLISHER";
    @Id
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "increment")
    @Column(name = "id")
    private Integer id;
    @Column(name = "name")
    private String name;
    @Column(name = "code")
    private String code;
    @Column(name = "description")
    private String description;
    public static String getTableName() {
        return TABLE_NAME;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

+ 1 - 1
Hos-resource/src/main/java/com/yihu/ehr/standard/service/adapter/AdapterDictEntryService.java

@ -9,8 +9,8 @@ import com.yihu.ehr.framework.exception.ApiException;
import com.yihu.ehr.framework.util.operator.CollectionUtil;
import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.adapter.AdapterDictModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictEntryModel;
import com.yihu.ehr.standard.model.adapter.AdapterDictModel;
import com.yihu.ehr.standard.model.adapter.AdapterSchemeModel;
import com.yihu.ehr.standard.model.adapter.resultModel.AdapterDictEntryResultDetailModel;
import com.yihu.ehr.standard.model.standard.StdDictionaryModel;

+ 18 - 25
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StandardService.java

@ -12,10 +12,12 @@ import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StandardVersionModel;
import com.yihu.ehr.standard.model.standard.StdPublisherModel;
import com.yihu.ehr.standard.model.standard.resultModel.StandardResultDetailModel;
import com.yihu.ehr.system.dao.intf.IOrganizationDao;
import com.yihu.ehr.system.model.SystemOrganization;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -198,7 +200,7 @@ public class StandardService extends SQLGeneralDAO {
        return list;
    }
    public List<StandardResultDetailModel> getStandardListFormat(List<StdPublisherModel> publisherModelList,
    public List<StandardResultDetailModel> getStandardListFormat(List<SystemOrganization> publisherModelList,
                                                                 List<StandardModel> standardModelList,
                                                                 List<StandardVersionModel> versionModelList,
                                                                 Map<String, String> codeToIdMap,
@ -207,15 +209,15 @@ public class StandardService extends SQLGeneralDAO {
        Map<String, StandardResultDetailModel> resultDetailModelMap = new HashMap<>();
        Map<String, StandardResultDetailModel> resultDetailModelCheckMap = new HashMap<>();
        Map<String, StandardResultDetailModel> resultDetailModelAddMap = new HashMap<>();
        for (StdPublisherModel publisherModel : publisherModelList) {
        for (SystemOrganization publisherModel : publisherModelList) {
            StandardResultDetailModel resultDetailModel = new StandardResultDetailModel();
            String id = "publisher" + publisherModel.getId();
            resultDetailModel.setId(id);
            resultDetailModel.setName(publisherModel.getName());
            resultDetailModel.setName(publisherModel.getFullName());
            resultDetailModel.setType(0);
            resultDetailModel.setCode(publisherModel.getCode());
            codeToIdMap.put(publisherModel.getCode(), id);
            if (StringUtil.isEmpty(name) || publisherModel.getName().contains(name)) {
            if (StringUtil.isEmpty(name) || publisherModel.getFullName().contains(name)) {
                resultDetailModelCheckMap.put(id, resultDetailModel);
                resultDetailModelAddMap.put(id, resultDetailModel);
                resultDetailModelList.add(resultDetailModel);
@ -268,7 +270,7 @@ public class StandardService extends SQLGeneralDAO {
                resultDetailModelList.add(resultDetailModel);
                if (!resultDetailModelAddMap.containsKey(pid)) {
                    resultDetailModelAddMap.put(resultDetailModel.getPid(), resultDetailModelMap.get(resultDetailModel.getPid()));
                    resultDetailModelAddMap.put(resultDetailModelMap.get(resultDetailModel.getPid()).getPid(), resultDetailModelMap.get(resultDetailModelMap.get(resultDetailModel.getPid()).getPid()));
                    resultDetailModelAddMap.put(resultDetailModelMap.get(pid).getPid(), resultDetailModelMap.get(resultDetailModelMap.get(resultDetailModel.getPid()).getPid()));
                    resultDetailModelList.add(resultDetailModelMap.get(resultDetailModel.getPid()));
                    resultDetailModelList.add(resultDetailModelMap.get(resultDetailModelMap.get(resultDetailModel.getPid()).getPid()));
                }
@ -280,7 +282,6 @@ public class StandardService extends SQLGeneralDAO {
    public List<StandardResultDetailModel> getStandardList(String condition) {
        String name = Constants.EMPTY;
        Integer type = null;
        SqlCreator sqlCreator = new SqlCreator(StandardModel.class);
        if (!StringUtil.isEmpty(condition)) {
            ObjectMapper objectMapper = new ObjectMapper();
            try {
@ -295,21 +296,15 @@ public class StandardService extends SQLGeneralDAO {
                e.printStackTrace();
            }
        }
        String publisherCode = Constants.EMPTY;
        String publisherHql = Constants.EMPTY;
        if (type != null) {
            List<Object[]> list = getSysParamList();
            String code = StringUtil.toString(list.get(0)[0]);
            publisherCode = StringUtil.toString(list.get(0)[1]);
            if (type == 0) {
                sqlCreator.equalCondition("code", code);
                publisherHql = "FROM StdPublisherModel where code = :publisherCode";
            } else if (type == 1) {
                sqlCreator.neCondition("code", code);
                publisherHql = "FROM StdPublisherModel where code != :publisherCode";
            }
        }
        List<Object[]> list = getSysParamList();
        String code = StringUtil.toString(list.get(0)[0]);
        SqlCreator sqlCreator = new SqlCreator(StandardModel.class);
        if (type == 0) {
            sqlCreator.equalCondition("code", code);
        } else {
            sqlCreator.neCondition("code", code);
        }
        String sql = sqlCreator.selectData(StandardModel.TABLE_NAME);
        Query sessionQuery = getQuery(sqlCreator, sql);
        List<StandardModel> standardModelList = sessionQuery.list();
@ -321,11 +316,9 @@ public class StandardService extends SQLGeneralDAO {
        if (CollectionUtil.isEmpty(idList)) {
            idList.add(null);
        }
        String publisherHql = "FROM SystemOrganization";
        Query query = getCurrentSession().createQuery(publisherHql);
        query.setParameter("publisherCode", publisherCode);
        List<StdPublisherModel> publisherModelList = query.list();
        List<SystemOrganization> publisherModelList = query.list();
        String versionHql = "FROM StandardVersionModel WHERE standardId IN :idList";
        query = getCurrentSession().createQuery(versionHql);
        query.setParameterList("idList", idList);

+ 14 - 124
Hos-resource/src/main/java/com/yihu/ehr/standard/service/standard/StdPublisherService.java

@ -10,7 +10,7 @@ import com.yihu.ehr.framework.util.operator.StringUtil;
import com.yihu.ehr.framework.util.sql.RequestParamTransformer;
import com.yihu.ehr.framework.util.sql.SqlCreator;
import com.yihu.ehr.standard.model.standard.StandardModel;
import com.yihu.ehr.standard.model.standard.StdPublisherModel;
import com.yihu.ehr.system.model.SystemOrganization;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.springframework.stereotype.Service;
@ -28,7 +28,7 @@ public class StdPublisherService extends SQLGeneralDAO {
    public static final String BEAN_ID = "StdPublisherService";
    public List<StdPublisherModel> getList(String condition, String order, Integer limit, Integer offset) {
    public List<SystemOrganization> getList(String condition, String order, Integer limit, Integer offset) {
        try{
            Map<String, String> queryMap = RequestParamTransformer.parseJsonToMap(condition);
            Map<String, String> orderMap = RequestParamTransformer.parseJsonToMap(order);
@ -40,17 +40,16 @@ public class StdPublisherService extends SQLGeneralDAO {
        throw new ApiException(ErrorCode.GetPublisherListFaield);
    }
    private List<StdPublisherModel> getList(Map<String, String> query, Map<String, String> order, Integer limit, Integer offset) {
        SqlCreator sqlCreator = new SqlCreator(StdPublisherModel.class);
    private List<SystemOrganization> getList(Map<String, String> query, Map<String, String> order, Integer limit, Integer offset) {
        SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
        for (String key : query.keySet()) {
            sqlCreator.equalCondition(key, query.get(key));
        }
        for (String key : order.keySet()) {
            sqlCreator.order(key, order.get(key));
        }
        sqlCreator.neCondition("code", "jkzl");
        String sql = sqlCreator.selectData(StdPublisherModel.TABLE_NAME);
        String sql = sqlCreator.selectData("system_organization");
        Query sessionQuery = getQuery(sqlCreator, sql);
        if (limit != null) {
@ -59,145 +58,36 @@ public class StdPublisherService extends SQLGeneralDAO {
                sessionQuery.setFirstResult(offset);
            }
        }
        return (List<StdPublisherModel>) sessionQuery.list();
        return (List<SystemOrganization>) sessionQuery.list();
    }
    public StdPublisherModel add(String publisher) {
        Boolean existFlg = true;
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            StdPublisherModel stdPublisherModel = objectMapper.readValue(publisher, StdPublisherModel.class);
            existFlg = existPublisherValid(stdPublisherModel.getCode(), stdPublisherModel.getName());
            if (!existFlg) {
                saveEntity(stdPublisherModel);
                return stdPublisherModel;
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
        if (existFlg) {
            throw new ApiException(ErrorCode.ExistOrgForCreate);
        } else {
            throw new ApiException(ErrorCode.SavePublisherFailed);
        }
    }
    public void delete(Integer stdPublisherId) {
        Boolean existFlg = false;
    public SystemOrganization get(Integer stdPublisherId) {
        try {
            StdPublisherModel publisherModel = getEntity(StdPublisherModel.class, stdPublisherId);
            existFlg = existStandardValid(publisherModel.getCode());
            if (!existFlg) {
                String hql = "delete from StdPublisherModel where id = :id";
                Query query = getCurrentSession().createQuery(hql);
                query.setInteger("id", publisherModel.getId());
                query.executeUpdate();
                return;
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
        if (existFlg) {
            throw new ApiException(ErrorCode.ExistOrgForStandard);
        } else {
            throw new ApiException(ErrorCode.SavePublisherFailed);
        }
}
    public StdPublisherModel update(String publisher) {
        Boolean existFlg;
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            StdPublisherModel stdPublisherModel = objectMapper.readValue(publisher, StdPublisherModel.class);
            StdPublisherModel publisherModel = getEntity(StdPublisherModel.class, stdPublisherModel.getId());
            existFlg = existPublisherValid(stdPublisherModel.getId(), stdPublisherModel.getCode(), stdPublisherModel.getName());
            if (!existFlg) {
                String sql = "update std_info set publisher = :publisher,publisher_org_code = :stdPublisherOrgCode" +
                        " where publisher_org_code = :publisherOrgCode";
                SQLQuery sqlQuery = getCurrentSession().createSQLQuery(sql);
                sqlQuery.setParameter("publisher", stdPublisherModel.getName());
                sqlQuery.setParameter("stdPublisherOrgCode", stdPublisherModel.getCode());
                sqlQuery.setParameter("publisherOrgCode", publisherModel.getCode());
                sqlQuery.executeUpdate();
                publisherModel.setCode(stdPublisherModel.getCode());
                publisherModel.setName(stdPublisherModel.getName());
                publisherModel.setDescription(stdPublisherModel.getDescription());
                updateEntity(publisherModel);
                return stdPublisherModel;
            }
        }catch (Exception e) {
            throw new ApiException(ErrorCode.UpdatePublisherFailed);
        }
        if (existFlg) {
            throw new ApiException(ErrorCode.ExistOrgForCreate);
        } else {
            throw new ApiException(ErrorCode.SavePublisherFailed);
        }
    }
    public StdPublisherModel get(Integer stdPublisherId) {
        try {
            SqlCreator sqlCreator = new SqlCreator(StdPublisherModel.class);
            SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
            sqlCreator.equalCondition("id", stdPublisherId);
            String sql = sqlCreator.selectData(StdPublisherModel.TABLE_NAME);
            String sql = sqlCreator.selectData("system_organization");
            Query query = getQuery(sqlCreator, sql);
            return (StdPublisherModel) query.uniqueResult();
            return (SystemOrganization) query.uniqueResult();
        } catch (Exception e) {
            throw new ApiException(ErrorCode.GetPublisherFailed);
        }
    }
    public StdPublisherModel getStandardPublisher() {
    public SystemOrganization getStandardPublisher() {
        try {
            SqlCreator sqlCreator = new SqlCreator(StdPublisherModel.class);
            SqlCreator sqlCreator = new SqlCreator(SystemOrganization.class);
            String paramSql = "select s.org_id from system_param s where s.param_key = '"+ Constants.STANDARD+"'";
            Query paramQuery = getCurrentSession().createSQLQuery(paramSql);
            List list = paramQuery.list();
            String publisherCode = StringUtil.toString(list.get(0));
            sqlCreator.equalCondition("code", publisherCode);
            String sql = sqlCreator.selectData(StdPublisherModel.TABLE_NAME);
            String sql = sqlCreator.selectData("system_organization");
            Query query = getQuery(sqlCreator, sql);
            return (StdPublisherModel) query.uniqueResult();
            return (SystemOrganization) query.uniqueResult();
        } catch (Exception e) {
            throw new ApiException(ErrorCode.GetPublisherFailed);
        }
    }
    public boolean existStandardValid(String code) {
        String hql="FROM StandardModel WHERE publisherOrgCode = :code";
        Query query = getCurrentSession().createQuery(hql);
        query.setParameter("code", code);
        List<StandardModel> standardModelList = query.list();
        if (standardModelList.size() > 0) {
           return true;
        }
        return false;
    }
    public boolean existPublisherValid(Integer publiserId, String code, String name) {
        String hql="FROM StdPublisherModel WHERE code = :code or name = :name";
        Query query = getCurrentSession().createQuery(hql);
        query.setParameter("code", code);
        query.setParameter("name", name);
        List<StdPublisherModel> list = query.list();
        if (!CollectionUtil.isEmpty(list)) {
            if (list.get(0).getId() != publiserId) {
                return true;
            }
        }
        return false;
    }
    public boolean existPublisherValid(String code, String name) {
        String hql="FROM StdPublisherModel WHERE code = :code or name = :name";
        Query query = getCurrentSession().createQuery(hql);
        query.setParameter("code", code);
        query.setParameter("name", name);
        List<StdPublisherModel> list = query.list();
        if (!CollectionUtil.isEmpty(list)) {
            return true;
        }
        return false;
    }
}