瀏覽代碼

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

wangjun 4 年之前
父節點
當前提交
0f87cbbb37

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

@ -497,9 +497,6 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
                for (Map<String,Object> map:list){
                    if (map.get("birthday")!=null){
                        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd");
                        if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
                            map.put("birthday",sp.parse(map.get("birthday").toString()));
                        }
                        int age = getAgeByBirth(sp.parse(map.get("birthday").toString()));
                        map.put("age",age);
                    }

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

@ -643,6 +643,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            vo.setWlyyPrescriptionEmrDO(listEmr.get(0));
                        }
                    }
                }else {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    }
                }
                //支付信息
                BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(vo.getId());

+ 5 - 5
business/es-service/src/main/java/com/yihu/jw/es/util/ElasticsearchUtil.java

@ -352,7 +352,7 @@ public class ElasticsearchUtil {
//        sql.append(" quotaCode='" + index + "'  ");
        sql.append(" quotaCode in(" + index + ")  ");
        sql.append(" and timeLevel='" + timeLevel + "'  ");
//        sql.append(" and areaLevel='6'");
        sql.append(" and areaLevel='6'");
        if (StringUtils.isNotEmpty(startDate)) {
            sql.append(" and quotaDate>='" + startDate + "'");
        }
@ -741,7 +741,7 @@ public class ElasticsearchUtil {
            low_level = lowLevel;
        }
        if (SaveModel.doctorLevel.equals(low_level)) {
            sql.append("select doctor asdoctor,doctorName asdoctorName,slaveKey1 asslaveKey1,slaveKey1Name asslaveKey1Name,slaveKey2 asslaveKey2,slaveKey2Name asslaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
            sql.append("select doctor as doctor,doctorName as doctorName,slaveKey1 as slaveKey1,slaveKey1Name as slaveKey1Name,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
            groupBy.append("  group by doctor,doctorName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
@ -777,7 +777,7 @@ public class ElasticsearchUtil {
                groupBy.append(",slaveKey2,slaveKey2Name");
            }
        } else if (SaveModel.cityLevel.equals(low_level)) {
            sql.append("select city as city,cityName as cityName,slaveKey1 as slaveKey1,slaveKey1Name as slaveKey1Name,slaveKey2 as result1,slaveKey2Name as result1,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
            sql.append("select city as city,cityName as cityName,slaveKey1 as slaveKey1,slaveKey1Name as slaveKey1Name,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
            groupBy.append("  group by city,cityName");
            if (!org.springframework.util.StringUtils.isEmpty(slaveKey1) || commonParams.equals(slaveKey1)) {
                groupBy.append(",slaveKey1,slaveKey1Name");
@ -803,7 +803,7 @@ public class ElasticsearchUtil {
        }
        sql.append(" quotaCode in(" + index + ")  ");
        sql.append(" and timeLevel='" + timeLevel + "'  ");
//        sql.append(" and areaLevel='6'");
        sql.append(" and areaLevel='6'");
        if (StringUtils.isNotEmpty(startDate)) {
            sql.append(" and quotaDate>='" + startDate + "'");
        }
@ -1831,7 +1831,7 @@ public class ElasticsearchUtil {
//        sql.append(" quotaCode='" + index + "'  ");
        sql.append(" quotaCode in(" + index + ")  ");
        sql.append(" and timeLevel='" + timeLevel + "'  ");
//        sql.append(" and areaLevel='5'");
        sql.append(" and areaLevel='6'");
        if (StringUtils.isNotEmpty(startDate)) {
            sql.append(" and quotaDate>='" + startDate + "'");
        }

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/RehabilitationDetailDO.java

@ -37,7 +37,7 @@ public class RehabilitationDetailDO extends UuidIdentityEntityWithOperator imple
    @Column(name = "execute_time", nullable = true, length = 0,updatable = false)
    private Date executeTime;//服务项目执行时间
    @Column(name = "status")
    private Integer status;//状态(0未完成,1已完成,2已预约)
    private Integer status;//状态(0未完成,1已完成,2已预约,3待录入)
    @Column(name = "expense")
    private Integer expense;
    @Column(name = "service_qr_code")

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/specialist/rehabilitation/RehabilitationOperateRecordsDO.java

@ -25,7 +25,7 @@ public class RehabilitationOperateRecordsDO extends UuidIdentityEntityWithOperat
    private String relationRecordImg;//相关记录图片地址,json格式
    private Date reserveTime;//服务预定完成时间
    private Date completeTime;//服务完成时间
    private Integer status;//是否确认完成(0、未确认,1、已确认)
    private Integer status;//是否确认完成(0、未确认,1、已确认,3待录入)
    private String node;//服务完成笔记
    private String relationCode;//业务id
    private String flag;//标记(1随访2临时随访)

+ 22 - 0
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/controller/doctor/DoctorController.java

@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.door.controller.BaseController;
import com.yihu.jw.door.dao.DoorServiceOrderDao;
import com.yihu.jw.door.service.DoorOrderService;
import com.yihu.jw.door.service.common.PatientService;
import com.yihu.jw.door.service.common.WlyyMessageService;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
@ -44,6 +46,26 @@ public class DoctorController extends BaseController {
    private BaseOrgDao orgDao;
    @Autowired
    private WlyyMessageService messageService;
    @Autowired
    private DoorOrderService doorOrderService;
    @Autowired
    DoorServiceOrderDao doorServiceOrderDao;
    @GetMapping(value = "/appointmentRevisitOnDoor")
    @ApiOperation("appointmentRevisitOnDoor")
    public String patientList(String orderId,String doctorId
    ) {
        try {
            doorOrderService.appointmentRevisitOnDoor(doorServiceOrderDao.findOne(orderId),doctorId);
            return write(200, "查询成功", "data", "");
        } catch (Exception e) {
            e.printStackTrace();
            return error(-1, "查询失败");
        }
    }
    @RequestMapping(value = "message/getWaitingMessages",method = RequestMethod.GET)
    @ApiOperation("获取服务工单待接单列表")

+ 7 - 3
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorOrderService.java

@ -28,6 +28,8 @@ import com.yihu.jw.util.http.HttpClientUtil;
import jxl.Workbook;
import jxl.write.*;
import org.apache.commons.lang.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
@ -435,13 +437,15 @@ public class DoorOrderService {
        String url = hospitalUrl + "/open/noLogin/appointmentRevisitOnDoor";
        JSONObject json = new JSONObject();
        json.put("outpatientJson", outpatientJson);
        String res = httpClientUtil.postBody(url,json);
        JSONObject resJson = JSON.parseObject(res);
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("outpatientJson", outpatientJson.toJSONString()));
        String response = httpClientUtil.post(url,params ,"UTF-8");
        JSONObject resJson = JSON.parseObject(response);
        if( 200 == resJson.getInteger("status")){
            orderDO.setOutpatientId(resJson.getJSONObject("obj").getString("id"));
            doorServiceOrderDao.save(orderDO);
        }
        System.out.println("appointmentRevisitOnDoor res:"+res);
        System.out.println("appointmentRevisitOnDoor res:"+response);
    }
    /**

+ 1 - 1
svr/svr-door-serivce/src/main/resources/application.yml

@ -331,7 +331,7 @@ server:
base:
  url: http://127.0.0.1:10020/svr-base/
  hospitalUrl: http://127.0.0.1:10022/
  hospitalUrl: http://10.9.1.247:10022/
wechat:
  appId: wxad04e9c4c5255acf

+ 21 - 2
svr/svr-wlyy-specialist/src/main/java/com/yihu/jw/controller/rehabilitation/RehabilitationManageController.java

@ -1,6 +1,7 @@
package com.yihu.jw.controller.rehabilitation;
import com.yihu.jw.dao.rehabilitation.RehabilitationOperateRecordsDao;
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationOperateRecordsDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
@ -15,6 +16,7 @@ import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
@ -222,6 +224,7 @@ public class RehabilitationManageController {
        }
    }
    @GetMapping(value = SpecialistMapping.rehabilitation.patientRehabilitationDetail)
    @ApiOperation(value = "康复管理-居民详情页")
    public Envelop patientRehabilitationDetail(@ApiParam(name = "patientCode", value = "居民code", required = true)
@ -358,9 +361,10 @@ public class RehabilitationManageController {
    public ObjEnvelop updateNoteAndImageRehabilitationOperate(@ApiParam(name = "planDetailId", value = "服务项目id", required = true)@RequestParam(value = "planDetailId", required = true)String planDetailId,
                                                           @ApiParam(name = "node", value = "服务完成笔记", required = true)@RequestParam(value = "node", required = false)String node,
                                                           @ApiParam(name = "image", value = "相关记录图片,json格式", required = true)@RequestParam(value = "image", required = false)String image,
                                                              @ApiParam(name = "relationCode", value = "业务code", required = true)@RequestParam(value = "relationCode", required = false)String relationCode){
                                                           @ApiParam(name = "relationCode", value = "业务code", required = true)@RequestParam(value = "relationCode", required = false)String relationCode,
                                                           @ApiParam(name = "status", value = "是否确认完成 0未确认 1确认", required = true)@RequestParam(value = "status", required = false)String status){
        try {
            Map<String,Object> map = rehabilitationManageService.updateNodeAndRelationRecordImg(node,image,planDetailId,relationCode);
            Map<String,Object> map = rehabilitationManageService.updateNodeAndRelationRecordImg(node,image,status,planDetailId,relationCode);
            return ObjEnvelop.getSuccess(SpecialistMapping.api_success,map);
        }catch (Exception e){
@ -370,6 +374,21 @@ public class RehabilitationManageController {
        }
    }
    @PostMapping(value = "planDetailAfterCall")
    @ApiOperation(value = "康复管理-电话关怀拨打后生成记录对应怪坏记录")
    public MixEnvelop<RehabilitationOperateRecordsDO,RehabilitationOperateRecordsDO> planDetailAfterCall(
            @ApiParam(name = "dataJson", value = "实体json",defaultValue = "{\"rehabilitationDetailId\":\"808080eb764ba46b017669712c640012\",\"doctorCode\":\"7e06886207e843948ae65d8f91d6ca97\",\"doctorName\":\"兰冠勇\"}")
            @RequestParam(value = "dataJson", required = true)String dataJson){
        try {
            return MixEnvelop.getSuccess(SpecialistMapping.api_success,rehabilitationManageService.planDetailAfterCall(dataJson));
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
    @PostMapping(value = SpecialistMapping.rehabilitation.updatePlanDetailStatusById)
    @ApiOperation(value = "康复管理-更新康复计划项目状态")
    public Envelop updatePlanDetailStatusById(@ApiParam(name = "planDetailId", value = "服务项目id", required = true)

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

@ -1,5 +1,7 @@
package com.yihu.jw.service.rehabilitation;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dao.SpecialistPatientRelationDao;
import com.yihu.jw.dao.rehabilitation.*;
import com.yihu.jw.entity.specialist.SpecialistPatientRelationDO;
@ -793,6 +795,7 @@ public class RehabilitationManageService {
            case 0:{statusName="未完成";break;}
            case 1:{statusName="已完成";break;}
            case 2:{statusName="已预约";break;}
            case 3:{statusName="待录入";break;}
        }
        resultMap.put("statusName",statusName);//状态名称
        resultMap.put("status",status);//状态
@ -1170,6 +1173,7 @@ public class RehabilitationManageService {
        return Envelop.getError("更新失败!");
    }
    /**
     * app端居民详情服务医生列表
     * @param patientCode
@ -1340,17 +1344,22 @@ public class RehabilitationManageService {
     * @param planDeatilId
     * @return
     */
    public Map<String,Object> updateNodeAndRelationRecordImg(String node,String image,String planDeatilId,String relationCode)throws Exception{
    public Map<String,Object> updateNodeAndRelationRecordImg(String node,String image,String status,String planDeatilId,String relationCode)throws Exception{
        Map<String,Object> resultMap = new HashedMap();
        try{
            RehabilitationDetailDO detailDO = rehabilitationDetailDao.findById(planDeatilId);
            detailDO.setStatus(1);
            if (StringUtils.isNoneBlank(status)){
                detailDO.setStatus(Integer.parseInt(status));
            }
            detailDO.setUpdateTime(new Date());
            if (StringUtils.isNoneBlank(relationCode)){
                detailDO.setRelationCode(relationCode);
            }
            rehabilitationDetailDao.save(detailDO);
            int j = rehabilitationOperateRecordsDao.updateNodeAndRelationRecordImg(node,image,planDeatilId);
            if (StringUtils.isNoneBlank(image)&&StringUtils.isNoneBlank(node)){
                int j = rehabilitationOperateRecordsDao.updateNodeAndRelationRecordImg(node,image,planDeatilId);
            }
            //如果整个计划的服务项都完成了,整个计划也完成了
            String allSql ="SELECT * FROM wlyy_rehabilitation_plan_detail where plan_id = (SELECT plan_id FROM `wlyy_rehabilitation_plan_detail` WHERE id='"+planDeatilId+"')";
            List<RehabilitationDetailDO> rehabilitationDetailDOList = jdbcTemplate.query(allSql,new BeanPropertyRowMapper<>(RehabilitationDetailDO.class));
@ -1393,7 +1402,43 @@ public class RehabilitationManageService {
        return resultMap;
    }
    /**
     * 电话关怀拨打电话后生成对应记录
     * @param jsonStr
     */
    public RehabilitationOperateRecordsDO planDetailAfterCall(String jsonStr){
        JSONObject jsonObject = JSON.parseObject(jsonStr);
        /*{
            "rehabilitationDetailId":"808080eb764ba46b017669712c640012",
                "doctorCode":"7e06886207e843948ae65d8f91d6ca97",
                "doctorName":"兰冠勇"
        }*/
        RehabilitationDetailDO rehabilitationDetailDO = rehabilitationDetailDao.findById(jsonObject.getString("rehabilitationDetailId"));
        PatientRehabilitationPlanDO patientRehabilitationPlanDO = patientRehabilitationPlanDao.findById(rehabilitationDetailDO.getPlanId());
        RehabilitationOperateRecordsDO rehabilitationOperateRecordsDO = new RehabilitationOperateRecordsDO();
        rehabilitationOperateRecordsDO.setId(getCode());
        if (rehabilitationDetailDO.getExecuteTime()!=null){
            rehabilitationOperateRecordsDO.setReserveTime(rehabilitationDetailDO.getExecuteTime());
        }
        rehabilitationOperateRecordsDO.setStatus(3);
        rehabilitationOperateRecordsDO.setRehabilitationDetailId(rehabilitationDetailDO.getId());
        rehabilitationOperateRecordsDO.setPatientCode(patientRehabilitationPlanDO.getPatient());
        rehabilitationOperateRecordsDO.setPatientName(patientRehabilitationPlanDO.getName());
        rehabilitationOperateRecordsDO.setDoctorCode(jsonObject.getString("doctorCode"));
        rehabilitationOperateRecordsDO.setDoctorName(jsonObject.getString("doctorName"));
        rehabilitationOperateRecordsDO.setRelationRecordType(5);
        rehabilitationOperateRecordsDO.setCompleteTime(new Date());
        rehabilitationOperateRecordsDO.setCreateTime(new Date());
        rehabilitationOperateRecordsDO.setUpdateTime(new Date());
        if (StringUtils.isNoneBlank(rehabilitationDetailDO.getFrequencyCode())){//限定频次的
            rehabilitationDetailDO.setStatus(3);
            rehabilitationDetailDao.save(rehabilitationDetailDO);
            rehabilitationOperateRecordsDO.setRelationRecordType(8);
        }
        return rehabilitationOperateRecordsDao.save(rehabilitationOperateRecordsDO);
    }
    /**
     * 更新康复计划项目状态
@ -1594,4 +1639,8 @@ public class RehabilitationManageService {
        reslutMap.put("serviceDoctor", serviceDoctor.toString().replace("[","").replace("]","").replace(",", "、"));
        return ObjEnvelop.getSuccess(SpecialistMapping.api_success,reslutMap);
    }
    public String getCode() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }
}