فهرست منبع

[物联网大屏统计接口]

wangzhinan 3 سال پیش
والد
کامیت
875d140167

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

@ -90,6 +90,16 @@ public class Mediicinedevice extends UuidIdentityEntityWithOperator{
     */
     */
    private String deliveryAddress;
    private String deliveryAddress;
    /**
     * 投放经度
     */
    private String lng;
    /**
     * 投放纬度
     */
    private String lat;
    /**
    /**
     * 升级情况
     * 升级情况
     */
     */
@ -532,4 +542,22 @@ public class Mediicinedevice extends UuidIdentityEntityWithOperator{
    public void setWaringHumidityLow(String waringHumidityLow) {
    public void setWaringHumidityLow(String waringHumidityLow) {
        this.waringHumidityLow = waringHumidityLow;
        this.waringHumidityLow = waringHumidityLow;
    }
    }
    public String getLng() {
        return lng;
    }
    public void setLng(String lng) {
        this.lng = lng;
    }
    public String getLat() {
        return lat;
    }
    public void setLat(String lat) {
        this.lat = lat;
    }
}
}

+ 13 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicineorder.java

@ -143,6 +143,11 @@ public class Mediicineorder extends UuidIdentityEntityWithOperator implements Se
     */
     */
    private String shippingEqu;
    private String shippingEqu;
    /**
     * 取药方式(1、扫码,2、医保卡)
     */
    private Integer shippingType;
    /**
    /**
     * 出货时间
     * 出货时间
     */
     */
@ -580,4 +585,12 @@ public class Mediicineorder extends UuidIdentityEntityWithOperator implements Se
    public void setBelongCommunity(String belongCommunity) {
    public void setBelongCommunity(String belongCommunity) {
        this.belongCommunity = belongCommunity;
        this.belongCommunity = belongCommunity;
    }
    }
    public Integer getShippingType() {
        return shippingType;
    }
    public void setShippingType(Integer shippingType) {
        this.shippingType = shippingType;
    }
}
}

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

