Bläddra i källkod

一个设备无法绑定相同的人,一个人无法绑定相同类型的设备

zd_123 7 år sedan
förälder
incheckning
73a44377e2

+ 2 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/PatientInfoService.java

@ -1762,6 +1762,8 @@ public class PatientInfoService extends BaseService {
            for (Map<String,Object> patientDeviceMap : patientDeviceList){
                if (String.valueOf(map.get("code")).equals(String.valueOf(patientDeviceMap.get("patientCode")))){
                    map.put("del",0);
                }else {
                    map.put("del",1);
                }
            }
        }

+ 26 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/device/PatientDeviceService.java

@ -1184,8 +1184,27 @@ public class PatientDeviceService extends BaseService {
        return map;
    }
    public boolean isFirstNewBinding(String deviceSn,String userType)throws Exception{
    public Map<String,Object> checkBindingFirstAndType(PatientDevice patientDevice)throws Exception{
        Map<String,Object> resultMap = new HashedMap();
        boolean flag = true;
        int code = 200;
        String msg = "";
        String deviceSn = patientDevice.getDeviceSn();
        String userType = patientDevice.getUserType();
        //绑定前判断是都已经绑定过同样类型的设备
        List<PatientDevice> patientDevices = patientDeviceDao.findByDeviceSn(deviceSn);
        String sql = "SELECT dd.category_code FROM wlyy_devices wd LEFT JOIN dm_device dd ON wd.device_model = dd.model where wd.device_code='"+deviceSn+"'";
        Map<String,Object> map = jdbcTemplate.queryForMap(sql);
        if(patientDevices!=null && patientDevices.size()>0){
            for (PatientDevice patientDevice1 : patientDevices){
                if (patientDevice1.getCategoryCode().equals(String.valueOf(map.get("category_code")))){
                    flag=false;
                    msg="已经绑定过同样类型的设备了";
                    code=-10000;
                }
            }
        }
        //判断设备是否首次绑定
        String keyType = "1";
        if("2".equals(userType)){
            keyType = "2";
@ -1195,10 +1214,14 @@ public class PatientDeviceService extends BaseService {
            JSONObject jsonObject =new JSONObject(deviceDetail.getBindingCount());
            if (jsonObject.getInt(keyType)>0){
                flag=false;
                msg="设备不是首次绑定";
                code = -20000;
            }
        }
        return flag;
        resultMap.put("flag",flag);
        resultMap.put("msg",msg);
        resultMap.put("code",code);
        return resultMap;
    }
    /**

+ 14 - 11
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/device/DoctorDeviceController.java

@ -102,31 +102,34 @@ public class DoctorDeviceController extends BaseController {
							 @RequestParam(value="data",required = true) String data) {
		try {
			PatientDevice device = objectMapper.readValue(data,PatientDevice.class);
			// 设置操作医生标识
			device.setDoctor(getUID());
			//首绑加分判断
			boolean flag = patientDeviceService.isFirstNewBinding(device.getDeviceSn(),device.getUserType());
			//首绑和设备类型判断
			Map<String,Object> checkMap = patientDeviceService.checkBindingFirstAndType(device);
			boolean flag = (Boolean)checkMap.get("flag");
			int checkCode = Integer.valueOf(String.valueOf(checkMap.get("code")));
			//已经绑定过同样的设备类型了,无法继续绑定
			if (checkCode == -10000){
				return write(-1,String.valueOf(checkMap.get("msg")));
			}
			//绑定
			patientDeviceService.saveDevice(device);
			//修改设备表中{"1":"0", "2":"0"}绑定次数 和其他绑定信息,
			wlyyDeviceDetailService.updateAfterBinding(device.getDeviceSn(),device.getUserIdcard(),device.getUserType(),new Date(),flag);
			//调用增加积分接口
			if (flag){
				Patient patient = patientService.findByCode(device.getUser());
			Patient patient = patientDao.findByCode(device.getUser());
			//调用增加积分接口  海沧区的居民才能添加积分
			if (flag && "350205".equals(patient.getTown())){
				String creditDetail = "{\"tradeType\":\"HEALTH_TASK\",\"flag\":\"BIND\",\"tradeDirection\":1,\"status\":1,\"patientId\":\""+device.getUser()+"\",\"hospital\":\""+patient.getTown()+"\"}";
				JSONObject jsonObject = JSONObject.parseObject(creditDetail);
				JSONObject response = creditLogService.insert(jsonObject);
				String status = response.getString("status");
				if (!"200".equals(status)){
					logger.info("添加积分失败!");
                }
				}
			}
			try {
				Patient people = patientDao.findByCode(device.getUser());
				String openId = people.getOpenid();
				String name = people.getName();
				String openId = patient.getOpenid();
				String name = patient.getName();
				org.json.JSONObject sendJson = new org.json.JSONObject();
				String first = "";

+ 10 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/device/PatientDeviceController.java

@ -213,8 +213,15 @@ public class PatientDeviceController extends BaseController {
            // 设置患者标识
            device.setUser(getRepUID());
//            device.setUser(getUID());
            //首绑加分判断
            boolean flag = patientDeviceService.isFirstNewBinding(device.getDeviceSn(),device.getUserType());
            //首绑和设备类型判断
            Map<String,Object> checkMap = patientDeviceService.checkBindingFirstAndType(device);
            boolean flag = (Boolean)checkMap.get("flag");
            int checkCode = Integer.valueOf(String.valueOf(checkMap.get("code")));
            //已经绑定过同样的设备类型了,无法继续绑定
            if (checkCode == -10000){
                return write(-1,String.valueOf(checkMap.get("msg")));
            }
            if(!getUID().equals(getRepUID())&&device.getId()==null){
                device.setAgent(getRepUID());
            }
@ -228,7 +235,7 @@ public class PatientDeviceController extends BaseController {
                //修改设备表中{"1":"0", "2":"0"}的绑定次数 和其他绑定信息,
                wlyyDeviceDetailService.updateAfterBinding(device.getDeviceSn(),device.getUserIdcard(),device.getUserType(),new Date(),flag);
                Patient patient = patientService.findByCode(device.getUser());
                if (flag){
                if (flag && "350205".equals(patient.getTown())){
                    String creditDetail = "{\"tradeType\":\"HEALTH_TASK\",\"flag\":\"BIND\",\"tradeDirection\":1,\"status\":1,\"patientId\":\""+device.getUser()+"\",\"hospital\":\""+patient.getTown()+"\"}";
                    com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(creditDetail);
                    com.alibaba.fastjson.JSONObject response = creditLogService.insert(jsonObject);