MedicineStorageMapper.xml 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.miyzh.dao.MedicineStorageDao">
  4. <resultMap id="BaseResultMap" type="com.miyzh.entity.MedicineStorageTemp" extends="com.miyzh.dao.MedicineDao.BaseResultMap">
  5. <!--实际入库数量-->
  6. <result column="storage_quantity" jdbcType="VARCHAR" property="storageQuantity" />
  7. <!--机构入库编码-->
  8. <result column="store_storage_code" jdbcType="VARCHAR" property="storeStorageCode" />
  9. <!--入库人-->
  10. <result column="storage_man" jdbcType="VARCHAR" property="storageMan" />
  11. <!--入库时间-->
  12. <result column="storage_time" jdbcType="VARCHAR" property="storageTime" />
  13. </resultMap>
  14. <!--西药采购入库记录-->
  15. <select id="listMedicinePurchase" resultMap="BaseResultMap" parameterType="java.lang.String">
  16. SELECT DISTINCT
  17. cm.medicine_category as item_type,
  18. IF
  19. ( length( cm.med_ins_backup_id )> 0, cm.med_ins_backup_id, cm.medicine_id ) AS store_medicine_code,
  20. cm.medicine_c_name as store_medicine_name,
  21. cm.medicine_name_goods as store_medicine_trade_name,
  22. ifnull(idm.formulation, " ") as dosage_id,
  23. cm.medicine_dosage_forms as dosage_name,
  24. cm.medicine_specifications AS specification,
  25. cm.medicine_manufacturer_name as manufacturer,
  26. cm.medicine_place as place,
  27. cm.medicine_unit AS pack,
  28. " " as model,
  29. csi.stock_batch_number as batch_no,
  30. csi.create_time as medicine_deadline,
  31. csi.medicine_deadline as manufacture_time,
  32. cm.medicine_barcode as bar_code,
  33. "" as regist_no,
  34. csi.stock_channel as delivery_company,
  35. "999999999" as distributor,
  36. cp.purchase_no as store_storage_code,
  37. sum( csi.stock_change_number ) AS storage_quantity,
  38. csi.stock_bid AS price,
  39. cs.medicine_retail_price AS retail_price,
  40. "" as plat_item_code,
  41. "" as plat_item_name,
  42. idm.standard_menu_code as item_code,
  43. idm.insurance_medicine_name as item_name,
  44. cp.create_username AS storage_man,
  45. cp.create_time as storage_time
  46. FROM
  47. clc_medicine cm,
  48. clc_stock cs,
  49. clc_stock_inbound csi,
  50. clc_purchase cp,
  51. ins_d_medicine idm
  52. WHERE
  53. csi.medicine_id = cm.medicine_id
  54. AND csi.clinic_id = cm.clinic_id
  55. AND csi.clinic_id = cs.clinic_id
  56. AND csi.medicine_id = cs.medicine_id
  57. AND cs.warehouse_code = '1'
  58. AND cp.id = csi.purchase_id
  59. AND csi.clinic_id = #{clinicId}
  60. AND cm.is_base = 1
  61. and cp.purchase_no is not null
  62. AND idm.medicine_id = cm.medicine_id
  63. AND idm.clinic_id = cm.clinic_id
  64. GROUP BY
  65. cp.id,
  66. csi.medicine_id
  67. ORDER BY
  68. cp.create_time,
  69. csi.medicine_id
  70. </select>
  71. <!--中药采购入库记录-->
  72. <select id="listChinaMedicinePurchase" resultMap="BaseResultMap" parameterType="java.lang.String">
  73. SELECT DISTINCT
  74. IF (
  75. length(ccm.med_ins_backup_id) > 0,
  76. ccm.med_ins_backup_id,
  77. ccm.medicine_id
  78. ) AS store_medicine_code,
  79. ccm.medicine_name AS store_medicine_name,
  80. ccm.medicine_name AS store_medicine_trade_name,
  81. ifnull(idm.formulation, " ") AS dosage_id,
  82. ccm.medicine_rate_last AS dosage_name,
  83. ccm.medicine_specifications AS specification,
  84. ccm.medicine_manufacturer_name AS manufacturer,
  85. ccm.medicine_address AS place,
  86. idm.medicine_package AS pack,
  87. " " AS model,
  88. ccssf.stock_batch_number AS batch_no,
  89. ccssf.create_time AS medicine_deadline,
  90. ccssf.medicine_deadline AS manufacture_time,
  91. '00000000' AS bar_code,
  92. "" AS regist_no,
  93. ccssf.stock_channel AS delivery_company,
  94. "999999999" AS distributor,
  95. cp.purchase_no AS store_storage_code,
  96. sum(ccssf.stock_change_number) AS storage_quantity,
  97. ccssf.stock_bid AS price,
  98. cs.medicine_retail_price AS retail_price,
  99. "" AS plat_item_code,
  100. "" AS plat_item_name,
  101. idm.standard_menu_code AS item_code,
  102. idm.insurance_medicine_name AS item_name,
  103. cp.create_username AS storage_man,
  104. cp.create_time AS storage_time
  105. FROM
  106. clc_china_stock_storage_flow ccssf,
  107. clc_purchase cp,
  108. clc_china_medicine ccm,
  109. ins_d_medicine idm,
  110. clc_china_stock cs
  111. WHERE
  112. cp.id = ccssf.purchase_id
  113. AND .cp.clinic_id = ccssf.clinic_id
  114. AND ccm.medicine_id = ccssf.medicine_id
  115. AND ccm.clinic_id = ccssf.clinic_id
  116. AND ccm.medicine_id = idm.medicine_id
  117. AND ccm.clinic_id = idm.clinic_id
  118. AND cs.clinic_id = ccssf.clinic_id
  119. AND cs.medicine_id = ccssf.medicine_id
  120. AND ccssf.clinic_id = #{clinicId}
  121. AND cs.warehouse_code = '1'
  122. AND cp.purchase_no IS NOT NULL
  123. GROUP BY
  124. cp.id,
  125. ccssf.medicine_id
  126. ORDER BY
  127. cp.create_time,
  128. ccssf.medicine_id
  129. </select>
  130. <!--西药销售退回入库记录-->
  131. <select id="listMedicineOutbound" resultMap="BaseResultMap" parameterType="java.lang.String">
  132. </select>
  133. <!--中药销售退回入库记录-->
  134. <select id="listChinaMedicineOutbound" resultMap="BaseResultMap" parameterType="java.lang.String">
  135. </select>
  136. <!--西药盘点盘盈入库记录-->
  137. <select id="listMedicineInventory" resultMap="BaseResultMap" parameterType="java.lang.String">
  138. </select>
  139. <!--中药盘点盘盈入库记-->
  140. <select id="listChinaMedicineInventory" resultMap="BaseResultMap" parameterType="java.lang.String">
  141. SELECT DISTINCT
  142. IF (
  143. length(ccm.med_ins_backup_id) > 0,
  144. ccm.med_ins_backup_id,
  145. ccm.medicine_id
  146. ) AS store_medicine_cide,
  147. ccm.medicine_name AS store_medicine_name,
  148. ccm.medicine_name AS store_medicine_trade_name,
  149. ifnull(idm.formulation, " ") AS dosage_id,
  150. ccm.medicine_rate_last AS dosage_name,
  151. ccm.medicine_specifications AS specification,
  152. ccm.medicine_manufacturer_name AS manufacturer,
  153. ccm.medicine_address AS place,
  154. idm.medicine_package AS pack,
  155. " " AS model,
  156. cid.batch_number AS batch_no,
  157. cid.stock_date AS medicine_deadline,
  158. cid.deadline_date AS manufacture_time,
  159. '00000000' AS bar_cide,
  160. "" AS regist_no,
  161. cid.medicine_manufacture AS delivery_company,
  162. "999999999" AS distributor,
  163. '' AS store_storage_cide,
  164. sum(cid.stock_num) AS return_quantity,
  165. cid.stock_price AS price,
  166. cid.sale_price AS retail_price,
  167. "" AS plat_item_cide,
  168. "" AS plat_item_name,
  169. idm.standard_menu_code AS item_cide,
  170. idm.insurance_medicine_name AS item_name,
  171. ci.create_userName AS return_man,
  172. ci.create_time AS return_time
  173. FROM
  174. clc_inventory_detail cid,
  175. clc_china_medicine ccm,
  176. clc_inventory ci ,
  177. ins_d_medicine as idm
  178. WHERE
  179. cid.medicine_id = ccm.medicine_id
  180. AND cid.clinic_id = ccm.clinic_id
  181. AND cid.clinic_id = ci.clinic_id
  182. AND cid.inventory_id = ci.id
  183. AND ccm.medicine_id = idm.medicine_id
  184. AND ccm.clinic_id = idm.clinic_id
  185. AND cid.inventory_type = 1
  186. AND cid.clinic_id = #{clinicId}
  187. AND cid.biz_type IN ( 4 )
  188. ORDER BY
  189. ci.create_time,
  190. cid.medicine_id
  191. </select>
  192. </mapper>