wangzhinan 3 år sedan
förälder
incheckning
0e08c4989e

+ 61 - 59
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -3474,79 +3474,81 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        String sql = "";
        {
            sql = "SELECT\n" +
                    "tmd.id AS id,\n" +
                    "tmd.approval_num AS approvalNum,\n" +
                    "tmd.barcode AS barcode,\n" +
                    "tmd.brand AS brand,\n" +
                    "tmd.dos_form AS dosForm,\n" +
                    "tmd.state AS state,\n" +
                    "tmd.drug_bar_code AS drugBarCode,\n" +
                    "tmd.drug_class AS drugClass,\n" +
                    "tmd.drug_class_code AS drugClassCode,\n" +
                    "tmd.drug_code AS drugCode,\n" +
                    "tmd.drug_name AS drugName,\n" +
                    "tmd.drug_name_alies AS drugNameAlies,\n" +
                    "tmd.drug_short_code AS drugShortCode,\n" +
                    "tmd.drug_type_code AS drugTypeCode,\n" +
                    "tmd.earlywarningcate AS earlywarningcate,\n" +
                    "tmd.inventory AS inventory,\n" +
                    "tmd.manufactor AS manufactor,\n" +
                    "tmd.med_cabinet AS medCabinet,\n" +
                    "tmd.pic AS pic,\n" +
                    "tmd.price AS price,\n" +
                    "tmd.sale_volume AS saleVolume,\n" +
                    "tmd.self_code AS selfCode,\n" +
                    "tmd.specif AS specif,\n" +
                    "tmd.unit AS unit,\n" +
                    "tmd.create_time AS createTime,\n" +
                    "tmd.create_user AS createUser,\n" +
                    "tmd.create_user_name AS createUserName,\n" +
                    "tmd.update_time AS updateTime,\n" +
                    "tmd.update_user AS updateUser,\n" +
                    "tmd.update_user_name AS updateUserName,\n" +
                    "tmd.drug_sku AS drugSku,\n" +
                    "tmd.drug_num AS drugNum,\n" +
                    "tmd.use_num AS useNum,\n" +
                    "tmd.use_way AS useWay,\n" +
                    "tmd.use_rate AS useRate,\n" +
                    "tmd.use_dose AS useDose,\n" +
                    "tmd.use_way_add AS useWayAdd,\n" +
                    "tmd.org_code AS orgCode,\n" +
                    "tmd.org_name AS orgName,\n" +
                    "tmd.quantity_unit AS quantityUnit,\n" +
                    "tmd.pack_unit AS packUnit,\n" +
                    "tmd.spell_code AS spellCode,\n" +
                    "\tIFNULL(sum(tmi.qty), 0) AS qty,\n" +
                    "\t(\n" +
                    "\t\tIFNULL(tmi.rated_inventory - CAST(tmi.qty AS UNSIGNED), 0)\n" +
                    "\t) AS daibukucun\n" +
                    "\ttmd.id AS id,\n" +
                    "\ttmd.approval_num AS approvalNum,\n" +
                    "\ttmd.barcode AS barcode,\n" +
                    "\ttmd.brand AS brand,\n" +
                    "\ttmd.dos_form AS dosForm,\n" +
                    "\ttmd.state AS state,\n" +
                    "\ttmd.drug_bar_code AS drugBarCode,\n" +
                    "\ttmd.drug_class AS drugClass,\n" +
                    "\ttmd.drug_class_code AS drugClassCode,\n" +
                    "\ttmd.drug_code AS drugCode,\n" +
                    "\ttmd.drug_name AS drugName,\n" +
                    "\ttmd.drug_name_alies AS drugNameAlies,\n" +
                    "\ttmd.drug_short_code AS drugShortCode,\n" +
                    "\ttmd.drug_type_code AS drugTypeCode,\n" +
                    "\ttmd.earlywarningcate AS earlywarningcate,\n" +
                    "\ttmd.inventory AS inventory,\n" +
                    "\ttmd.manufactor AS manufactor,\n" +
                    "\ttmd.med_cabinet AS medCabinet,\n" +
                    "\ttmd.pic AS pic,\n" +
                    "\ttmd.price AS price,\n" +
                    "\ttmd.sale_volume AS saleVolume,\n" +
                    "\ttmd.self_code AS selfCode,\n" +
                    "\ttmd.specif AS specif,\n" +
                    "\ttmd.unit AS unit,\n" +
                    "\ttmd.create_time AS createTime,\n" +
                    "\ttmd.create_user AS createUser,\n" +
                    "\ttmd.create_user_name AS createUserName,\n" +
                    "\ttmd.update_time AS updateTime,\n" +
                    "\ttmd.update_user AS updateUser,\n" +
                    "\ttmd.update_user_name AS updateUserName,\n" +
                    "\ttmd.drug_sku AS drugSku,\n" +
                    "\ttmd.drug_num AS drugNum,\n" +
                    "\ttmd.use_num AS useNum,\n" +
                    "\ttmd.use_way AS useWay,\n" +
                    "\ttmd.use_rate AS useRate,\n" +
                    "\ttmd.use_dose AS useDose,\n" +
                    "\ttmd.use_way_add AS useWayAdd,\n" +
                    "\ttmd.org_code AS orgCode,\n" +
                    "\ttmd.org_name AS orgName,\n" +
                    "\ttmd.quantity_unit AS quantityUnit,\n" +
                    "\ttmd.pack_unit AS packUnit,\n" +
                    "\ttmd.spell_code AS spellCode,\n" +
                    "\tIFNULL( sum( tmi.qty ), 0 ) AS qty,\n" +
                    "\tIFNULL( sum(tmi.rated_inventory), 0) AS ratedInventory,\n" +
                    "\tsum(tmi.rated_inventory) - sum(tmi.qty) AS daibukucun \n" +
                    "FROM\n" +
                    "\tt_mediicinecabinet_inventory tmi LEFT JOIN t_mediicine_drugs tmd ON tmi.drug_id = tmd.id\n" +
                    "WHERE" +
                    "\ttmi.id_device = '" + deviceId + "'\n" +
                    "AND CAST(tmi.qty as UNSIGNED) < tmi.rated_inventory\n" +
                    "AND tmi.drug_code IS NOT NULL\n" +
                    "AND tmi.org_code IS NOT NULL\n" +
                    "AND (tmi.state = 1 OR tmi.state = 21)\n" +
                    "ORDER BY\n" +
                    "\tt_mediicinecabinet_inventory tmi\n" +
                    "\tLEFT JOIN t_mediicine_drugs tmd ON tmi.drug_id = tmd.id \n" +
                    "WHERE\n" +
                    "\ttmi.id_device = '"+ deviceId +"'\n" +
                    "\tAND tmi.drug_code IS NOT NULL \n" +
                    "\tAND tmi.org_code IS NOT NULL \n" +
                    "\tAND ( tmi.state = 1 OR tmi.state = 21 ) \n" +
                    "GROUP BY\n" +
                    "\ttmi.drug_code,\n" +
                    "\ttmi.org_code";
                    "\ttmi.org_code \n" +
                    "HAVING\n" +
                    "\tsum( tmi.qty ) < sum( tmi.rated_inventory )";
        }
        List<Map<String, Object>> list = null;
        list = hibenateUtils.createSQLQuery(sql,page,size);
        String countSql = "SELECT\n" +
        String countSql = "select count(1) from (SELECT\n" +
                "COUNT(DISTINCT(id))" +
                "FROM\n" +
                "\tt_mediicinecabinet_inventory\n" +
                "WHERE" +
                "\tid_device = '" + deviceId + "'\n" +
                "AND CAST(qty as UNSIGNED) < rated_inventory\n" +
                "AND drug_code IS NOT NULL\n" +
                "AND org_code IS NOT NULL\n" +
                "AND (state = 1 OR state = 21)\n" +
                "ORDER BY\n" +
                "GROUP BY\n" +
                "\tdrug_code,\n" +
                "\torg_code";
                "\torg_code \n" +
                "HAVING\n" +
                "\tsum( qty ) < sum( rated_inventory )) as a ";
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int count = jdbcTemplate.queryForObject(countSql,Integer.class);
        if (count == 0) {