@ -225,6 +225,9 @@ public class BaseRequestMapping {
        public static final String selectMediicinecabineInventoryById="/selectMediicinecabineInventoryById";
        public static final String selectMediicinecabineInventoryById="/selectMediicinecabineInventoryById";
        public static final String updateMediicinecabineInventoryInfoById = "/updateMediicinecabineInventoryInfoById";
        public static final String updateMediicinecabineInventoryInfoById = "/updateMediicinecabineInventoryInfoById";
        public static final String uploadDeviceInfo = "/uploadDeviceInfo";
        public static final String uploadDeviceInfo = "/uploadDeviceInfo";
        public static final String getDeviceList = "/getDeviceList";
        public static final String getDeviceInfo = "/getDeviceInfo";
    }
    }
    /**
    /**

+ 1 - 1
common/common-util/src/main/java/com/yihu/jw/util/common/LatitudeUtils.java

@ -153,7 +153,7 @@ public class LatitudeUtils {
    public static void main(String args[]){
    public static void main(String args[]){
        try {
        try {
            Map<String, String> json = LatitudeUtils.getGeocoderLatitude("厦门海沧区新阳海新阳光公寓15梯304");
            Map<String, String> json = LatitudeUtils.getGeocoderLatitude("厦门市湖里区禾山街道社区卫生服务中心");
            System.out.println("经度 : " + json.get("lng"));
            System.out.println("经度 : " + json.get("lng"));
            System.out.println("纬度 : " + json.get("lat"));
            System.out.println("纬度 : " + json.get("lat"));
        }catch (Exception e ){
        }catch (Exception e ){

+ 12 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicineDeviceDao.java

@ -14,6 +14,14 @@ public interface MediicineDeviceDao extends PagingAndSortingRepository<Mediicine
    @Query("select count(1) from Mediicinedevice a where a.del = 1 ")
    @Query("select count(1) from Mediicinedevice a where a.del = 1 ")
    long countAll();
    long countAll();
    //查询已使用设备
    @Query("select count(1) from Mediicinedevice a where a.del = 1 and a.belongCommunity is not null ")
    long countAllAndBelongCommunity();
    //查询未使用设备
    @Query("select count(1) from Mediicinedevice a where a.del = 1 and a.belongCommunity is null ")
    long countAllAndBelongCommunityAndDevice();
    //在线设备 离线设备 直接减
    //在线设备 离线设备 直接减
    @Query("select count(1) from Mediicinedevice a where a.del = 1 and a.status = 1 ")
    @Query("select count(1) from Mediicinedevice a where a.del = 1 and a.status = 1 ")
    long countOnline();
    long countOnline();
@ -29,6 +37,10 @@ public interface MediicineDeviceDao extends PagingAndSortingRepository<Mediicine
    @Query(value = "select * from t_mediicine_device as a where 1=1 limit ?1,?2 ",nativeQuery = true)
    @Query(value = "select * from t_mediicine_device as a where 1=1 limit ?1,?2 ",nativeQuery = true)
    Iterable<Mediicinedevice> findDeviceAll(int page, int size);
    Iterable<Mediicinedevice> findDeviceAll(int page, int size);
    //查询已使用设备列表
    @Query("select a from Mediicinedevice a where a.del = 1 and a.belongCommunity is not null  ")
    List<Mediicinedevice> selectByBelongComminity();
    Mediicinedevice findByBelongCommunity(String belongCommunity);
    Mediicinedevice findByBelongCommunity(String belongCommunity);
    Mediicinedevice findByBelongCommunityAndEquNum(String belongCommunity,String equNum);
    Mediicinedevice findByBelongCommunityAndEquNum(String belongCommunity,String equNum);

+ 3 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicineorderDao.java

@ -29,6 +29,9 @@ public interface MediicineorderDao extends PagingAndSortingRepository<Mediicineo
    @Query("select a from Mediicineorder a where a.orderNum=?1")
    @Query("select a from Mediicineorder a where a.orderNum=?1")
    Mediicineorder findByOrderNum(String order);
    Mediicineorder findByOrderNum(String order);
    @Query("select a from Mediicineorder a where a.shippingEqu=?1 and a.sellState=1 order by a.shippingTime desc ")
    List<Mediicineorder> findByEquNum(String equNum);
    Mediicineorder findMediicineorderByPickUpNum(String pickUpNum);
    Mediicineorder findMediicineorderByPickUpNum(String pickUpNum);
    Mediicineorder findMediicineorderByPickUpNumAndSellState(String pickUpNum, String sellState);
    Mediicineorder findMediicineorderByPickUpNumAndSellState(String pickUpNum, String sellState);

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

@ -162,9 +162,11 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
            @ApiParam(name = "status", value = "目标状态", required = true)
            @ApiParam(name = "status", value = "目标状态", required = true)
            @RequestParam(value = "status", required = true) String status,
            @RequestParam(value = "status", required = true) String status,
            @ApiParam(name = "msg", value = "信息描述", required = false)
            @ApiParam(name = "msg", value = "信息描述", required = false)
            @RequestParam(value = "msg", required = false) String msg
            @RequestParam(value = "msg", required = false) String msg,
            @ApiParam(name = "shippingType", value = "取药方式", required = false)
            @RequestParam(value = "shippingType", required = false) Integer shippingType
    ) throws Exception {
    ) throws Exception {
        JSONObject jsonObject =  orderservice.updateOrderOutStatus(shipmentLogId, status, msg);
        JSONObject jsonObject =  orderservice.updateOrderOutStatus(shipmentLogId, status, msg,shippingType);
        return success(jsonObject.getString("msg"));
        return success(jsonObject.getString("msg"));
    }
    }
@ -226,4 +228,21 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
        return success(deviceService.uploadDeviceInfo(equNum, temperature, humidity, type));
        return success(deviceService.uploadDeviceInfo(equNum, temperature, humidity, type));
    }
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.getDeviceInfo)
    @ApiOperation(value = "物联网大屏-获取某台设备详情")
    public Envelop getDeviceInfo(
            @ApiParam(name = "deviceId", value = "设备Id", required = true)
            @RequestParam(value = "deviceId", required = true) String deviceId,
            @ApiParam(name = "day", value = "天数", required = true)
            @RequestParam(value = "day", required = true) Integer day) throws Exception {
        return success(deviceService.getDeviceInfo(deviceId,day));
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.getDeviceList)
    @ApiOperation(value = "物联网大屏-获取设备列表")
    public Envelop getDeviceList() throws Exception {
        return success(deviceService.getDeviceList());
    }
}
}

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

@ -737,7 +737,7 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
     * @return
     * @return
     */
     */
    @Transactional(rollbackFor = Exception.class)
    @Transactional(rollbackFor = Exception.class)
    public JSONObject updateOrderOutStatus(String shipmentLogId, String status, String msg) {
    public JSONObject updateOrderOutStatus(String shipmentLogId, String status, String msg,Integer shippingType) {
        JSONObject result = new JSONObject();
        JSONObject result = new JSONObject();
        if (shipmentLogId == null || StringUtils.isEmpty(shipmentLogId)) {
        if (shipmentLogId == null || StringUtils.isEmpty(shipmentLogId)) {
            result.put("msg", "shipmentLogId is null or empty");
            result.put("msg", "shipmentLogId is null or empty");
@ -828,6 +828,7 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
            Mediicineorder mediicineorder = orderDao.findOne(medicineShipmentLog.getOrderId());
            Mediicineorder mediicineorder = orderDao.findOne(medicineShipmentLog.getOrderId());
            mediicineorder.setShippingEqu(medicineShipmentLog.getEquNum());
            mediicineorder.setShippingEqu(medicineShipmentLog.getEquNum());
            mediicineorder.setShippingTime(new Date());
            mediicineorder.setShippingTime(new Date());
            mediicineorder.setShippingType(shippingType);
            orderDao.save(mediicineorder);
            orderDao.save(mediicineorder);
        }
        }

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

@ -16,6 +16,7 @@ import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.util.common.LatitudeUtils;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.utils.hibernate.HibenateUtils;
@ -80,6 +81,9 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    @Autowired
    @Autowired
    private MediicinewarrayDao mediicinewarrayDao;
    private MediicinewarrayDao mediicinewarrayDao;
    @Autowired
    private MediicineorderDao mediicineorderDao;
    /**
    /**
     * 设备出货服务,创建设备,创建库存内容
     * 设备出货服务,创建设备,创建库存内容
@ -365,6 +369,13 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                    return result.toJSONString();
                    return result.toJSONString();
                }
                }
                mediicinedevice.setDeliveryAddress(address);
                mediicinedevice.setDeliveryAddress(address);
                Map<String,String> map = LatitudeUtils.getGeocoderLatitude(address);
                if (map!=null){
                    String lng = map.get("lng");
                    String lat = map.get("lat");
                    mediicinedevice.setLng(lng);
                    mediicinedevice.setLat(lat);
                }
                this.save(mediicinedevice);
                this.save(mediicinedevice);
            }
            }
        }
        }
@ -403,7 +414,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    /**
    /**
     * 更新设备升级情况
     * 更新设备升级情况
     * @param deviceId
     * @param deviceId
     * @param status
     * @param UpgrAdesitContent
     * @return
     * @return
     */
     */
    @Transactional(rollbackFor = Exception.class)
    @Transactional(rollbackFor = Exception.class)
@ -733,7 +744,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    /**
    /**
     * 货道开启与关闭
     * 货道开启与关闭
     * @param cargoIds
     * @param cargoIds
     * @param isMerge
     * @param cargoState
     * @return
     * @return
     */
     */
    public String openAndCloseCargo(String cargoIds, String cargoState){
    public String openAndCloseCargo(String cargoIds, String cargoState){
@ -3411,4 +3422,68 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        return inventory;
        return inventory;
    }
    }
    /**
     * 物联网大屏统计数据
     * @return
     */
    public JSONObject getDeviceList(){
        Long total = deviceDao.countAll();//总设备
        Long usedTotal  = deviceDao.countAllAndBelongCommunity();//已使用设备
        Long notUsedTotal = deviceDao.countAllAndBelongCommunityAndDevice();//未使用设备
        List<Mediicinedevice> mediicinedeviceList = deviceDao.selectByBelongComminity();//查询已使用设备
        JSONObject object = new JSONObject();
        object.put("total",total);
        object.put("usedTotal",usedTotal);
        object.put("notUsedTotal",notUsedTotal);
        object.put("usedDeviceList",mediicinedeviceList);
        return object;
    }
    /**
     * 物联网大屏单个设备信息数据
     * @return
     */
    public JSONObject getDeviceInfo(String deviceId,Integer day){
        JSONObject jsonObject = new JSONObject();
        Mediicinedevice mediicinedevice = deviceDao.findOne(deviceId);
        jsonObject.put("device",mediicinedevice);
        Date startDate = DateUtil.getPreDays(new Date(),-day);
        String endTime = DateUtil.getStringDate();
        String condition = " and o.shipping_time >='"+DateUtil.dateToStrLong(startDate)+"' and o.shipping_time <= '"+endTime+"' and o.shipping_equ = '"+mediicinedevice.getEquNum()+"' ";
        //扫码
        String saomasql = "SELECT DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") as \"date\", COUNT(1) AS \"count\" FROM " +
                "t_mediicine_order o WHERE o.sell_state=1 AND o.shipping_type=1 " +condition+
                "GROUP BY DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") ORDER BY DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") ASC";
        //医保
        String yibaosql = "SELECT DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") as \"date\", COUNT(1) AS \"count\" FROM " +
                "t_mediicine_order o WHERE o.sell_state=1 AND o.shipping_type=2 " +condition+
                "GROUP BY DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") ORDER BY DATE_FORMAT(o.shipping_time, \"%Y-%m-%d\") ASC";
        List<Map<String,Object>> saomaList  = jdbcTemplate.queryForList(saomasql);
        List<Map<String,Object>> yibaoList  = jdbcTemplate.queryForList(yibaosql);
        jsonObject.put("saomaList",saomaList);
        jsonObject.put("yibaoList",yibaoList);
        String shippingTypeTotal = "SELECT o.shipping_type as \"shippingType\", COUNT(1) as \"count\" FROM t_mediicine_order o " +
                " WHERE o.sell_state=1 "+condition+" GROUP BY o.shipping_type";
        List<Map<String,Object>> shippingTypeList = jdbcTemplate.queryForList(shippingTypeTotal);
        for (Map<String,Object> map:shippingTypeList){
            if (map.get("shippingType")!=null){
                String shippingType = map.get("shippingType").toString();
                if (shippingType.equalsIgnoreCase("1")){
                    map.put("shippingTypeName","扫码");
                }else if (shippingType.equalsIgnoreCase("2")){
                    map.put("shippingTypeName","医保");
                }
            }
        }
        jsonObject.put("shippingTypeTotal",shippingTypeList);
        List<Mediicineorder> mediicineorderList = mediicineorderDao.findByEquNum(mediicinedevice.getEquNum());
        jsonObject.put("mediicineorderList",mediicineorderList);
        return jsonObject;
    }
}
}