liubing 4 роки тому
батько
коміт
7b119901c5

+ 3 - 1
common/common-entity/sql记录

@ -385,4 +385,6 @@ CREATE TABLE `base_semoni_doctor_status` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医生安防服务工单状态情况';
alter TABLE base.base_security_monitoring_order add COLUMN doctor_confirm_finish_img VARCHAR(3000) DEFAULT NULL COMMENT '医生确认完成照片';
alter TABLE base.base_security_monitoring_order add COLUMN doctor_confirm_finish_time timestamp NULL DEFAULT NULL COMMENT '医生确认完成时间';
alter TABLE base.base_security_monitoring_order add COLUMN doctor_confirm_finish_time timestamp NULL DEFAULT NULL COMMENT '医生确认完成时间';
-- 2021-04-10 lb
ALTER table base.base_patient_bed_apply  MODIFY `patient` varchar(50) DEFAULT NULL;

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/apply/PatientBedApplyEndPoint.java

@ -42,7 +42,7 @@ public class PatientBedApplyEndPoint extends EnvelopRestEndpoint {
    }
    @GetMapping("/getApplyList")
    @ApiOperation("居民申请机构床位")
    @ApiOperation("居民申请机构床位List")
    public ListEnvelop getApplyList(@ApiParam(name = "doctor", value = "doctor", required = true)
                                    @RequestParam(value = "doctor") String doctor) {
        try {

+ 21 - 11
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/security/SecurityMonitoringOrderEndpoint.java

@ -138,12 +138,11 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
            @ApiParam(value = "二维码内容", name = "twoDimensionalCode")
            @RequestParam(value = "twoDimensionalCode", required = false) String twoDimensionalCode) {
        try {
            SecurityMonitoringOrderDO securityMonitoringOrderDO = securityMonitoringOrderService.signIn(orderId, signTime, signWay, signLocation, signImg,twoDimensionalCode,getUID());
            if (securityMonitoringOrderDO != null){
                return ObjEnvelop.getSuccess("操作成功", securityMonitoringOrderDO);
            }else {
                return ObjEnvelop.getError("扫码签到失败");
            JSONObject result = securityMonitoringOrderService.signIn(orderId, signTime, signWay, signLocation, signImg,twoDimensionalCode,getUID());
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));
            }
            return ObjEnvelop.getSuccess("操作成功",result.getJSONObject("resultMsg"));
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError( "操作失败!" + e.getMessage());
@ -153,7 +152,7 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
    @PostMapping("updateDoorConclusion")
    @ApiOperation("编辑保存服务工单小结")
    public ObjEnvelop updateDoorConclusion(
            @ApiParam(value = "处置状态",name = "manageStatus",required = true)
            @ApiParam(value = "处置状态",name = "manageStatus 1已确认安全 2已转送医疗机构 3已处置完成",required = true)
            @RequestParam Integer manageStatus,
            @ApiParam(value = "工单id", name = "orderId")
            @RequestParam(value = "orderId", required = true) String orderId,
@ -162,8 +161,11 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
            @ApiParam(value = "补录状态", name = "examPapeStatus")
            @RequestParam(value = "examPapeStatus", required = false) Integer examPapeStatus) {
        try {
            SecurityMonitoringConclusionDO doorConclusion = securityMonitoringOrderService.updateDoorConclusion(manageStatus, orderId,conclusion,examPapeStatus);
            return ObjEnvelop.getSuccess( "保存成功", doorConclusion);
            JSONObject result = securityMonitoringOrderService.updateDoorConclusion(manageStatus, orderId,conclusion,examPapeStatus);
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));
            }
            return ObjEnvelop.getSuccess("保存成功",result.getJSONObject("resultMsg"));
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError( "保存失败!" + e.getMessage());
@ -175,8 +177,11 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
    @ApiOperation("取消登记服务小结")
    public ObjEnvelop cancelConclusion(@ApiParam(name = "orderId", value = "工单id", required = true) @RequestParam String orderId) {
        try {
            securityMonitoringOrderService.cancelConclusion(orderId);
            return ObjEnvelop.getSuccess("取消成功",200);
            JSONObject result = securityMonitoringOrderService.cancelConclusion(orderId);
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));
            }
            return ObjEnvelop.getSuccess("取消成功",result.getJSONObject("resultMsg"));
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("取消失败");
@ -217,7 +222,12 @@ public class SecurityMonitoringOrderEndpoint extends EnvelopRestEndpoint {
            @ApiParam(value = "医生确认结束服务照片", name = "finishImg")
            @RequestParam(value = "finishImg", required = false) String finishImg) {
        try {
            return ObjEnvelop.getSuccess("操作成功", securityMonitoringOrderService.saveOrderFinishBydoctor(orderId, finishImg));
            JSONObject result = securityMonitoringOrderService.saveOrderFinishBydoctor(orderId, finishImg);
            if (result.getIntValue("resultFlag") == 0) {
                return ObjEnvelop.getError(result.getString("resultMsg"));
            }
            return ObjEnvelop.getSuccess("操作成功",result.getJSONObject("resultMsg"));
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError( "操作失败!" + e.getMessage());

+ 42 - 24
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -12,7 +12,6 @@ import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.servicePackage.ServicePackageRecordDO;
import com.yihu.jw.entity.care.device.PatientDevice;
import com.yihu.jw.entity.care.securitymonitoring.*;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
@ -115,14 +114,14 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        }
        //签约防走失服务包
        List<ServicePackageRecordDO> signRecords = servicePackageService.servicePackageByPatient(orderDO.getPatient(),"3");
        if (signRecords.size()==0) {
            result.put("resultFlag", 0);
            String failMsg = "当前服务对象未签约防走失服务包,请完成签约后再发起工单!";
            result.put("resultMsg", failMsg);
            logger.error(failMsg);
            return result;
        }
//        List<ServicePackageRecordDO> signRecords = servicePackageService.servicePackageByPatient(orderDO.getPatient(),"3");
//        if (signRecords.size()==0) {
//            result.put("resultFlag", 0);
//            String failMsg = "当前服务对象未签约防走失服务,请签约后再发起预警!";
//            result.put("resultMsg", failMsg);
//            logger.error(failMsg);
//            return result;
//        }
        //已取消的订单也可以申请
        boolean bool = securityMonitoringOrderDao.existsByPatientAndStatusIn(orderDO.getPatient(),
@ -173,7 +172,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                orderDO.setMonitoringConclusion(conclusionDO);
            }
        }
        JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(orderDO, SerializerFeature.WriteMapNullValue));
        JSONObject jsonObject = JSON.parseObject(JSON.toJSONStringWithDateFormat(orderDO,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
        jsonObject.put("conclusionStatusName",conclusionStatusName);
        Integer statustemp = Integer.valueOf(orderDO.getStatus()+"");
@ -188,7 +187,15 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            case 6:statusName="待评价";break;
            case 7:statusName="已完成";break;
        }
        BasePatientDO patientDO = basePatientDao.findById(orderDO.getPatient());
        if (patientDO!=null){
            jsonObject.put("patientAddress",patientDO.getAddress());
        }
        else {
            jsonObject.put("patientAddress",null);
        }
        jsonObject.put("statusName",statusName);
        result.put("resultFlag", 1);
        result.put("resultMsg",jsonObject);
        return result;
@ -423,8 +430,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            logger.error(failMsg);
            return result;
        }
        result.put(ResponseContant.resultFlag, ResponseContant.success);
        result.put(ResponseContant.resultMsg, doorServiceOrder);
        result = getSecurityOrderDetail(orderId);
        // 发送微信模板消息通知患者医生已接单
