liuwenbin 7 лет назад
Родитель
Сommit
028e50928a

+ 19 - 12
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/kit/KitService.java

@ -2,6 +2,7 @@ package com.yihu.wlyy.service.kit;
import com.yihu.device.entity.DeviceDetail;
import com.yihu.wlyy.entity.device.PatientDevice;
import com.yihu.wlyy.entity.device.PatientDeviceLog;
import com.yihu.wlyy.entity.kit.KitDrugDetail;
import com.yihu.wlyy.entity.kit.KitDrugUseRecord;
import com.yihu.wlyy.entity.kit.KitUseRemindRecord;
@ -12,6 +13,7 @@ import com.yihu.wlyy.repository.kit.KitDrugUseRecordDao;
import com.yihu.wlyy.repository.kit.KitUseRemindRecordDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.PatientDeviceDao;
import com.yihu.wlyy.repository.patient.PatientDeviceLogDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.common.account.PatientService;
import com.yihu.wlyy.service.third.kit.JyKitService;
@ -57,6 +59,8 @@ public class KitService extends BaseService {
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private PatientDeviceLogDao patientDeviceLogDao;
    private String format = "yyyy-MM-dd HH:mm";
    private String format2 = "HH:mm" ;
@ -97,7 +101,7 @@ public class KitService extends BaseService {
            }
            deviceDetail = deviceDetailDao.save(deviceDetail);
            patientDevice = new PatientDevice();
            patientDevice.setDeviceId(deviceDetail.getId());
            patientDevice.setDeviceId(7L);//dm_device设备类型表的id
            patientDevice.setDeviceSn(deviceDetail.getDeviceCode());
            patientDevice.setDeviceName(deviceDetail.getDeviceName());
            patientDevice.setUser(patientCode);
@ -113,17 +117,7 @@ public class KitService extends BaseService {
                throw new Exception(" 数据库中没有该设备!");
            }
        }
        //添加绑定关系
