瀏覽代碼

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

wangzhinan 4 年之前
父節點
當前提交
8af7f57a4d

+ 29 - 22
business/base-service/src/main/java/com/yihu/jw/hospital/family/service/WlyyFamilyMemberService.java

@ -116,10 +116,13 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
                    String familySex = IdCardUtil.getSexForIdcard(idCard);
                    if (familySex.equalsIgnoreCase("男")){
                        familySex= "1";
                        sex =1 ;
                    }else if (familySex.equalsIgnoreCase("女")){
                        familySex = "0";
                        sex = 2 ;
                    }else {
                        familySex = "2";
                        sex = 3;
                    }
                    String familyAge = String.valueOf(IdCardUtil.getAgeForIdcard(idCard));
                    BasePatientMemberDictDO basePatientMemberDictDO1 = basePatientMemberDictDao.findOne(dictId);
@ -217,25 +220,27 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
        }else {
            com.alibaba.fastjson.JSONArray jsonArray1 = xzzxEntranceService.selectPateintCardByIdCard(idCard);
            if (null!=jsonArray1&&jsonArray1.size()>0){
                for (int i=0;i<jsonArray1.size();i++){
                    JSONObject jsonObject = jsonArray1.getJSONObject(i);
                    String xzcardType = jsonObject.getString("CARD_TYPE");
                    WlyyHospitalSysDictDO hospitalSysDictDO = wlyyHospitalSysDictDao.findByHospitalAndDictCode("350211A5010",jsonObject.getString("CARD_TYPE"));
                    if (hospitalSysDictDO!=null){
                        jsonObject.put("CARD_TYPE",hospitalSysDictDO.getDictValue());
                        jsonObject.put("CARD_TYPE_HIS",cardType);
                    }else {
                        jsonObject.put("CARD_TYPE",null);
                        jsonObject.put("CARD_TYPE_HIS",cardType);
                    }
                String familySex = IdCardUtil.getSexForIdcard(idCard);
                if (familySex.equalsIgnoreCase("男")){
                    sex =1 ;
                }else if (familySex.equalsIgnoreCase("女")){
                    sex = 2 ;
                }
            }else {
                mixEnvelop.setStatus(408);
                mixEnvelop.setMessage("您所添加的家属无就诊记录,无法添加");
                return  mixEnvelop;
            }
        }
        basePatientDO.setSex(sex);
        SimpleDateFormat sf3 = new SimpleDateFormat("yyyy-MM-dd");
        Date saveBirth1 = sf3.parse(birth);
        System.out.println("====="+saveBirth1);
        basePatientDO.setBirthday(saveBirth1);
        if ("xm_xzzx_wx".equalsIgnoreCase(wxId)){
            basePatientDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
        }else {
            SimpleDateFormat sf3 = new SimpleDateFormat("yyyy-MM-dd");
            Date saveBirth1 = sf3.parse(birth);
            System.out.println("====="+saveBirth1);
            basePatientDO.setBirthday(saveBirth1);
        }
        result.setFamilyRelation(dictId);
        result.setFamilyRelationName(dictName);
        result.setYktFamilyId(yktFamilyId);
@ -258,13 +263,15 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
        }
            result.setFamilyMember(patientNewId);
            wlyyPatientFamilyMemberDao.save(result);
            patientMappingDO.setIdcard(idCard);
            patientMappingDO.setSource("1");
            patientMappingDO.setPatientName(familyName);
            patientMappingDO.setMappingCode(familyId);
            patientMappingDO.setPatient(patientNewId);
            patientMappingDO.setCreateTime(new Date());
            patientMappingDao.save(patientMappingDO);
            if (!"xm_xzzx_wx".equalsIgnoreCase(wxId)){
                patientMappingDO.setIdcard(idCard);
                patientMappingDO.setSource("1");
                patientMappingDO.setPatientName(familyName);
                patientMappingDO.setMappingCode(familyId);
                patientMappingDO.setPatient(patientNewId);
                patientMappingDO.setCreateTime(new Date());
                patientMappingDao.save(patientMappingDO);
            }
            resultMap.put("patientId",patientId);
            resultMap.put("familyMember",patientNewId);
            resultMap.put("idCard",idCard);

+ 83 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/httplog/service/WlyyHttpLogService.java

