szq 4 years ago
parent
commit
9f29c4bb60

+ 1 - 2
src/main/resources/mapper/MedicineReturnMapper.xml

@@ -368,8 +368,7 @@
                 AND cm.clinic_id = idm.clinic_id
                 AND cid.inventory_type = 2
                 AND cid.clinic_id = #{clinicId}
-
-                AND cid.biz_type IN ( 1, 2, 3 )
+                AND <![CDATA[cid.biz_type != 4]]>
             ORDER BY
                 ci.create_time,
                 cid.medicine_id

+ 90 - 101
src/main/resources/mapper/MedicineStorageMapper.xml

@@ -136,112 +136,101 @@
     <select id="listMedicineOutbound" resultMap="BaseResultMap" parameterType="java.lang.String">
         SELECT DISTINCT
             cm.medicine_category AS item_type,
-            IF
-                ( length( cm.med_ins_backup_id )> 0, cm.med_ins_backup_id, cm.medicine_id ) AS store_medicine_code,
-                cm.medicine_c_name AS store_medicine_name,
-                cm.medicine_name_goods AS store_medicine_trade_name,
-                ifnull( idm.formulation, " " ) AS dosage_id,
-                cm.medicine_dosage_forms AS dosage_name,
-                cm.medicine_specifications AS specification,
-                cm.medicine_manufacturer_name AS manufacturer,
-                cm.medicine_place AS place,
-                cm.medicine_unit AS pack,
-                " " AS model,
-                csi.stock_batch_number AS batch_no,
-                csi.create_time AS manufacture_time,
-                csi.medicine_deadline AS medicine_deadline,
-                cm.medicine_barcode AS bar_code,
-                "" AS regist_no,
-                csi.stock_channel AS delivery_company,
-                "999999999" AS distributor,
-                cp.purchase_no AS store_storage_code,
-                sum( csi.stock_change_number ) AS storage_quantity,
-                csi.stock_bid AS price,
-                cs.medicine_retail_price AS retail_price,
-                "" AS plat_item_code,
-                "" AS plat_item_name,
-                idm.standard_menu_code AS item_code,
-                idm.insurance_medicine_name AS item_name,
-                cpb.create_username AS storage_man,
-                cpb.create_time AS storage_time
-            FROM
-                clc_medicine cm,
-                clc_stock_inbound csi,
-                clc_purchase_back cpb,
-                ins_d_medicine idm,
-                clc_purchase cp,
-                clc_stock cs
-            WHERE
-                csi.medicine_id = cm.medicine_id
-                AND csi.clinic_id = cm.clinic_id
-                AND idm.medicine_id = cm.medicine_id
-                AND idm.clinic_id = cm.clinic_id
-                AND csi.stock_change_type = '02'
-                AND csi.purchase_id = cpb.purchase_id
-                AND cpb.purchase_id = cp.id
-                AND cs.clinic_id = csi.clinic_id
-                AND cs.medicine_id = csi.medicine_id
-                AND csi.clinic_id = #{clinicId}
-            GROUP BY
-                csi.medicine_id
-            ORDER BY
-                csi.medicine_id
+        IF
+            ( length( cm.med_ins_backup_id )> 0, cm.med_ins_backup_id, cm.medicine_id ) AS store_medicine_code,
+            cm.medicine_c_name AS store_medicine_name,
+            cm.medicine_name_goods AS store_medicine_trade_name,
+            ifnull( idm.formulation, " " ) AS dosage_id,
+            cm.medicine_dosage_forms AS dosage_name,
+            cm.medicine_specifications AS specification,
+            cm.medicine_manufacturer_name AS manufacturer,
+            cm.medicine_place AS place,
+            cm.medicine_unit AS pack,
+            " " AS model,
+            csd.stock_batch_number AS batch_no,
+            csd.stock_date AS manufacture_time,
+            csd.medicine_deadline AS medicine_deadline,
+            cm.medicine_barcode AS bar_code,
+            "" AS regist_no,
+            csd.stock_channel AS delivery_company,
+            "999999999" AS distributor,
+            csd.stock_batch_number AS store_storage_code,
+            sum( cso.change_number ) AS storage_quantity,
+            csd.stock_bid AS price,
+            cs.medicine_retail_price AS retail_price,
+            "" AS plat_item_code,
+            "" AS plat_item_name,
+            idm.standard_menu_code AS item_code,
+            idm.insurance_medicine_name AS item_name,
+            cso.doctor_name AS storage_man,
+            cso.stock_date AS storage_time
+        FROM
+            clc_medicine cm
+            LEFT JOIN clc_stock_outbound cso ON cso.medicine_id = cm.medicine_id
+            AND cm.clinic_id = cso.clinic_id
+            LEFT JOIN clc_stock_detail csd ON cso.stock_detail_id = csd.id
+            AND cm.clinic_id = csd.clinic_id
+            LEFT JOIN clc_stock cs ON cs.medicine_id = cm.medicine_id
+            AND cs.clinic_id = cm.clinic_id
+            left join ins_d_medicine idm
+            on idm.medicine_id = cm.medicine_id
+        WHERE
+            cm.clinic_id = #{clinicId}
+            AND cso.change_type IN ( '03', '04' )
+        GROUP BY
+            cso.medicine_id
+        ORDER BY
+            cso.medicine_id
     </select>
 
     <!--中药销售退回入库记录-->
     <select id="listChinaMedicineOutbound" resultMap="BaseResultMap" parameterType="java.lang.String">
         SELECT DISTINCT
             ccm.medicine_category AS item_type,
