Ver código fonte

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

huangwenjie 5 anos atrás
pai
commit
71ffd9366d

+ 36 - 36
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -349,42 +349,42 @@ public class YkyyEntranceService {
                " AND c.BRID in  ("+brids+") order by c.BRID DESC";
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
//        HttpResponse response = HttpUtils.doGet(url,params);
//        String content = response.getContent();
//        logger.info("response:"+content);
//        JSONObject rs = JSON.parseObject(content);
//        Integer status = rs.getInteger("status");
//        Map<String,String> map = new HashedMap();
//        if(status!=null&&status == 200){
//            JSONArray array = rs.getJSONArray("detailModelList");
//            logger.info("detailModelList size:"+array.size());
//            if(array!=null&&array.size()>0) {
//                for(int i= 0;i<array.size();i++){
//                    JSONObject cfxx = array.getJSONObject(i);
//                    String brid = cfxx.getString("BRID");
//                    BasePatientDO patientDO = findPatientByMapingCode(brid);
//                    if(patientDO!=null){
//                        if(map.get(brid)==null){
//                            map.put(brid,brid);
//                            logger.info("1.创建门诊记录");
//                            //1.创建门诊记录
//                            WlyyOutpatientDO outpatientDO = saveOutPatient(cfxx,hospitalDO,patientDO,doctor,startDate);
//
//                            logger.info("2.生成处方记录");
//                            //2.生成处方记录
//                            savePrescription(outpatientDO,cfxx,startDate);
//
//                            logger.info("3.医生评价");
//                            //3.医生评价
//                            saveDoctorScore(outpatientDO);
//
//                        }
//                    }else{
//                        logger.info("brid:"+brid+" mapping not exist");
//                    }
//                }
//            }
//        }
        HttpResponse response = HttpUtils.doGet(url,params);
        String content = response.getContent();
        logger.info("response:"+content);
        JSONObject rs = JSON.parseObject(content);
        Integer status = rs.getInteger("status");
        Map<String,String> map = new HashedMap();
        if(status!=null&&status == 200){
            JSONArray array = rs.getJSONArray("detailModelList");
            logger.info("detailModelList size:"+array.size());
            if(array!=null&&array.size()>0) {
                for(int i= 0;i<array.size();i++){
                    JSONObject cfxx = array.getJSONObject(i);
                    String brid = cfxx.getString("BRID");
                    BasePatientDO patientDO = findPatientByMapingCode(brid);
                    if(patientDO!=null){
                        if(map.get(brid)==null){
                            map.put(brid,brid);
                            logger.info("1.创建门诊记录");
                            //1.创建门诊记录
                            WlyyOutpatientDO outpatientDO = saveOutPatient(cfxx,hospitalDO,patientDO,doctor,startDate);
                            logger.info("2.生成处方记录");
                            //2.生成处方记录
                            savePrescription(outpatientDO,cfxx,startDate);
                            logger.info("3.医生评价");
                            //3.医生评价
                            saveDoctorScore(outpatientDO);
                        }
                    }else{
                        logger.info("brid:"+brid+" mapping not exist");
                    }
                }
            }
        }
        return "ok";
    }

+ 13 - 14
business/base-service/src/main/java/com/yihu/jw/internet/service/ykyy/YkyyInternetService.java

@ -471,7 +471,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
            Boolean errorFlag = false;
            try{
                String[] dept = depToSubject(info.get("dept").toString());
                jb.put("id", orgCode + (String)info.get("id"));
                jb.put("id", orgCode +"_"+ (String)info.get("id"));
                jb.put("cd_org", orgCode);
                jb.put("cd_area", orgArea);
                jb.put("cd_orgSub", orgSub);
@ -565,7 +565,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                try {
                    String[] dept = depToSubject(ins.get("dept").toString());
                    String docInterId = achNsDoctorRecord((String)ins.get("doctorIdCard"));
                    jb.put("id",orgCode + (String)ins.get("id"));
                    jb.put("id",orgCode +"_"+ (String)ins.get("id"));
                    jb.put("cd_org", orgCode);
                    jb.put("cd_area", orgArea);
                    jb.put("cd_orgSub", orgSub);
@ -674,7 +674,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
//                String[] dept = depToSubject(info.get("dept_code").toString());
                jb.put("id",orgCode + (String)info.get("id"));
                jb.put("id",orgCode +"_"+ (String)info.get("id"));
                jb.put("id_doctor",interId == null ? "0":interId);
                jb.put("organ_code",orgCode);
                jb.put("organ_name", orgName);
@ -807,7 +807,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                // 获取监管平台唯一标识
                String visitDocCode = achNsDoctorRecord((String)info.get("docIdCard"));
                jb.put("id_online_ask", (String)info.get("id"));
                jb.put("id_online_ask", orgCode+"_"+(String)info.get("id"));
                jb.put("net_service_code", "1");
                jb.put("med_class_code", info.get("type"));
                jb.put("med_pop_code", "1");
@ -859,16 +859,15 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                }
            }
        }