//        BasePatientDO patient = basePatientDao.findById(doorServiceOrder.getPatient());//
@ -536,8 +543,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
//        }
//        pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 30, patient.getOpenid(), patient.getName(), json);
        result.put("resultFlag", 1);
        result.put("resultMsg", orderDO);
        result = getSecurityOrderDetail(orderId);
        return result;
    }
@ -580,7 +586,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
     * @param signImg
     * @return
     */
    public SecurityMonitoringOrderDO signIn(String orderId, String signTime, Integer signWay, String signLocation,
    public JSONObject signIn(String orderId, String signTime, Integer signWay, String signLocation,
                                         String signImg, String twoDimensionalCode,String doctorId) throws Exception {
        SecurityMonitoringOrderDO doorServiceOrder = securityMonitoringOrderDao.findOne(orderId);
        doorServiceOrder.setDoctorSignTime(DateUtil.strToDate(signTime));
@ -596,7 +602,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
                doorServiceOrder = securityMonitoringOrderDao.save(doorServiceOrder);
                // 修改医生上门服务工单状态 4服务中
                this.updateDispatchStatusBySystem(doorServiceOrder.getDoctor(), 4);//服务中
                return doorServiceOrder;
                return  getSecurityOrderDetail(orderId);
            }else {
                logger.info("扫码签到失败");
                return null;
@ -606,7 +612,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            doorServiceOrder = securityMonitoringOrderDao.save(doorServiceOrder);
            // 修改医生上门服务工单状态 4服务中
            this.updateDispatchStatusBySystem(doorServiceOrder.getDoctor(), 4);
            return doorServiceOrder;
            return getSecurityOrderDetail(orderId);
        }
    }
