| 
					
				 | 
			
			
				@ -3474,81 +3474,207 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql = "SELECT\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" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t* \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "FROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tt_mediicinecabinet_inventory tmi\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tLEFT JOIN t_mediicine_drugs tmd ON tmi.drug_id = tmd.id \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t(\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tSELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.equ_num,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.drug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.org_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.id AS id,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.approval_num AS approvalNum,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.barcode AS barcode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.brand AS brand,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.dos_form AS dosForm,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.state AS state,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_bar_code AS drugBarCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_class AS drugClass,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_class_code AS drugClassCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_code AS drugCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_name AS drugName,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_name_alies AS drugNameAlies,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_short_code AS drugShortCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_type_code AS drugTypeCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.earlywarningcate AS earlywarningcate,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.inventory AS inventory,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.manufactor AS manufactor,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.med_cabinet AS medCabinet,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.pic AS pic,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.price AS price,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.sale_volume AS saleVolume,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.self_code AS selfCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.specif AS specif,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.unit AS unit,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.create_time AS createTime,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.create_user AS createUser,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.create_user_name AS createUserName,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.update_time AS updateTime,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.update_user AS updateUser,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.update_user_name AS updateUserName,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_sku AS drugSku,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.drug_num AS drugNum,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.use_num AS useNum,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.use_way AS useWay,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.use_rate AS useRate,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.use_dose AS useDose,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.use_way_add AS useWayAdd,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.org_code AS orgCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.org_name AS orgName,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.quantity_unit AS quantityUnit,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.pack_unit AS packUnit,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmd.spell_code AS spellCode,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tifnull( sum( tmi.qty ), 0 ) AS qty,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tifnull( sum( tmi.rated_inventory ), 0 ) AS ratedInventory,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tsum( tmi.rated_inventory ) - sum( tmi.qty ) AS daibukucun \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tFROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tt_mediicinecabinet_inventory tmi\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tLEFT JOIN t_mediicine_drugs tmd ON tmi.drug_id = tmd.id \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tWHERE\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.id_device = '" + deviceId + "' \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND tmi.drug_code IS NOT NULL \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND tmi.org_code IS NOT NULL \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND ( tmi.state = 1 OR tmi.state = 21 ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tGROUP BY\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.equ_num,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.drug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\ttmi.org_code \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tHAVING\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tsum( tmi.qty ) < sum( tmi.rated_inventory ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t) AS a \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 \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "HAVING\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tsum( tmi.qty ) < sum( tmi.rated_inventory )"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tEXISTS (\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tSELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\t1 \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tFROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tt_medicine_warray_rule AS b \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\tWHERE\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tb.del = 1 \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND a.equ_num = b.equ_num \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND b.lower <= a.ratedInventory \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND a.ratedInventory <= b.upper \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\tAND (\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\t\t( b.match_unit = '件' AND a.qty < b.match_value ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\t\tOR ( b.match_unit = '%' AND a.qty < b.match_value * a.ratedInventory ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t\t) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    "\t)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            sql = "SELECT\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\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 \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 count(1) from (SELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "COUNT(DISTINCT(id))" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String countSql = "SELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tcount(1) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "FROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tt_mediicinecabinet_inventory\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tid_device = '" + deviceId + "'\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND drug_code IS NOT NULL\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND org_code IS NOT NULL\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "AND (state = 1 OR state = 21)\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "GROUP BY\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tdrug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\torg_code \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "HAVING\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tsum( qty ) < sum( rated_inventory )) as a "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t(\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tSELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.equ_num,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.drug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.org_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tifnull( sum( tmi.qty ), 0 ) AS qty,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tifnull( sum( tmi.rated_inventory ), 0 ) AS ratedInventory,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tsum( tmi.rated_inventory ) - sum( tmi.qty ) AS daibukucun \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tFROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tt_mediicinecabinet_inventory tmi\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tLEFT JOIN t_mediicine_drugs tmd ON tmi.drug_id = tmd.id \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tWHERE\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.id_device = '" + deviceId + "' \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND tmi.drug_code IS NOT NULL \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND tmi.org_code IS NOT NULL \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND ( tmi.state = 1 OR tmi.state = 21 ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tGROUP BY\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.equ_num,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.drug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\ttmi.org_code \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tHAVING\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tsum( tmi.qty ) < sum( tmi.rated_inventory ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t) AS a \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "WHERE\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tEXISTS (\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tSELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t1 \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tFROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tt_medicine_warray_rule AS b \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\tWHERE\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tb.del = 1 \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND a.equ_num = b.equ_num \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND b.lower <= a.ratedInventory \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND a.ratedInventory <= b.upper \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\tAND (\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\t( b.match_unit = '件' AND a.qty < b.match_value ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t\tOR ( b.match_unit = '%' AND a.qty < b.match_value * a.ratedInventory ) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t\t) \n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "\t)"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        String countSql = "select count(1) from (SELECT\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "COUNT(DISTINCT(id))" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "FROM\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "\tt_mediicinecabinet_inventory\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "WHERE" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "\tid_device = '" + deviceId + "'\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "AND drug_code IS NOT NULL\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "AND org_code IS NOT NULL\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "AND (state = 1 OR state = 21)\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "GROUP BY\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "\tdrug_code,\n" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                "\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) { 
			 |