Bladeren bron

[解决bug]

wangzhinan 3 jaren geleden
bovenliggende
commit
6badc933f8

+ 55 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinedevice.java

@ -4,6 +4,7 @@ package com.yihu.jw.entity.a1entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
@ -190,6 +191,16 @@ public class Mediicinedevice extends UuidIdentityEntityWithOperator{
     */
    private String temperature;
    /**
     * 当前湿度
     */
    private String nowHumidity;
    /**
     * 当前温度
     */
    private String nowTemperature;
    /**
     * 湿度控制
     */
@ -220,6 +231,16 @@ public class Mediicinedevice extends UuidIdentityEntityWithOperator{
     */
    private String waringHumidityLow;
    /**
     * 温湿度异常
     */
    private String abnormal;
    /**
     * 最后一次记录时间
     */
    private Date logTime;
    public Mediicinedevice() {
    }
@ -560,4 +581,38 @@ public class Mediicinedevice extends UuidIdentityEntityWithOperator{
    }
    public String getNowHumidity() {
        return nowHumidity;
    }
    public void setNowHumidity(String nowHumidity) {
        this.nowHumidity = nowHumidity;
    }
    public String getNowTemperature() {
        return nowTemperature;
    }
    public void setNowTemperature(String nowTemperature) {
        this.nowTemperature = nowTemperature;
    }
    public String getAbnormal() {
        return abnormal;
    }
    public void setAbnormal(String abnormal) {
        this.abnormal = abnormal;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "log_time", nullable = false, length = 0,updatable = false)
    public Date getLogTime() {
        return logTime;
    }
    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -17,6 +17,7 @@ public class BaseRequestMapping {
        public static final String DOCINFO  = "/docInfo";
        public static final String CREATE  = "/create";
        public static final String getTemperature  = "/getTemperature";
        public static final String getDeviceInfo  = "/getDeviceInfo";
        public static final String getOffline  = "/getOffline";
        public static final String getFault  = "/getFault";
        public static final String getFlow  = "/getFlow";
@ -192,6 +193,7 @@ public class BaseRequestMapping {
        public static final String getDeviceListByUserId  = "/getDeviceListByUserId";
        public static final String getDeviceListWithUserId  = "/getDeviceListWithUserId";
        public static final String getDeviceInventoryRecordListWithUserId  = "/getDeviceInventoryRecordListWithUserId";
        public static final String getDeviceInventoryRecordListByDeviceId  = "/getDeviceInventoryRecordListByDeviceId";
        public static final String getInitDeviceByPage  = "/getInitDeviceByPage";
        public static final String getUserListByDeviceId  = "/getUserListByDeviceId";
        public static final String getOutOfStockDeviceList  = "/getOutOfStockDeviceList";

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MedicineDrugInventoryRecordDao.java

@ -2,6 +2,7 @@ package com.yihu.jw.base.dao.a2dao;
import com.yihu.jw.entity.a1entity.MedicineDrugInventoryRecord;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
@ -9,6 +10,7 @@ import java.util.List;
public interface MedicineDrugInventoryRecordDao extends PagingAndSortingRepository<MedicineDrugInventoryRecord, String> {
    @Query("select a from MedicineDrugInventoryRecord a where a.deviceId = ?1 and a.equNum =?2 and a.type=?3 order by a.createTime desc")
    List<MedicineDrugInventoryRecord> findMedicineDrugInventoryRecordsByDeviceIdAndEquNumAndType(String deviceId, String euNum, String type);
}

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/role/RoleDao.java

@ -16,5 +16,7 @@ public interface RoleDao extends PagingAndSortingRepository<RoleDO, String>, Jpa
    List<RoleDO> findByNameAndStatus(String name,Integer status);
    List<RoleDO> findByStatus(Integer status);
    List<RoleDO> findByNameAndSaasIdAndStatus(String name,String saasId,Integer status);
}

+ 31 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDeviceEndpoint.java

@ -529,18 +529,46 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.BaseDevice.getDeviceInventoryRecordListWithUserId)
    @ApiOperation(value = "获取设备列表and补货记录夹带userId", notes = "获取设备列表and补货记录")
    public PageEnvelop getDeviceInventoryRecordListWithUserId(
                                                @ApiParam(name = "type", value = "日志类型", required = true)
                                                @RequestParam(value = "type") String type,
                                                @ApiParam(name = "type", value = "日志类型", required = false)
                                                @RequestParam(value = "type",required = false) String type,
                                                @ApiParam(name = "deviceId", value = "设备id", required = false)
                                                @RequestParam(value = "deviceId",required = false) String deviceId,
                                               @ApiParam(name = "userId", value = "用户id", required = true)
                                               @RequestParam(value = "userId") String userId,
                                               @ApiParam(name = "page", value = "页码", required = true, defaultValue = "1")
                                               @RequestParam(value = "page") int page,
                                               @ApiParam(name = "size", value = "分页大小", required = true, defaultValue = "15")
                                               @RequestParam(value = "size") int size) throws Exception {
        JSONObject result = deviceService.getDeviceInventoryRecordListWithUserId(type, userId, page, size);
        JSONObject result = deviceService.getDeviceInventoryRecordListWithUserId(type,deviceId, userId, page, size);
        return success(result.getJSONArray("msg"), result.getInteger("count"), page, size);
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.getDeviceInventoryRecordListByDeviceId)
    @ApiOperation(value = "获取某台设备补货记录", notes = "获取某台设备补货记录")
    public PageEnvelop getDeviceInventoryRecordListByDeviceId(
            @ApiParam(name = "type", value = "日志类型1补货,2换货,3上架,4下架'", required = false)
            @RequestParam(value = "type",required = false) String type,
            @ApiParam(name = "deviceId", value = "设备id", required = false)
            @RequestParam(value = "deviceId",required = false) String deviceId,
            @ApiParam(name = "layerNo", value = "行", required = false)
            @RequestParam(value = "layerNo",required = false) String layerNo,
            @ApiParam(name = "wayerNo", value = "列", required = false)
            @RequestParam(value = "wayerNo",required = false) String wayerNo,
            @ApiParam(name = "startTime", value = "开始时间", required = false)
            @RequestParam(value = "startTime",required = false) String startTime,
            @ApiParam(name = "endTime", value = "结束时间", required = false)
            @RequestParam(value = "endTime",required = false) String endTime,
            @ApiParam(name = "drugName", value = "药品名称", required = false)
            @RequestParam(value = "drugName",required = false) String drugName,
            @ApiParam(name = "id", value = "记录id", required = false)
            @RequestParam(value = "id",required = false) String id,
            @ApiParam(name = "page", value = "页码", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "分页大小", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        return deviceService.selectInventoryRecordByDeviceId(id,deviceId,layerNo,wayerNo,type,startTime,endTime,drugName,page,size);
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.getInitDeviceByPage)

+ 19 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineWarrayEndpoint.java

@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicineWarrayService;
import com.yihu.jw.entity.a1entity.Mediicinewarray;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -37,11 +38,24 @@ public class MedicineWarrayEndpoint extends EnvelopRestEndpoint {
    @Value("${wechat.id}")
    private String wechatId;
    @GetMapping(value = BaseRequestMapping.BaseWarray.getDeviceInfo)
    @ApiOperation(value = "预警获取设备信息")
    public Envelop getDeviceInfo(
            @ApiParam(name = "condition", value = "设备名称/设备编码")
            @RequestParam(value = "condition", required = false) String condition,
            @ApiParam(name = "page", value = "页码", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "分页大小", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        JSONObject result = warraytService.getDeviceInfo(condition,page,size);
        return success(result);
    }
    @GetMapping(value = BaseRequestMapping.BaseWarray.getTemperature)
    @ApiOperation(value = "获取温度报警")
    public PageEnvelop getTemperature(
            @ApiParam(name = "idDevice", value = "设备id")
            @RequestParam(value = "idDevice", required = false) String idDevice,
            @ApiParam(name = "equNum", value = "设备编码")
            @RequestParam(value = "equNum", required = false) String equNum,
            @ApiParam(name = "equType", value = "设备分类")
            @RequestParam(value = "equType", required = false) String equType,
            @ApiParam(name = "networkStatus", value = "网络状态")
@ -56,11 +70,11 @@ public class MedicineWarrayEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "startTime",required = false) String startTime,
            @ApiParam(name = "endTime", value = "结束时间", required = false, defaultValue = "")
            @RequestParam(value = "endTime",required = false) String endTime,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @ApiParam(name = "page", value = "页码", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @ApiParam(name = "size", value = "分页大小", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        JSONObject result = warraytService.getTemperature(idDevice, equType,networkStatus, lowT, heightT, content,startTime, endTime,page,size,wechatId);
        JSONObject result = warraytService.getTemperature(equNum, equType,networkStatus, lowT, heightT, content,startTime, endTime,page,size);
        return success(result.getJSONArray("msg"),result.getInteger("count"),page,size);
    }

+ 21 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/ServiceNoLoginEndPoint.java

@ -2,10 +2,13 @@ package com.yihu.jw.base.endpoint.open.nologin;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicineWarrayService;
import com.yihu.jw.base.service.a3service.MedicinedeviceService;
import com.yihu.jw.base.service.advrtisement.AdvertisementLaunchService;
import com.yihu.jw.base.service.role.RoleService;
import com.yihu.jw.base.service.user.UserService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.a1entity.MedicineShipmentLog;
import com.yihu.jw.entity.a1entity.Mediicinewarray;
@ -53,6 +56,10 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
    @Autowired
    MedicineWarrayService warrayService;
    @Autowired
    private RoleService roleService;
    @Autowired
    private UserService userService;
    @GetMapping(value = "/devinfo")
    @ApiOperation(value = "获取单个设备上的所有广告")
@ -286,6 +293,20 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
        return success(deviceService.getDeviceList());
    }
    @GetMapping(value = "roleDictList")
    @ApiOperation(value = "获取用户角色字典")
    public Envelop roleDictList() throws Exception {
        return success(roleService.selectRoleList());
    }
    @PostMapping(value = "addUser")
    @ApiOperation(value = "添加用户")
    public Envelop roleDictList(@ApiParam(name = "jsonData", value = "用户信息json", required = true)
                                    @RequestParam(value = "jsonData", required = true) String jsonData) throws Exception {
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        return success(userService.addUserByIjk(jsonObject));
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.findMediicinecabinetInventoryByDeviceId)
    @ApiOperation(value = "根据设备id查询设备轨道数据", notes = "根据设备id查询设备轨道数据")
    public ListEnvelop selectById(

+ 120 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java

@ -3,6 +3,7 @@ package com.yihu.jw.base.service.a3service;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.org.apache.xpath.internal.operations.Bool;
import com.yihu.jw.base.dao.a2dao.*;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.dao.user.UserDao;
@ -815,6 +816,8 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
            if (Integer.compare(totalShipmentLog, shipped + 1) == 0) {
                Mediicineorder order = orderDao.findOne(medicineShipmentLog.getOrderId());
                order.setSellState("1");
                Boolean flag = scanQrdispensaryCode(order.getPickUpNum());
                logger.info("flag"+flag);
                orderDao.save(order);
            }
            if (Integer.compare(totalShipmentLog, shipped + 1) < 0) {
@ -927,7 +930,7 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        result.put("msg", "订单未完成,请联系管理员!");
        return result;
    }
    //=================================调用i健康接口=================================//
    public String getEhcCardInfo(String ehealthCode) throws Exception {
        OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne("EHCVerify");
@ -984,6 +987,122 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        }
    }
    public boolean scanQrdispensaryCode(String code){
        OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne("scanQrdispensaryCode");
        //token获取accesstoken
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
        params.add(new BasicNameValuePair("appSecret",oauthWlyyConfigDO.getAppSecret()));
        String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(),params,"UTF-8");
        String token = null;
        JSONObject rsjson = JSONObject.parseObject(res);
        logger.info("checkWlyyDoctor token :"+rsjson.toString());
        Integer status = rsjson.getInteger("status");
        if(status==10000){
            //设置入参
            List<NameValuePair> p = new ArrayList<>();
            p.add(new BasicNameValuePair("code", code));
            //设置头部
            token = rsjson.getJSONObject("result").getString("accesstoken");
            Map<String,Object> headerMap = new HashedMap();
            headerMap.put("accesstoken",token);
            String rs = httpClientUtil.headerPost(oauthWlyyConfigDO.getUrl(),p,"UTF-8",headerMap);
            WlyyHttpLogDO wlyyHttpLogDO = new WlyyHttpLogDO();
            wlyyHttpLogDO.setCode("scanQrdispensaryCode");
            wlyyHttpLogDO.setRequest(p.toString());
            wlyyHttpLogDO.setResponse(rs);
            wlyyHttpLogDO.setName("更新取药码状态");
            wlyyHttpLogDO.setStatus("1");
            wlyyHttpLogDO.setCreateTime(new Date());
            httpLogDao.save(wlyyHttpLogDO);
            logger.info("scanQrdispensaryCode:"+rs);
            if (rs!=null&&rs!=""){
                JSONObject ehc = JSONObject.parseObject(rs);
                if (ehc.getString("status").equalsIgnoreCase("200")){
                    return true;
                }
            }else {
                return false;
            }
        }else {
            return false;
        }
        return false;
    }
    /**
     *
     * @param idcard 医生身份证
     * @param type 固定传9
     * @param jumpUrl jumpUrl 点击链接不跳转就传“”
     * @param first 消息头
     * @param remark 消息尾
     * @param keywords 消息体
     * @return
     */
    public boolean sendDoctorTemplates(String idcard,String type,String jumpUrl,String first,String remark,String keywords){
        OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne("sendDoctorTemplates");
        //token获取accesstoken
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
        params.add(new BasicNameValuePair("appSecret",oauthWlyyConfigDO.getAppSecret()));
        String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(),params,"UTF-8");
        String token = null;
        JSONObject rsjson = JSONObject.parseObject(res);
        logger.info("checkWlyyDoctor token :"+rsjson.toString());
        Integer status = rsjson.getInteger("status");
        if(status==10000){
            //设置入参
            List<NameValuePair> p = new ArrayList<>();
            p.add(new BasicNameValuePair("idcard", idcard));
            p.add(new BasicNameValuePair("type", "9"));
            p.add(new BasicNameValuePair("jumpUrl", jumpUrl));
            p.add(new BasicNameValuePair("first", first));
            p.add(new BasicNameValuePair("remark", remark));
            p.add(new BasicNameValuePair("keywords", keywords));
            //设置头部
            token = rsjson.getJSONObject("result").getString("accesstoken");
            Map<String,Object> headerMap = new HashedMap();
            headerMap.put("accesstoken",token);
            String rs = httpClientUtil.headerPost(oauthWlyyConfigDO.getUrl(),p,"UTF-8",headerMap);
            WlyyHttpLogDO wlyyHttpLogDO = new WlyyHttpLogDO();
            wlyyHttpLogDO.setCode("sendDoctorTemplates");
            wlyyHttpLogDO.setRequest(p.toString());
            wlyyHttpLogDO.setResponse(rs);
            wlyyHttpLogDO.setName("发送医生智能助手模板消息");
            wlyyHttpLogDO.setStatus("1");
            wlyyHttpLogDO.setCreateTime(new Date());
            httpLogDao.save(wlyyHttpLogDO);
            logger.info("sendDoctorTemplates:"+rs);
            if (rs!=null&&rs!=""){
                JSONObject ehc = JSONObject.parseObject(rs);
                if (ehc.getString("status").equalsIgnoreCase("200")){
                    return true;
                }
            }else {
                return false;
            }
        }else {
            return false;
        }
        return false;
    }
    //=================================调用i健康接口=================================//
    /**
     * 检查订单&返回订单出货单列表           deviceId ---->equNum
     *

+ 46 - 12
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineWarrayService.java

@ -44,9 +44,44 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
    @Autowired
    private HibenateUtils hibenateUtils;
    public JSONObject getDeviceInfo(String condition,int page,int size){
        JSONObject result = new JSONObject();
        String sql = "SELECT d.id as id,d.equ_num as equNum,d.equ_name as equName," +
                "d.equ_type as equType,d.now_humidity as nowHunidity,d.now_temperature as nowTemperature," +
                "d.abnormal as abnormal,d.log_time as logTime " +
                "FROM t_mediicine_device d where d.belong_community is not NULL ";
        String conditionSql = "";
        if (!StringUtils.isEmpty(condition)){
            conditionSql += " and CONCAT(IFNULL(d.equ_name,''), IFNULL(d.equ_num,'')) like '%" + condition + "%'";
        }
        sql = sql + conditionSql+ "order by d.log_time desc ";
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql,page,size);
        String countSql = " select " +
                "     COUNT(DISTINCT (d.id)) as count " +
                "   from " +
                "     t_mediicine_device d " +
                "  where " +
                "  1=1 and d.belong_community is not NULL  " +
                conditionSql;
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int count = jdbcTemplate.queryForObject(countSql,Integer.class);
        result.put("total", count);
        result.put("page",page);
        result.put("size",size);
        result.put("list", list);
        return result;
    }
    public JSONObject getTemperature(
            String idDevice, String equType, String netStatus, String lowT, String heightT,
                String content, String startTime, String endTime, int page, int size,String wechatId) throws Exception {
            String equNum, String equType, String netStatus, String lowT, String heightT,
                String content, String startTime, String endTime, int page, int size) throws Exception {
        JSONObject result = new JSONObject();
        String sql = "SELECT\n" +
                "    t.id as id,\n" +
@ -76,10 +111,10 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                "    t.duration as duration,\n" +
                "    t.exceed as exceed,\n" +
                "    t.humidity as humidity,\n" +
                "    t.temperature as temperature,\n" +
                "    t.other_couont as otherCouont,\n" +
                "    t.plus_couont as plusCouont,\n" +
                "    t.ship_couont as shipCouont,\n" +
                "    t.temperature as temperature,\n" +
                "    t.create_time as createTime,\n" +
                "    t.create_user as createUser,\n" +
                "    t.create_user_name as createUserName,\n" +
@ -88,14 +123,14 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                "    t.update_user_name as updateUserName,\n" +
                "    t.remark as remark\n" +
                "FROM\n" +
                "    t_mediicine_warray AS t where 1=1";
                "    t_mediicine_warray AS t  where 1=1 and t.type like '%温度%' ";
        String conditionSql = "";
//        conditionSql += " and t.type like '%温度%'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = '" + idDevice + "'";
        if (!StringUtils.isEmpty(equNum)){
            conditionSql += " and t.equ_num = '" + equNum + "'";
        }
        if (!StringUtils.isEmpty(equType)){
            conditionSql += " and t.equ_type = '" + equType + "'";
@ -117,7 +152,7 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                    " AND t.log_time <= '" + endTime + "'";
        }
        sql = sql + conditionSql;
        sql = sql + conditionSql+ "order by t.log_time desc ";
        List<Map<String,Object>> list=null;
        list = hibenateUtils.createSQLQuery(sql,page,size);
@ -131,9 +166,6 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                conditionSql;
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int count = jdbcTemplate.queryForObject(countSql,Integer.class);
        for (Map<String,Object> map:list){
        }
        result.put("count", count);
        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));
        return result;
@ -756,7 +788,7 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        }else {
            type="温度正常";
        }
        mediicinedevice.setTemperature(temperature+"");
        mediicinedevice.setNowTemperature(temperature+"");
        if (!StringUtils.isEmpty(mediicinedevice.getWaringHumidityHeight())&&!StringUtils.isEmpty(mediicinedevice.getWaringHumidityLow())){
            Float humidityHeight = Float.parseFloat(mediicinedevice.getWaringHumidityHeight());
            Float humidityLow = Float.parseFloat(mediicinedevice.getWaringHumidityLow());
@ -772,7 +804,9 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        }else {
            type+="/湿度正常";
        }
        mediicinedevice.setHumidity(humidity+"");
        mediicinedevice.setAbnormal(type);
        mediicinedevice.setLogTime(new Date());
        mediicinedevice.setNowHumidity(humidity+"");
        mediicinedevice.setNetworkStatus("1");
        mediicinedevice.setSaleStatus("1");
        deviceDao.save(mediicinedevice);

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedevicePrintMessageService.java

@ -130,7 +130,7 @@ public class MedicinedevicePrintMessageService extends BaseJpaService<Medicinede
        }
        String sql = " SELECT d.equ_name as equName,d.equ_num as equNum,pm.picture,pm.remark_end as remarkEnd,pm.id as id from  t_mediicine_device_print_message pm LEFT JOIN t_mediicine_device d ON pm.device_id = d.equ_num where 1=1 and d.belong_community IN ("+conditionSql+") ";
        if (StringUtils.isNoneBlank(condition)){
            sql += "  (d.equ_name LIKE '%"+condition+"%' OR d.equ_num LIKE '%"+condition+"%')";
            sql += " and (d.equ_name LIKE '%"+condition+"%' OR d.equ_num LIKE '%"+condition+"%')";
        }
        sql+=" order by pm.create_time desc ";
        List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql,page,size);

+ 77 - 14
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -1,6 +1,7 @@
package com.yihu.jw.base.service.a3service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@ -16,6 +17,9 @@ import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.common.LatitudeUtils;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
@ -2336,7 +2340,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    }
    public JSONObject getDeviceInventoryRecordListWithUserId(String type, String userId, int page, int size) throws Exception {
    public JSONObject getDeviceInventoryRecordListWithUserId(String type,String deviceId, String userId, int page, int size) throws Exception {
        JSONObject result = new JSONObject();
        UserDO user = userDao.findOne(userId);
@ -2473,18 +2477,14 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                    "WHERE 1=1 AND t.del = 1\n";
        }
        conditionSql += "AND t.belong_community IS NOT NULL\n";
        sql = sql + conditionSql;
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(deviceId)){
            sql +=" and t.id ='"+deviceId+"'  ";
        }
        conditionSql += " AND t.belong_community IS NOT NULL\n";
        sql = sql + conditionSql;
        deviceList = hibenateUtils.createSQLQuery(sql, page, size);
        Map<String, String> equTypeMap = new HashMap<>();
        equTypeMap.put("1", "测试类型1");
        equTypeMap.put("2", "测试类型2");
        equTypeMap.put("3", "测试类型3");
        for (Map<String, Object> stringObjectMap : deviceList) {
            if(!StringUtils.isEmpty(stringObjectMap.get("equType"))){
                stringObjectMap.put("equTypeName", equTypeMap.get(stringObjectMap.get("equType")));
            }
            if(!StringUtils.isEmpty(stringObjectMap.get("networkStatus"))){
                if ("1".equals(stringObjectMap.get("networkStatus").toString())) {
                    stringObjectMap.put("networkStatusName", "在线");
@ -2515,10 +2515,20 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                    stringObjectMap.put("cardStatusName", "未知");
                }
            }
            stringObjectMap.put("children",
                    inventoryRecordDao.findMedicineDrugInventoryRecordsByDeviceIdAndEquNumAndType(
                            stringObjectMap.get("id").toString(),
                            stringObjectMap.get("equNum").toString(), type));
            List<MedicineDrugInventoryRecord> drugInventoryRecords =inventoryRecordDao.findMedicineDrugInventoryRecordsByDeviceIdAndEquNumAndType(
                    stringObjectMap.get("id").toString(),
                    stringObjectMap.get("equNum").toString(), type);
            if (drugInventoryRecords!=null&&drugInventoryRecords.size()!=0){
                MedicineDrugInventoryRecord drugInventoryRecord = drugInventoryRecords.get(0);
                stringObjectMap.put("lastTime",DateUtil.dateToStrLong(drugInventoryRecord.getCreateTime()));
                stringObjectMap.put("lastQuanty",drugInventoryRecord.getQuantity());
                UserDO userDO = userDao.findById(drugInventoryRecord.getCreateUser());
                stringObjectMap.put("createName",userDO.getName());
            }else {
                stringObjectMap.put("lastTime",null);
                stringObjectMap.put("lastQuanty",null);
                stringObjectMap.put("createName",null);
            }
        }
        String countSql = " select " +
@ -2536,6 +2546,59 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        return result;
    }
    public PageEnvelop selectInventoryRecordByDeviceId(String id ,String deviceId, String layerNo, String wayerNo, String type, String startTime, String endTime, String drugName, int page, int size){
        PageEnvelop listEnvelop = new PageEnvelop();
        String sql = "SELECT\n" +
                "\tDATE_FORMAT(dir.create_time,'%Y-%m-%d %H:%i:%S') as createTime,\n" +
                "\td.drug_name as drugName,\n" +
                "\tu.name,\n" +
                "\tdir.layer_no as layerNo,\n" +
                "\tdir.wayer_no as wayerNo,\n" +
                "\tdir.merge_cargo as mergeCargo,\n" +
                "\tdir.merge_state as mergeState\n" +
                "FROM\n" +
                "\tt_medicine_drug_inventory_record dir\n" +
                "LEFT JOIN t_mediicine_drugs d ON dir.drug_id = d.id\n" +
                "LEFT JOIN base_user u ON u.id = dir.create_user\n" +
                "where dir.device_id= '"+deviceId+"' ";
        String condition = "";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(layerNo)){
            condition +=" and dir.layer_no= '"+layerNo+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(id)){
            condition +=" and dir.id= '"+id+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(wayerNo)){
            condition +=" and dir.wayer_no= '"+wayerNo+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(type)){
            condition +=" and dir.type= '"+type+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)){
            condition +=" and dir.create_time>= '"+startTime+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
            condition +=" and dir.create_time<= '"+endTime+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(drugName)){
            condition +=" and d.drug_name like '%"+drugName+"%'";
        }
        sql =sql+ condition+" ORDER BY dir.create_time DESC";
        List<Map<String,Object>> mapList = hibenateUtils.createSQLQuery(sql,page,size);
        String sqlCount = "SELECT\n" +
                "\tCOUNT(1) as count \n" +
                "FROM\n" +
                "\tt_medicine_drug_inventory_record dir\n" +
                "LEFT JOIN t_mediicine_drugs d ON dir.drug_id = d.id\n" +
                "LEFT JOIN base_user u ON u.id = dir.create_user "+
                "where dir.device_id= '"+deviceId+"' ";
        int count = jdbcTemplate.queryForObject(sqlCount+condition,Integer.class);
        listEnvelop.setPageSize(size);
        listEnvelop.setTotalPage(count);
        listEnvelop.setCurrPage(page);
        listEnvelop.setDetailModelList(mapList);
        return listEnvelop;
    }
    /**
     * 获取初始化设备列表
     * @param content

+ 4 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/role/RoleService.java

@ -58,4 +58,8 @@ public class RoleService extends BaseJpaService<RoleDO, RoleDao> {
        }
        return false;
    }
    public List<RoleDO> selectRoleList(){
        return  roleDao.findByStatus(1);
    }
}

+ 151 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -10,6 +10,8 @@ import com.yihu.jw.base.dao.role.BaseRoleMenuDao;
import com.yihu.jw.base.dao.role.RoleDao;
import com.yihu.jw.base.dao.saas.SaasDao;
import com.yihu.jw.base.dao.user.UserDao;
import com.yihu.jw.base.service.equipment.WlyyUserAreaService;
import com.yihu.jw.base.service.equipment.WlyyUserEquipmentService;
import com.yihu.jw.base.service.org.*;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
@ -77,6 +79,10 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
    @Autowired
    private WlyyUserAreaDao userAreaDao;
    @Autowired
    private WlyyUserAreaService userAreaService;
    @Autowired
    private WlyyUserEquipmentService equipmentService;
    @Autowired
    private WlyyUserEquipmentDao userEquipmentDao;
    
    @Autowired
@ -1170,4 +1176,149 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        return result;
    }
    public String addUserByIjk(JSONObject doctorJson) {
        String idcard = doctorJson.getString("idcard");
        String mobile = doctorJson.getString("mobile");
        if (StringUtils.isBlank(idcard)) {
            return "I健康账户信息不完整,添加失败";
        }
        UserDO userDO = userDao.findByMobile(mobile);
        if (userDO != null) {
            userDO.setSaasId("808080eb7bc87123017bf16ba0ad0046");
            userDO.setName(doctorJson.getString("name"));
            userDO.setIdcard(doctorJson.getString("idcard"));
            userDO.setUsername(doctorJson.getString("mobile"));
            userDO.setMobile(doctorJson.getString("mobile"));
            if (doctorJson.getInteger("sex") == 1) {
                userDO.setGender(UserDO.Gender.male);
            } else if (doctorJson.getInteger("sex") == 2) {
                userDO.setGender(UserDO.Gender.female);
            }
            //认证信息设置
            String salt = randomString(5);
            String pw = idcard.substring(idcard.length() - 6);
            userDO.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            userDO.setSalt(salt);
            userDO.setEnabled(1);
            userDO.setLocked(0);
            userDO.setCreateTime(new Date());
            userDO.setUpdateTime(new Date());
            userDO = userDao.save(userDO);
            //18补货员19社区药柜管理员20药柜区域管理员21药柜超级管理员
            String expandLevel = doctorJson.getString("expandLevel");
            RoleDO roleDO = roleDao.findOne(expandLevel);
            userDO.setRoleId(roleDO.getId());
            userDO = userDao.save(userDO);
            List<WlyyUserAreaDO> userAreaDOList = userAreaDao.findAllByUserId(userDO.getId());
            //先删除
            userAreaService.delete(userAreaDOList);
            WlyyUserAreaDO userAreaDO = new WlyyUserAreaDO();
            userAreaDO.setUserId(userDO.getId());
            userAreaDO.setCity(doctorJson.getString("city"));
            userAreaDO.setCityName(doctorJson.getString("cityName"));
            userAreaDO.setTown(doctorJson.getString("town"));
            userAreaDO.setTownName(doctorJson.getString("townName"));
            userAreaDO.setHospital(doctorJson.getString("hospital"));
            userAreaDO.setHospitalName(doctorJson.getString("hospitalName"));
            userAreaDO.setUpdateTime(new Date());
            userAreaDO.setCreateTime(new Date());
            userAreaDO.setDel(1);
            userAreaDao.save(userAreaDO);
            if (roleDO.getCode().equalsIgnoreCase("replenisher")) {
                String sql = "select d.id as id,d.equ_name as name from t_mediicine_device d where d.belong_community ='" + doctorJson.getString("hospital") + "' ";
                List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql);
                List<WlyyUserEquipmentDO> equipmentDOList = userEquipmentDao.findAllByUserId(userDO.getId());
                equipmentService.delete(equipmentDOList);
                for (Map<String, Object> map : mapList) {
                    WlyyUserEquipmentDO equipmentDO = new WlyyUserEquipmentDO();
                    String id = map.get("id").toString();
                    String name = map.get("name") == null ? "" : map.get("name").toString();
                    equipmentDO.setEquipmentId(id);
                    equipmentDO.setEquipmentName(name);
                    equipmentDO.setUserId(userDO.getId());
                    equipmentDO.setDel(1);
                    equipmentDO.setCityName(doctorJson.getString("cityName"));
                    equipmentDO.setCity(doctorJson.getString("city"));
                    equipmentDO.setTown(doctorJson.getString("town"));
                    equipmentDO.setTownName(doctorJson.getString("townName"));
                    equipmentDO.setHospital(doctorJson.getString("hospital"));
                    equipmentDO.setHospitalName(doctorJson.getString("hospitalName"));
                    equipmentDO.setCreateTime(new Date());
                    equipmentDO.setUpdateTime(new Date());
                    userEquipmentDao.save(equipmentDO);
                }
            }
        } else {
            //存储医生全科医生信息
            userDO = new UserDO();
            userDO.setSaasId("808080eb7bc87123017bf16ba0ad0046");
            userDO.setName(doctorJson.getString("name"));
            userDO.setIdcard(doctorJson.getString("idcard"));
            userDO.setUsername(doctorJson.getString("mobile"));
            userDO.setMobile(doctorJson.getString("mobile"));
            if (doctorJson.getInteger("sex") == 1) {
                userDO.setGender(UserDO.Gender.male);
            } else if (doctorJson.getInteger("sex") == 2) {
                userDO.setGender(UserDO.Gender.female);
            }
            //认证信息设置
            String salt = randomString(5);
            String pw = idcard.substring(idcard.length() - 6);
            userDO.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            userDO.setSalt(salt);
            userDO.setEnabled(1);
            userDO.setLocked(0);
            userDO.setCreateTime(new Date());
            userDO.setUpdateTime(new Date());
            userDO = userDao.save(userDO);
            //18补货员19社区药柜管理员20药柜区域管理员21药柜超级管理员
            String expandLevel = doctorJson.getString("expandLevel");
            RoleDO roleDO = roleDao.findOne(expandLevel);
            userDO.setRoleId(roleDO.getId());
            userDO = userDao.save(userDO);
            List<WlyyUserAreaDO> userAreaDOList = userAreaDao.findAllByUserId(userDO.getId());
            //先删除
            userAreaService.delete(userAreaDOList);
            WlyyUserAreaDO userAreaDO = new WlyyUserAreaDO();
            userAreaDO.setUserId(userDO.getId());
            userAreaDO.setCity(doctorJson.getString("city"));
            userAreaDO.setCityName(doctorJson.getString("cityName"));
            userAreaDO.setTown(doctorJson.getString("town"));
            userAreaDO.setTownName(doctorJson.getString("townName"));
            userAreaDO.setHospital(doctorJson.getString("hospital"));
            userAreaDO.setHospitalName(doctorJson.getString("hospitalName"));
            userAreaDO.setUpdateTime(new Date());
            userAreaDO.setCreateTime(new Date());
            userAreaDO.setDel(1);
            userAreaDao.save(userAreaDO);
            if (roleDO.getCode().equalsIgnoreCase("replenisher")) {
                String sql = "select d.id as id,d.equ_name as name from t_mediicine_device d where d.belong_community ='" + doctorJson.getString("hospital") + "' ";
                List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql);
                List<WlyyUserEquipmentDO> equipmentDOList = userEquipmentDao.findAllByUserId(userDO.getId());
                equipmentService.delete(equipmentDOList);
                for (Map<String, Object> map : mapList) {
                    WlyyUserEquipmentDO equipmentDO = new WlyyUserEquipmentDO();
                    String id = map.get("id").toString();
                    String name = map.get("name") == null ? "" : map.get("name").toString();
                    equipmentDO.setEquipmentId(id);
                    equipmentDO.setEquipmentName(name);
                    equipmentDO.setUserId(userDO.getId());
                    equipmentDO.setDel(1);
                    equipmentDO.setCityName(doctorJson.getString("cityName"));
                    equipmentDO.setCity(doctorJson.getString("city"));
                    equipmentDO.setTown(doctorJson.getString("town"));
                    equipmentDO.setTownName(doctorJson.getString("townName"));
                    equipmentDO.setHospital(doctorJson.getString("hospital"));
                    equipmentDO.setHospitalName(doctorJson.getString("hospitalName"));
                    equipmentDO.setCreateTime(new Date());
                    equipmentDO.setUpdateTime(new Date());
                    userEquipmentDao.save(equipmentDO);
                }
            }
        }
        return "添加成功";
    }
}