@ -626,13 +632,23 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
     * @return
     * @throws Exception
     */
    public SecurityMonitoringConclusionDO updateDoorConclusion(Integer manageStatus,String orderId,String conclusion,Integer examPapeStatus) throws Exception {
    public JSONObject updateDoorConclusion(Integer manageStatus,String orderId,String conclusion,Integer examPapeStatus) throws Exception {
        JSONObject result = new JSONObject();
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
        SecurityMonitoringConclusionDO doorConclusion = new SecurityMonitoringConclusionDO();
        SecurityMonitoringConclusionDO doorConclusion =  securityMonitoringConclusionDao.findByOrderId(orderId);
        if (doorConclusion==null){
            doorConclusion = new SecurityMonitoringConclusionDO();
            doorConclusion.setOrderId(orderId);
        }
        doorConclusion.setStatus(manageStatus);
        doorConclusion.setConclusion(conclusion);
        SecurityMonitoringOrderDO one = securityMonitoringOrderDao.findOne(orderId);
        if (one==null){
            String failMsg = "工单不存在" ;
            result.put("resultFlag", 0);
            result.put("resultMsg", failMsg);
            return result;
        }
        BaseDoctorDO doctorVO = baseDoctorDao.findById(one.getDoctor());
        if (doorConclusion != null && org.apache.commons.lang.StringUtils.isNotEmpty(doorConclusion.getId())) {
@ -651,15 +667,16 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        one.setExamPaperStatus(examPapeStatus);
        one.setConclusionStatus(2);
        securityMonitoringOrderDao.save(one);
        return doorConclusion;
        return getSecurityOrderDetail(orderId);
    }
    /**
     * 跳过登记服务小结
     * @param orderId
     */
    public void cancelConclusion(String orderId) {
    public JSONObject cancelConclusion(String orderId) {
        securityMonitoringOrderDao.updateConclusionStatus(orderId);
        return getSecurityOrderDetail(orderId);
    }
    /**
@ -693,11 +710,12 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        return doorConclusion;
    }
    public SecurityMonitoringOrderDO saveOrderFinishBydoctor(String orderId ,String finishImg) throws Exception {
    public JSONObject saveOrderFinishBydoctor(String orderId ,String finishImg) throws Exception {
        SecurityMonitoringOrderDO one = securityMonitoringOrderDao.findOne(orderId);
        one.setDoctorConfirmFinishImg(finishImg);
        one.setStatus(SecurityMonitoringOrderDO.Status.complete.getType());
        one.setDoctorConfirmFinishTime(new Date());
        one.setCompleteTime(one.getDoctorConfirmFinishTime());
        // 更新记录
        this.setUpdateColumnInfo(one);
        securityMonitoringOrderDao.save(one);
@ -733,7 +751,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        }catch (Exception e){
            logger.error(e.getMessage());
        }
        return doorServiceOrderDO;
        return getSecurityOrderDetail(orderId);
    }
    /**