Browse Source

Merge branch 'dev' of trick9191/wlyy2.0 into dev

trick9191 5 years ago
parent
commit
dd89816050

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/DictHospitalDeptDao.java

@ -33,6 +33,8 @@ public interface DictHospitalDeptDao extends PagingAndSortingRepository<DictHosp
    List<DictHospitalDeptDO> findByOrgCode(String orgCode);
    List<DictHospitalDeptDO> findByOrgCodeAndConsultDeptFlag(String orgCode,String consultDeptFlag);
    List<DictHospitalDeptDO> findByOrgCodeIn(String orgCode);
    List<DictHospitalDeptDO> findByOrgCodeAndCode(String orgCode,String code);

+ 7 - 2
business/base-service/src/main/java/com/yihu/jw/dict/service/HospitalDeptService.java

@ -5,6 +5,7 @@ import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.entity.base.area.BaseCityDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -17,7 +18,11 @@ public class HospitalDeptService extends BaseJpaService<BaseCityDO, BaseCityDao>
    private DictHospitalDeptDao dictHospitalDeptDao;
    // 基于机构编码,获取该机构下所有的科室列表
    public List<DictHospitalDeptDO> getHosDeptByCode(String orgCode) {
        return dictHospitalDeptDao.findByOrgCode(orgCode);
    public List<DictHospitalDeptDO> getHosDeptByCode(String orgCode,String consultDeptFlag) {
        if(StringUtils.isNotBlank(consultDeptFlag)){
            return dictHospitalDeptDao.findByOrgCodeAndConsultDeptFlag(orgCode,consultDeptFlag);
        }else{
            return dictHospitalDeptDao.findByOrgCode(orgCode);
        }
    }
}

+ 74 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -1082,6 +1082,80 @@ public class EntranceService {
        return hospitalDeptMappingDOS;
    }
    /**
     * 科室字典更新同步
     *
     * @return
     * @throws Exception
     */