/*
        String resInfo = "此次共上传:" + total + "条数据,其中成功 :" + success + "条,上传失败 : " + error + "条。格式错误:"+dataError+"条。";
*/
/*
        saveUpLog(upid,"8",DateUtil.stringToDate(startDate,"yyyy-MM-dd HH:mm:ss"),DateUtil.stringToDate(endDate,"yyyy-MM-dd HH:mm:ss"),success,error,dataError,resInfo);
*/
        return null;
    }
    // 9 网络诊疗服务信息 	micc.upNsOnlineMed  ---
    // 9 网络诊疗服务信息 	micc.upNsOnlineMed
    public String upNsOnlineMed(String startDate, String endDate,String keyId) throws Exception {
        String url = getUrl();
        String api = "micc.upNsOnlineMed";
@ -939,7 +938,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                String visitDocCode = achNsDoctorRecord((String)info.get("docIdCard"));
//                String visitDocCode = achNsDoctorRecord("350102198005012428");
                jb.put("id_online_med", orgCode + (String)info.get("id"));
                jb.put("id_online_med", orgCode +"_"+ (String)info.get("id"));
                jb.put("net_service_code", "4");
                jb.put("med_class_code", info.get("type")== ""?"1":info.get("type"));
                jb.put("org_name", orgName);
@ -1083,7 +1082,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                // 获取监管平台唯一标识
                String visitDocCode = achNsDoctorRecord(info.get("docIdcard").toString());
                jb.put("id_prescription", orgCode + (String)info.get("id"));
                jb.put("id_prescription", orgCode +"_"+ (String)info.get("id"));
                jb.put("pres_no",info.get("real_order")== null?"0":info.get("real_order"));
                jb.put("pres_class_code", "1");
                jb.put("pres_class_name", "西药");
@ -1212,7 +1211,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
            JSONObject jb = new JSONObject();
            Boolean errorFlag = false;
            try {
                jb.put("id_prescription_drug",orgCode + (String)info.get("id"));
                jb.put("id_prescription_drug",orgCode +"_"+ (String)info.get("id"));
                jb.put("pres_no", info.get("real_order") == null? "0": info.get("real_order"));
                jb.put("org_code",orgCode);
                jb.put("appr_drug_code", info.get("drug_no") == null? "0": info.get("drug_no"));
@ -1308,7 +1307,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
                    Boolean errorFlag = false;
                    try {
                        jb.put("id_online_img",getCode());
                        jb.put("id_onlne_base", orgCode+info.get("id"));
                        jb.put("id_onlne_base", orgCode+"_"+info.get("id"));
                        jb.put("online_type","2");
                        String base64 =getImg(img);
                        jb.put("img_path",base64);
@ -1357,7 +1356,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
        JSONObject jb = new JSONObject();
        Boolean errorFlag = false;
        try {
            jb.put("id_organ_protocol",orgCode+upid);
            jb.put("id_organ_protocol",orgCode+"_"+upid);
            jb.put("organ_code", orgCode);
            jb.put("organ_name",orgName);
            jb.put("protocol_type", "1");

+ 5 - 4
common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java

@ -7,6 +7,7 @@ import javax.persistence.*;
import java.io.Serializable;
/**
 * 由于ORACEL 与mysql Id策略不一样
 * Integer类型的主键基类,需要根据不同环境打包
 * Created by progr1mmer on 2018/8/13.
 */
@ -18,13 +19,13 @@ public abstract class IntegerIdentityEntity implements Serializable {
    @Id
//==========mysql 环境 id策略======================================================
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "identity")
    @Column(name = "id", unique = true, nullable = false)
//    @GeneratedValue(generator = "generator")
//    @GenericGenerator(name = "generator", strategy = "identity")
//    @Column(name = "id", unique = true, nullable = false)
//==========mysql 环境 id策略 end======================================================
//==========Oracle 环境id策略 =========================================================
//    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
//==========Oracle 环境id策略 =========================================================
    public Integer getId() {
        return id;

+ 37 - 6
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -488,6 +488,7 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
    public ResponseEntity<Oauth2Envelop<Captcha>> sendYKCaptcha(@RequestParam Map<String, String> parameters) throws Exception {
        String client_id = parameters.get("client_id");
        String username = parameters.get("username");
        String type = parameters.get("type");
        if (StringUtils.isEmpty(client_id)) {
            throw new InvalidRequestException("client_id");
        }
@ -500,7 +501,14 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
        }
        //发送短信获取验证码
        String captcha = wlyyRedisVerifyCodeService.getCodeNumber();
        ResultMsg result=  ykyySMSService.ykyySendSMS(username,"您好,你的手机登录短信验证码是:"+captcha+",5分钟内有效。");
        ResultMsg result= null;
        if(StringUtils.isEmpty(type)){
            result =  ykyySMSService.ykyySendSMS(username,"您好,您的手机登录短信验证码是:"+captcha+",5分钟内有效。");
        }else if("1".equals(type)){
            result = ykyySMSService.ykyySendSMS(username,"您好,您的手机登录短信验证码是:"+captcha+",5分钟内有效。");
        }else if("2".equals(type)){
            result = ykyySMSService.ykyySendSMS(username,"您好,您正在进行找回密码操作,您的短信验证码是:"+captcha+",请勿将验证码告诉他人,5分钟内有效。");
        }
        if (result.isSuccess()) {
@ -1217,21 +1225,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
    @RequestMapping(value = "/oauth/registerPatientAndLogin", method = RequestMethod.POST)
    public ObjEnvelop registerPatientAndLogin(String name, String mobile, String idcard, String ssc, String pw,String client_id,String login_type)throws Exception{
    public ObjEnvelop registerPatientAndLogin(String name, String mobile, String idcard, String ssc, String pw,String client_id,String login_type,String captcha,String openid,String wxId)throws Exception{
        if (StringUtils.isEmpty(client_id)) {
            throw new InvalidRequestException("client_id is null");
        }
        if (wlyyRedisVerifyCodeService.verification(client_id, mobile, captcha)) {
            //验证码正确
        } else {
            return ObjEnvelop.getError("验证码错误!");
        }
        try {
            Map<String,Object> rs = registerService.registerPatient(name,mobile,idcard,ssc,pw);
            Map<String,Object> rs = registerService.registerPatient(name,mobile,idcard,ssc,pw,openid,wxId);
            String code = rs.get("code").toString();
            if("1".equals(code)){
            if(!"1".equals(code)){
                ObjEnvelop objEnvelop = new ObjEnvelop();
                objEnvelop.setObj(rs);
                objEnvelop.setStatus(-1);
                objEnvelop.setMessage("用户已存在!");
                objEnvelop.setMessage(rs.get("mes")+"");
                return objEnvelop;
            }
@ -1274,9 +1288,26 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
            return ObjEnvelop.getSuccess("success",wlyyUserSimple);
        }catch (Exception e){
            logger.error(e);
            e.printStackTrace();
        }
        return ObjEnvelop.getError("登录失败!");
    }
    @RequestMapping(value = "/oauth/findPatientPw", method = RequestMethod.POST)
    public Envelop findPatientPw(String mobile,String client_id,String login_type,String captcha,String pw)throws Exception {
        if (wlyyRedisVerifyCodeService.verification(client_id, mobile, captcha)) {
            //验证码正确
        } else {
            return ObjEnvelop.getError("验证码错误!");
        }
        String rs = registerService.updatePatientPw(pw,mobile);
        if("ok".equals(rs)){
            return ObjEnvelop.getSuccess("修改成功!");
        }
        return ObjEnvelop.getError("手机号未注册!");
    }
}

+ 81 - 43
server/svr-authentication/src/main/java/com/yihu/jw/security/service/RegisterService.java

@ -1,13 +1,15 @@
package com.yihu.jw.security.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.security.dao.patient.BasePatientDao;
import com.yihu.jw.security.dao.patient.BasePatientMedicareCardDao;
import com.yihu.jw.security.dao.patient.BasePatientWechatDao;
import com.yihu.jw.security.utils.IdCardUtil;
import com.yihu.utils.security.MD5;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -30,52 +32,88 @@ public class RegisterService {
    @Autowired
    private BasePatientMedicareCardDao basePatientMedicareCardDao;
    public Map<String,Object> registerPatient(String name, String mobile, String idcard, String ssc, String pw)throws Exception{
    @Autowired
    private BasePatientWechatDao basePatientWechatDao;
        Map<String,Object> rs = new HashedMap();
    public Map<String,Object> registerPatient(String name, String mobile, String idcard, String ssc, String pw,String openid,String wxId)throws Exception{
        BasePatientDO p1 = basePatientDao.findByIdcardAndDel(idcard,"1");
        if(p1!=null){
            rs.put("code","-1");
            rs.put("mes","idcard isExist");
        Map<String,Object> rs = new HashedMap();
        try{
            BasePatientDO p1 = basePatientDao.findByIdcardAndDel(idcard,"1");
            if(p1!=null){
                rs.put("code","-1");
                rs.put("mes","身份证已经存在");
                return rs;
            }
            List<BasePatientDO> p2 = basePatientDao.findByMobileAndDel(mobile,"1");
            if(p2!=null&&p2.size()>0){
                rs.put("code","-2");
                rs.put("mes","手机号已经存在");
                return rs;
            }
            BasePatientDO patient = new BasePatientDO();
            String salt = UUID.randomUUID().toString().substring(0,5);
            patient.setIdcard(idcard);
            patient.setName(name);
            patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            patient.setSalt(salt);
            patient.setMobile(mobile);
            patient.setDel("1");
            patient.setEnabled(1);
            patient.setLocked(0);
            patient.setCreateTime(new Date());
            patient.setUpdateTime(new Date());
            patient.setBirthday(IdCardUtil.getBirthdayForIdcard(idcard));
            patient.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)));
            BasePatientDO temp = basePatientDao.save(patient);
            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();
            medicareCardDO.setDel("1");
            medicareCardDO.setType(PatientMedicareCardDO.Type.MedicareCard.getType());
            medicareCardDO.setCode(ssc);
            medicareCardDO.setPatientCode(temp.getId());
            basePatientMedicareCardDao.save(medicareCardDO);
            //保存微信信息
            if(StringUtils.isNotBlank(openid)&&StringUtils.isNotBlank(wxId)){
                BasePatientWechatDo wechatDo = new BasePatientWechatDo();
                wechatDo.setWechatId(wxId);
                wechatDo.setOpenid(openid);
                wechatDo.setPatientId(temp.getId());
                basePatientWechatDao.save(wechatDo);
            }
            rs.put("code","1");
            rs.put("mes","ok");
            rs.put("patient",temp);
            return rs;
        }catch (Exception e){
            e.printStackTrace();
        }
        rs.put("code","-3");
        rs.put("mes","保存用户信息失败");
        return rs;
    }
        List<BasePatientDO> p2 = basePatientDao.findByMobileAndDel(mobile,"1");
        if(p2!=null&&p2.size()>0){
            rs.put("code","-2");
            rs.put("mes","mobile isExist");
    public String updatePatientPw(String pw,String mobile){
        List<BasePatientDO> list = basePatientDao.findByMobileAndDel(mobile,"1");
        if(list!=null&&list.size()>0){
            for(BasePatientDO patient:list){
                String salt = UUID.randomUUID().toString().substring(0,5);
                patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
                patient.setSalt(salt);
            }
            basePatientDao.save(list);
        }else{
            return "-1";
        }
        BasePatientDO patient = new BasePatientDO();
        String salt = UUID.randomUUID().toString().substring(0,5);
        patient.setIdcard(idcard);
        patient.setName(name);
        patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
        patient.setSalt(salt);
        patient.setMobile(mobile);
        patient.setDel("1");
        patient.setEnabled(1);
        patient.setLocked(0);
        patient.setCreateTime(new Date());
        patient.setUpdateTime(new Date());
        patient.setBirthday(IdCardUtil.getBirthdayForIdcard(idcard));
        patient.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)));
        BasePatientDO temp = basePatientDao.save(patient);
        PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();
        medicareCardDO.setDel("1");
        medicareCardDO.setType(PatientMedicareCardDO.Type.MedicareCard.getType());
        medicareCardDO.setCode(ssc);
        medicareCardDO.setPatientCode(temp.getId());
        basePatientMedicareCardDao.save(medicareCardDO);
        rs.put("code","1");
        rs.put("mes","ok");
        rs.put("patient",temp);
        return rs;
        return "ok";
    }
}

Diferenças do arquivo suprimidas por serem muito extensas
+ 45 - 45
server/svr-authentication/src/main/java/com/yihu/jw/security/service/TEST.java


+ 3 - 3
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/service/rehabilitation/RehabilitationManageService.java

@ -806,8 +806,8 @@ public class RehabilitationManageService {
        //完成项目=全部的服务项目-未完成的服务项目
        List<Map<String,Object>> serviceDoctorList = new ArrayList<>();
        //全科医生和健管师要是同一个人,就显示全科医生
        if(!generalDoctor.equals(healthDoctor)){
  /*      if(!generalDoctor.equals(healthDoctor)){
*/
            if(StringUtils.isNotEmpty(healthDoctor)){
                Map<String,Object> healthDoctorMap =  new HashMap<>();
@ -821,7 +821,7 @@ public class RehabilitationManageService {
                healthDoctorMap.put("serviceCount",healthServiceCount);
                serviceDoctorList.add(healthDoctorMap);
            }
        }
/*        }*/
        if(StringUtils.isNotEmpty(generalDoctor)){
            Map<String,Object> generalDoctorMap =  new HashMap<>();