@ -4,16 +4,31 @@ import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.sound.sampled.Mixer;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class WlyyHttpLogService  extends BaseJpaService<WlyyHttpLogDO, WlyyHttpLogDao> {
    @Autowired
    private WlyyHttpLogDao wlyyHttpLogDao;
    @Value("${wechat.id}")
    private String wxId;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Value("${wechat.flag}")
    private boolean flag;
    //保存http日志接口
    public  void  saveHttpLog(String code,String name,String patient,String doctor,String request,String response,String status ){
        WlyyHttpLogDO wlyyHttpLogDO = new WlyyHttpLogDO();
@ -27,4 +42,72 @@ public class WlyyHttpLogService  extends BaseJpaService<WlyyHttpLogDO, WlyyHttpL
        wlyyHttpLogDO.setCreateTime(new Date());
        wlyyHttpLogDao.save(wlyyHttpLogDO);
    }
    public MixEnvelop findLog(String startTime, String endTime, String faceName, String patient, String doctor, Integer page, Integer pageSize){
        MixEnvelop mixEnvelop = new MixEnvelop();
        String sql = "select t.id as \"id\"," +
                "t.code as \"code\"," +
                "t.name as \"name\"," +
                "t.patient as \"patient\"," +
                "t.doctor as \"doctor\"," +
                "t.request as \"request\"," +
                "t.response as \"response\"," +
                "t.status as \"status\",";
        if("xm_ykyy_wx".equals(wxId)){
            if (flag){
                sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
            }else {
                sql+="  to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') as \"createTime\",";
            }
        }else{
            sql+="date_format(t.create_time, '%Y-%m-%d %H:%i:%s')  as \"createTime\",";
        }
        sql+=" a.name as \"patientName\"," +
                "b.name as \"doctorName\"" +
                " from wlyy_http_log t left join base_patient a on t.patient = a.id " +
                " left join base_doctor b on t.doctor = b.id where 1=1 ";
        if (StringUtils.isNotBlank(endTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+=" and t.create_time > '"+startTime+"'";
                }else {
                    sql+=" and t.create_time > to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
                }
            }else{
                sql+=" and t.create_time > '"+startTime+"'";
            }
        }
        if (StringUtils.isNotBlank(endTime)){
            if("xm_ykyy_wx".equals(wxId)){
                if (flag){
                    sql+="  and t.create_time<'" + endTime + "'";
                }else {
                    sql+="  and t.create_time< to_date('" + endTime + "','yyyy-mm-dd hh24:mi:ss')";
                }
            }else{
                sql+="  and t.create_time<'" + endTime + "'";
            }
        }
        if (StringUtils.isNotBlank(faceName)){
            sql+=" and t.name like '%"+faceName+"%'";
        }
        if (StringUtils.isNotBlank(patient)){
            sql+=" and a.name like '%"+patient+"%'";
        }
        if (StringUtils.isNotBlank(doctor)){
            sql+=" and b.name like '%"+doctor+"%'";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,pageSize);
        String sqlcount = "SELECT COUNT(1) AS \"total\" FROM ("+sql+") q";
        Long count = 0L;
        List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount);
        if(total!=null){
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(total.get(0).get("total"));
        }
        mixEnvelop.setTotalCount(count.intValue());
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
}

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -6577,7 +6577,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        WlyyOutpatientDO outpatientDO = objectMapper.readValue(outpatientJson, WlyyOutpatientDO.class);
        WlyyOutpatientDO one = outpatientDao.findOne(outpatientDO.getId());
        if (StringUtils.isNotBlank(one.getDoctor())&&(one.getStatus().equalsIgnoreCase("1")||one.getStatus().equalsIgnoreCase("2"))) {
        if (StringUtils.isNotBlank(one.getDoctor())) {
            throw new RuntimeException("已有医生接诊");
        }
        one.setDoctor(outpatientDO.getDoctor());

+ 12 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyFamilyMemberController.java

@ -8,6 +8,7 @@ import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
import com.yihu.jw.hospital.family.service.PatientMemberDictService;
import com.yihu.jw.hospital.family.service.WlyyFamilyMemberService;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.XzzxEntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
@ -16,6 +17,7 @@ import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.sms.service.YkyySMSService;
import com.yihu.jw.sms.service.ZhongShanSMSService;
import com.yihu.jw.sms.util.ykyy.vo.ResultMsg;
import com.yihu.jw.util.common.IdCardUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -55,6 +57,8 @@ public class WlyyFamilyMemberController extends EnvelopRestEndpoint {
    private ZhongShanSMSService zhongShanSMSService;
    @Autowired
    private YkyyEntranceService ykyyEntranceService;
    @Autowired
    private XzzxEntranceService xzzxEntranceService;
    @Value("${wechat.id}")
    private String wxId;
@ -123,9 +127,14 @@ public class WlyyFamilyMemberController extends EnvelopRestEndpoint {
            }
        }else if("xm_xzzx_wx".equalsIgnoreCase(wxId)){
            mixEnvelop.setStatus(408);
            mixEnvelop.setMessage("心脏中心暂未开放");
            return mixEnvelop;
            com.alibaba.fastjson.JSONArray jsonArray1 = xzzxEntranceService.selectPateintCardByIdCard(idCard);
            if (null!=jsonArray1&&jsonArray1.size()>0){
            }else {
                mixEnvelop.setStatus(408);
                mixEnvelop.setMessage("您所添加的家属无就诊记录,无法添加");
                return  mixEnvelop;
            }
        }
        if (StringUtils.isEmpty(client_id)) {

+ 20 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -1071,5 +1071,24 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
        wlyyHttpLogService.saveHttpLog(code,name,patient,doctor,request,respone,status);
        return success("添加成功");
    }
    @PostMapping(value = "/findHttpLog")
    @ApiOperation(value = "查询接口操作日志")
    public MixEnvelop findHttpLog(@ApiParam(name = "startTime", value = "startTime")
                                    @RequestParam(value = "startTime", required = false) String startTime,
                                    @ApiParam(name = "endTime", value = "endTime")
                                    @RequestParam(value = "endTime", required = false) String endTime,
                               @ApiParam(name = "interfaceName", value = "interfaceName")
                                   @RequestParam(value = "interfaceName", required = false) String interfaceName,
                                    @ApiParam(name = "patient", value = "patient")
                                    @RequestParam(value = "patient", required = false) String patient,
                                    @ApiParam(name = "doctor", value = "doctor")
                                    @RequestParam(value = "doctor", required = false) String doctor,
                               @ApiParam(name = "page", value = "page")
                                   @RequestParam(value = "page", required = false) Integer page,
                               @ApiParam(name = "pageSize", value = "pageSize")
                                   @RequestParam(value = "pageSize", required = false) Integer pageSize
    ) {
        return wlyyHttpLogService.findLog(startTime,endTime,interfaceName,patient,doctor,page,pageSize);
    }
}