//        PatientDevice patientDevice = new PatientDevice();
//        patientDevice.setDeviceId(deviceDetail.getId());
//        patientDevice.setDeviceSn(deviceDetail.getDeviceCode());
//        patientDevice.setDeviceName(deviceDetail.getDeviceName());
//        patientDevice.setUser(patientCode);
//        patientDevice.setCategoryCode("3");
//        patientDevice.setUserType("-1");
//        patientDevice.setUserIdcard(patient.getIdcard());
//        patientDevice.setCzrq(new Date());
        String typeTemp = type;
        if("1".equals(type)){
            type="0";
        }else if("2".equals(type)){
@ -131,6 +125,19 @@ public class KitService extends BaseService {
        }
        patientDevice.setDel(Integer.valueOf(type));
        patientDeviceDao.save(patientDevice);
        //由于PatientDevice绑定关系是物理删除,所以添加PatientDeviceLog绑定记录
        PatientDeviceLog patientDeviceLog = new PatientDeviceLog();
        patientDeviceLog.setDeviceId(7L);//dm_device设备类型表的id
        patientDeviceLog.setPatient(patientDevice.getUser());
        patientDeviceLog.setCategoryCode(patientDevice.getCategoryCode());
        patientDeviceLog.setDeviceName(patientDevice.getDeviceName());
        patientDeviceLog.setDeviceSn(patientDevice.getDeviceSn());
        patientDeviceLog.setRole(1);
        patientDeviceLog.setOperateCode(Integer.valueOf(typeTemp));
        patientDeviceLog.setAgreementPhoto(patientDevice.getAgreementPhoto());
        patientDeviceLog.setCreateTime(new Date());
        patientDeviceLog.setIsDel(1);
        patientDeviceLogDao.save(patientDeviceLog);
    }
    /**

+ 86 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandingService.java

@ -10,6 +10,7 @@ import com.yihu.wlyy.entity.device.PatientDeviceLog;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.manage.User;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.health.repository.DeviceDetailDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.manage.UserDao;
import com.yihu.wlyy.repository.patient.PatientDao;
@ -64,6 +65,8 @@ public class DataHandingService {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private CreditLogService creditLogService;
    @Autowired
    private DeviceDetailDao deviceDetailDao;
    @Transactional
    public String producePatientAndDoctorPassword() {
@ -506,6 +509,89 @@ public class DataHandingService {
                logger.info("添加积分失败!");
            }
        }
    }
    /**
     * 导入药盒绑定设备的数据
     * @throws Exception
     */
    public List<String> importKitInfo(Integer batch)throws Exception{
        String sql = " select * from wlyy.kit_bind_info_temp batch="+batch;
        List<Map<String,Object>> mapList = jdbcTemplate.queryForList(sql);
        List<String> errorList = new ArrayList<>();
        for(Map<String,Object> one:mapList){
            String name = one.get("name").toString();//居民名称
            String idcard = one.get("idcard").toString();//居民身份证
            String kitSn = one.get("kit_sn").toString();//药盒sn码
            String deviceType = one.get("device_type").toString();//药盒设备型号
            Patient patient = patientDao.findByIdcard(idcard);
            if(patient==null){//身份证不匹配
                errorList.add(kitSn);
                continue;
            }
            DeviceDetail deviceDetail = deviceDetailDao.findBySn(kitSn);
            if(deviceDetail==null){
                //添加设备
                deviceDetail = new DeviceDetail();
            }
            deviceDetail.setDeviceModel(deviceType);//设备型号
            deviceDetail.setDeviceName("巨烨科技智能药盒");
            deviceDetail.setDeviceCode(kitSn);
            deviceDetail.setLinkman(patient.getName());
            //通过签约关系获取团队信息,有则添加。
            String sql2 = " select f.* from wlyy_sign_family f where f.idcard='"+idcard+"' and f.status=1 ";
            List<Map<String, Object>> signFamilys1 = jdbcTemplate.queryForList(sql2);
            if(signFamilys1.size()>0){
                deviceDetail.setOrgName(signFamilys1.get(0).get("hospital_name")+"");
                deviceDetail.setGrantAdminTeam(signFamilys1.get(0).get("admin_team_code")+"");
                deviceDetail.setGrantOrgCode(signFamilys1.get(0).get("hospital")+"");
            }
            deviceDetail.setTel(patient.getMobile());
            deviceDetail.setGrantTime(new Date());
            deviceDetail = deviceDetailDao.save(deviceDetail);
            //添加设备绑定关系
            List<PatientDevice> patientDeviceList = patientDeviceDao.findByPatientAndDeviceSn(patient.getCode(),kitSn);
            PatientDevice patientDevice = null;
            if(patientDeviceList.size()>0){
                patientDevice = patientDeviceList.get(0);
            }else{
                patientDevice = new PatientDevice();
            }
            patientDevice.setDeviceId(7L);
            patientDevice.setDeviceSn(deviceDetail.getDeviceCode());
            patientDevice.setDeviceName(deviceDetail.getDeviceName());
            patientDevice.setUser(patient.getCode());
            patientDevice.setCategoryCode("3");
            patientDevice.setUserType("-1");
            patientDevice.setUserIdcard(patient.getIdcard());
            patientDevice.setCzrq(new Date());
            patientDevice.setDel(0);
            patientDeviceDao.save(patientDevice);
            //由于PatientDevice绑定关系是物理删除,所以添加PatientDeviceLog绑定记录
            PatientDeviceLog patientDeviceLog = new PatientDeviceLog();
            patientDeviceLog.setDeviceId(7L);
            patientDeviceLog.setPatient(patientDevice.getUser());
            patientDeviceLog.setCategoryCode(patientDevice.getCategoryCode());
            patientDeviceLog.setDeviceName(patientDevice.getDeviceName());
            patientDeviceLog.setDeviceSn(patientDevice.getDeviceSn());
            patientDeviceLog.setRole(1);
            patientDeviceLog.setOperateCode(1);
            patientDeviceLog.setAgreementPhoto(patientDevice.getAgreementPhoto());
//            if (role==1){
//                patientDeviceLog.setOperatorName(patientDevice.getDoctorName());
//                patientDeviceLog.setOperator(patientDevice.getDoctor());
//            }else if (role==2){
//                patientDeviceLog.setOperatorName(patientDevice.getAgentName());
//                patientDeviceLog.setOperator(patientDevice.getAgent());
//            }
            patientDeviceLog.setCreateTime(new Date());
            patientDeviceLog.setIsDel(1);
            patientDeviceLogDao.save(patientDeviceLog);
            String sqlUpdate = " update wlyy.kit_bind_info_temp set import=1 where kit_sn='"+kitSn+"'";
            jdbcTemplate.execute(sqlUpdate);
        }
        return errorList;
    }
}

+ 23 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java

@ -19,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -338,4 +340,25 @@ public class DataHandlingController extends BaseController {
            return write(-1,"请洗数据失败!");
        }
    }
    @RequestMapping(value = "/importKitInfo",method = RequestMethod.POST)
    @ResponseBody
    @ApiOperation("导入药盒绑定设备的数据")
    public String importKitInfo(@ApiParam(name = "batch", value = "批次", required = true)
                                    @RequestParam(value = "batch") Integer batch){
        try{
            List<String> errorList = dataHandingService.importKitInfo(batch);
            if(errorList.size()>0){
                Map<String,Object> map = new HashMap<>();
                map.put("count",errorList.size());
                map.put("errorData",errorList);
                return write(200,"导入数据成功!","data",map);
            }else{
                return write(200,"导入数据成功!");
            }
        }catch (Exception e){
            e.printStackTrace();
            return write(-1,"导入数据失败!");
        }
    }
}