-            IF
-                ( length( ccm.med_ins_backup_id )> 0, ccm.med_ins_backup_id, ccm.medicine_id ) AS store_medicine_code,
-                ccm.medicine_name AS store_medicine_name,
-                ccm.medicine_name AS store_medicine_trade_name,
-                ifnull( idm.formulation, " " ) AS dosage_id,
-                ccm.medicine_rate_last AS dosage_name,
-                ccm.medicine_specifications AS specification,
-                ccm.medicine_manufacturer_name AS manufacturer,
-                ccm.medicine_address AS place,
-                ccm.medicine_unit AS pack,
-                " " AS model,
-                csi.stock_batch_number AS batch_no,
-                csi.stock_date AS manufacture_time,
-                csi.medicine_deadline AS medicine_deadline,
-                '00000000' AS bar_code,
-                "" AS regist_no,
-                csi.stock_channel AS delivery_company,
-                "999999999" AS distributor,
-                cp.purchase_no AS store_storage_code,
-                sum( csi.stock_change_number ) AS storage_quantity,
-                csi.stock_bid AS price,
-                ccssf.current_sale_price AS retail_price,
-                "" AS plat_item_code,
-                "" AS plat_item_name,
-                idm.standard_menu_code AS item_code,
-                idm.insurance_medicine_name AS item_name,
-                cpb.create_username AS storage_man,
-                cpb.create_time AS storage_time
-            FROM
-                clc_china_medicine ccm,
-                clc_china_stock_profit csi,
-                clc_purchase_back cpb,
-                ins_d_medicine idm,
-                clc_purchase cp,
-                clc_china_stock_storage_flow ccssf
-            WHERE
-                csi.medicine_id = ccm.medicine_id
-                AND csi.clinic_id = ccm.clinic_id
-                AND idm.medicine_id = ccm.medicine_id
-                AND idm.clinic_id = ccm.clinic_id
-                AND ccssf.stock_change_type = '02'
-                AND ccssf.stock_purchase_number = cpb.purchase_id
-                AND cpb.purchase_id = cp.id
-                AND ccssf.clinic_id = csi.clinic_id
-                AND ccssf.medicine_id = csi.medicine_id
-                AND csi.clinic_id = #{clinicId}
-            GROUP BY
-                csi.medicine_id
-            ORDER BY
-                csi.medicine_id
+        IF
+            ( length( ccm.med_ins_backup_id )> 0, ccm.med_ins_backup_id, ccm.medicine_id ) AS store_medicine_code,
+            ccm.medicine_name AS store_medicine_name,
+            ccm.medicine_name AS store_medicine_trade_name,
+            ifnull( idm.formulation, " " ) AS dosage_id,
+            ccm.medicine_rate_last AS dosage_name,
+            ccm.medicine_specifications AS specification,
+            ccm.medicine_manufacturer_name AS manufacturer,
+            ccm.medicine_address AS place,
+            ccm.medicine_unit AS pack,
+            " " AS model,
+            ccsp.stock_batch_number AS batch_no,
+            ccsp.stock_date AS manufacture_time,
+            ccsp.medicine_deadline AS medicine_deadline,
+            '00000000' AS bar_code,
+            "" AS regist_no,
+            ccsp.stock_channel AS delivery_company,
+            "999999999" AS distributor,
+            ccsp.stock_batch_number AS store_storage_code,
+            sum( cso.change_number ) AS storage_quantity,
+            ccsp.stock_bid AS price,
+            ccs.medicine_retail_price AS retail_price,
+            "" AS plat_item_code,
+            "" AS plat_item_name,
+            idm.standard_menu_code AS item_code,
+            idm.insurance_medicine_name AS item_name,
+            cso.doctor_name AS storage_man,
+            cso.stock_date AS storage_time
+        FROM
+            clc_china_medicine ccm
+            LEFT JOIN clc_stock_outbound cso ON cso.medicine_id = ccm.medicine_id
+            AND ccm.clinic_id = cso.clinic_id
+            LEFT JOIN clc_china_stock_profit ccsp ON cso.stock_detail_id = ccsp.id
+            AND ccm.clinic_id = ccsp.clinic_id
+            LEFT JOIN clc_china_stock ccs ON ccs.medicine_id = ccm.medicine_id
+            AND ccs.clinic_id = ccm.clinic_id
+            LEFT JOIN ins_d_medicine idm ON idm.medicine_id = ccm.medicine_id
+        WHERE
+            ccm.clinic_id = #{clinicId}
+            AND cso.change_type IN ( '03', '04' )
+        GROUP BY
+            cso.medicine_id
+        ORDER BY
+            cso.medicine_id
     </select>
 
     <!--西药盘点盘盈入库记录-->
@@ -290,7 +279,7 @@
                 AND cm.clinic_id = idm.clinic_id
                 AND cid.inventory_type = 1
                 AND cid.clinic_id = #{clinicId}
-                AND cid.biz_type IN ( 1, 2, 3 )
+                AND <![CDATA[cid.biz_type != 4]]>
             ORDER BY
                 ci.create_time,
                 cid.medicine_id