|
@ -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) {
|