//    @org.springframework.transaction.annotation.Transactional(rollbackFor = Exception.class)
    public Boolean updateMS02001(boolean demoFlag) throws Exception {
        String fid = MS02001;
        String resp = "";
        if (demoFlag) {
            resp = getJosnFileResullt(fid);
        } else {
            StringBuffer sbs = new StringBuffer();
            //AccessControl :用户、密码、服务id
            sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>" + mqUser + "</UserName><Password>" + mqPwd + "</Password></AccessControl>");
            //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
            sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>" + sourceSysCode + "</SourceSysCode><TargetSysCode>" + targetSysCode + "</TargetSysCode></MessageHeader>");
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>1000</endNum><Msg></Msg>");
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
        }
        JSONArray jsonArray = ConvertUtil.convertListEnvelopInBody(resp);
        List<DictHospitalDeptDO> hospitalDeptMappingDOS = new ArrayList<>();
        DictHospitalDeptDO hdmDo;
        String orgCode = "350211A1002";
        Map<String, String> orgCodeMap = new HashMap<>();
        //6总部7金榜8夏禾
        orgCodeMap.put("6", orgCode);
        orgCodeMap.put("7", "");
        orgCodeMap.put("8", "");
        List<DictHospitalDeptDO> oriDict = dictHospitalDeptDao.findByOrgCode(orgCode);
        for (Object object : jsonArray) {
            hdmDo = new DictHospitalDeptDO();
            net.sf.json.JSONObject jsonObjectBody = (net.sf.json.JSONObject) object;
            String deptCode = null == jsonObjectBody.get("Dept_Code") ? "" : jsonObjectBody.get("Dept_Code").toString();
            if(!checkDeptExist(oriDict,deptCode)){
                String deptTypeCode = null == jsonObjectBody.get("Dept_Type_Code") ? "" : jsonObjectBody.get("Dept_Type_Code").toString();
                if (StringUtils.isNotBlank(orgCodeMap.get(deptTypeCode))) {
                    hdmDo.setOrgCode(orgCode);
                    hdmDo.setCode(null == jsonObjectBody.get("Dept_Code") ? "" : jsonObjectBody.get("Dept_Code").toString());
                    hdmDo.setName(null == jsonObjectBody.get("Dept_Name") ? "" : jsonObjectBody.get("Dept_Name").toString());
                    hdmDo.setDeptTypeCode(deptTypeCode);
                    hdmDo.setFatherDeptCode(null == jsonObjectBody.get("Father_Dept_Code") ? "" : jsonObjectBody.get("Father_Dept_Code").toString());
                    hdmDo.setFatherDeptName(null == jsonObjectBody.get("Father_Dept_Name") ? "" : jsonObjectBody.get("Father_Dept_Name").toString());
                    hdmDo.setCreateTime(new Date());
                    hdmDo.setDeptType(null == jsonObjectBody.get("Dept_Type") ? "" : jsonObjectBody.get("Dept_Type").toString());
                    hdmDo.setDeptPosition(null == jsonObjectBody.get("Dept_Position") ? "" : jsonObjectBody.get("Dept_Position").toString());
                    hdmDo.setConsultDeptFlag("0");
                    hospitalDeptMappingDOS.add(hdmDo);
                }
            }
        }
        if(hospitalDeptMappingDOS!=null&&hospitalDeptMappingDOS.size()>0){
            logger.info("dept:"+hospitalDeptMappingDOS.size());
        }
        dictHospitalDeptDao.save(hospitalDeptMappingDOS);
        return true;
    }
    public Boolean checkDeptExist(List<DictHospitalDeptDO> oriDict,String code){
        for(DictHospitalDeptDO dept:oriDict){
            if(code.equals(dept.getCode())){
                return true;
            }
        }
        return false;
    }
    /**
     * 号别字典
     *

+ 13 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/DictHospitalDeptDO.java

@ -64,6 +64,11 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
     */
    private String deptPosition;
    /**
     * 是否会诊科室
     */
    private String consultDeptFlag;
	@Column(name = "org_code")
    public String getOrgCode() {
@ -137,4 +142,12 @@ public class DictHospitalDeptDO extends IntegerIdentityEntity {
    public void setDeptPosition(String deptPosition) {
        this.deptPosition = deptPosition;
    }
    public String getConsultDeptFlag() {
        return consultDeptFlag;
    }
    public void setConsultDeptFlag(String consultDeptFlag) {
        this.consultDeptFlag = consultDeptFlag;
    }
}

+ 2 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyInspectionDO.java

@ -53,6 +53,7 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    private String mzpg;//麻醉评估 0否,1有
    private String sfzg;//是否做过 0 否 和 1是
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date createTime;//,
@ -287,4 +288,5 @@ public class WlyyInspectionDO extends UuidIdentityEntity {
    public void setChargeAmount(String chargeAmount) {
        this.chargeAmount = chargeAmount;
    }
}

+ 7 - 0
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java

@ -10,6 +10,7 @@ import com.yihu.jw.hospital.prescription.service.entrance.RegisterService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyOutpatientVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.hospital.register.RegisterAmVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -188,6 +189,12 @@ public class MqSdkController extends EnvelopRestEndpoint {
        return success(obj);
    }
    @GetMapping(value = "/updateMS02001")
    @ApiOperation(value = "科室字典  ")
    public Envelop updateMS02001() throws Exception {
        return success(entranceService.updateMS02001(demoFlag));
    }
    @GetMapping(value = "/MS02013")
    @ApiOperation(value = "号别字典接口   ")
    public ListEnvelop MS02013(

+ 4 - 2
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java

@ -91,8 +91,10 @@ public class BaseInfoEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "根据机构编码获取部门列表信息", notes = "基础数据获取")
    public Envelop getDeptByOrgCode(
            @ApiParam(name = "orgCode", value = "机构编码")
            @RequestParam(value = "orgCode", required = false) String orgCode)  {
        List<DictHospitalDeptDO> res =  hospitalDeptService.getHosDeptByCode(orgCode);
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "consultDeptFlag", value = "是否是就诊科室,1为查询门诊,不传为全部")
            @RequestParam(value = "consultDeptFlag", required = false) String consultDeptFlag)  {
        List<DictHospitalDeptDO> res =  hospitalDeptService.getHosDeptByCode(orgCode,consultDeptFlag);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{