wangzhinan 3 years ago
parent
commit
f7595b6f2f

+ 24 - 8
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -5281,7 +5281,17 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        if ("replenisher".equals(role.getCode())) {
            deviceIds = mediicineDeviceUserDao.getdevicesbyuserid(userId, "1");
            conditionSql  = "AND ',"+ String.join(",", deviceIds) +",' LIKE CONCAT('%,',d.id,',%')\n";
            orderConditionSql  = "AND ',"+ String.join(",", deviceIds) +",' LIKE CONCAT('%,',d.shipping_equ,',%')\n";
//            orderConditionSql  = "AND ',"+ String.join(",", deviceIds) +",' LIKE CONCAT('%,',d.shipping_equ,',%')\n";
            List<String> belongCommunitys = new ArrayList<>();
            for (String deviceId : deviceIds) {
                Mediicinedevice mediicinedevice = deviceDao.findOne(deviceId);
                if (mediicinedevice != null) {
                    if (belongCommunitys.indexOf(mediicinedevice.getBelongCommunity()) == -1) {
                        belongCommunitys.add(mediicinedevice.getBelongCommunity());
                    }
                }
            }
            orderConditionSql += "AND ',"+ String.join(",", belongCommunitys) +",' LIKE CONCAT('%,',d.belong_community,',%')\n";
        } else {
            String belongCommunitys = "";
            String tempSql = "";
@ -5690,16 +5700,22 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
     */
    public JSONObject getPrescriptionStaticsByUserId(String belongCommunity, String userId,Integer day){
        JSONObject object = new JSONObject();
        String condition = "";
        UserDO user = userDao.findOne(userId);
        RoleDO role = roleDao.findOne(user.getRoleId());
        List<String> deviceIds = null;
        String conditionSql = "";
        String orderConditionSql = "";
        String oorderConditionSql = "";
        if ("replenisher".equals(role.getCode())) {
            deviceIds = mediicineDeviceUserDao.getdevicesbyuserid(userId, "1");
            condition  = "AND ',"+ String.join(",", deviceIds) +",' LIKE CONCAT('%,',o.shipping_equ,',%')\n";
            List<String> belongCommunitys = new ArrayList<>();
            for (String deviceId : deviceIds) {
                Mediicinedevice mediicinedevice = deviceDao.findOne(deviceId);
                if (mediicinedevice != null) {
                    if (belongCommunitys.indexOf(mediicinedevice.getBelongCommunity()) == -1) {
                        belongCommunitys.add(mediicinedevice.getBelongCommunity());
                    }
                }
            }
            orderConditionSql += "AND ',"+ String.join(",", belongCommunitys) +",' LIKE CONCAT('%,',o.belong_community,',%')\n";
        } else {
            String belongCommunitys = "";
            String tempSql = "";
@ -5751,7 +5767,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
                belongCommunitys = belongCommunity;
            }
            if (!StringUtils.isEmpty(belongCommunitys)) {
                condition += "AND ',"+ belongCommunitys +",' LIKE CONCAT('%,',o.belong_community,',%')\n";
                orderConditionSql += "AND ',"+ belongCommunitys +",' LIKE CONCAT('%,',o.belong_community,',%')\n";
            }
        }
        Date startDate = null;
@ -5766,7 +5782,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
            String endTime = DateUtil.getStringDate();
            timeCondition = " and o.create_time >='" + DateUtil.dateToStrLong(startDate) + "' and o.create_time <= '" + endTime + "'  ";
        }
        String sql = "SELECT count(1) as \"count\" FROM t_mediicine_order o WHERE 1=1 "+condition+ timeCondition;
        String sql = "SELECT count(1) as \"count\" FROM t_mediicine_order o WHERE 1=1 "+orderConditionSql+ timeCondition;
        Map<String,Object> totalMap = jdbcTemplate.queryForMap(sql);
        int total =0;
        if (totalMap!=null){
@ -5776,7 +5792,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        }
        object.put("total",total);
        String drugSql = "select sum(od.quantity) as quantity from t_mediicine_order_detail od where od.id_order IN (SELECT o.id as id  FROM t_mediicine_order o WHERE 1=1 "+condition+ timeCondition+")";
        String drugSql = "select sum(od.quantity) as quantity from t_mediicine_order_detail od where od.id_order IN (SELECT o.id as id  FROM t_mediicine_order o WHERE 1=1 "+orderConditionSql+ timeCondition+")";
        Map<String,Object> drugTotalMap = jdbcTemplate.queryForMap(drugSql);
        Double quantity =0.0;
        if (drugTotalMap!=null){