解决合并冲突
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inventorymanage.mapper.InventoryAdjustPriceMapper">
|
||||
|
||||
<select id="selectReceiptPageByAdjustPrice"
|
||||
resultType="com.openhis.web.inventorymanage.dto.InventoryAdjustPriceDto">
|
||||
SELECT T2.supply_bus_no,
|
||||
T2.status_enum,
|
||||
T2.type_enum,
|
||||
T2.approver_id,
|
||||
T2.approval_time,
|
||||
T2.applicant_id,
|
||||
T2.apply_time,
|
||||
T2.practitioner_id,
|
||||
T2.tenant_id,
|
||||
T2.category_enum
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE T1.status_enum IN (#{approval}, #{agree}, #{reject})
|
||||
AND T1.delete_flag != '1'
|
||||
AND T1.type_enum IN (#{medTypeEnum}
|
||||
, #{deviceTypeEnum}
|
||||
, #{activityTypeEnum}
|
||||
, #{healthTypeEnum})
|
||||
GROUP BY T1.bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
ORDER BY T1.apply_time desc) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="searchPageByExamine" resultType="com.openhis.web.adjustprice.dto.ChangePricePageDto">
|
||||
select t2.bus_no,
|
||||
t2.status_enum,
|
||||
t2.approver_id,
|
||||
t2.approval_time,
|
||||
t2.applicant_id,
|
||||
t2.applicant_time,
|
||||
t2.create_time,
|
||||
t2.item_category_enum,
|
||||
t2.tenant_id
|
||||
from (select t1.bus_no,
|
||||
t1.status_enum,
|
||||
t1.approver_id,
|
||||
t1.approval_time,
|
||||
t1.applicant_id,
|
||||
min(t1.applicant_time) as applicant_time,
|
||||
min(t1.create_time) as create_time,
|
||||
t1.item_category_enum,
|
||||
t1.tenant_id
|
||||
FROM adm_change_price_record t1
|
||||
where t1.delete_flag = '0'
|
||||
AND t1.status_enum IN (#{approval}, #{agree}, #{reject})
|
||||
AND t1.item_category_enum IN (#{medCategory}, #{deviceCategory}, #{activityCategory}, #{healthCategory})
|
||||
GROUP BY t1.bus_no, t1.status_enum, t1.approver_id, t1.approval_time, t1.applicant_id,
|
||||
t1.item_category_enum, t1.tenant_id
|
||||
ORDER BY t1.bus_no desc) as t2
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,324 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inventorymanage.mapper.ProductDetailAppMapper">
|
||||
|
||||
<select id="selectProductDetailsPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
SELECT ii.inventory_id,
|
||||
ii.production_date,
|
||||
ii.expiration_date,
|
||||
ii.remaining_days,
|
||||
ii.inventory_status_enum,
|
||||
ii.location_id,
|
||||
ii.location_store_id,
|
||||
ii.lot_number,
|
||||
ii.quantity,
|
||||
ii.supplier_id,
|
||||
ii.item_table,
|
||||
ii.item_name,
|
||||
ii.bus_no,
|
||||
ii.dev_category_code,
|
||||
ii.med_category_code,
|
||||
ii.chrgitm_lv,
|
||||
ii.manufacturer_text,
|
||||
ii.yb_no,
|
||||
ii.wb_str,
|
||||
ii.py_str,
|
||||
ii.unit_code,
|
||||
ii.min_unit_code,
|
||||
ii.part_percent,
|
||||
ii.approval_number,
|
||||
ii.dose_form_code,
|
||||
ii.total_volume,
|
||||
ii.sale_price,
|
||||
ii.charge_item_def_id,
|
||||
ii.purchase_price,
|
||||
ii.location_name,
|
||||
ii.location_store_name,
|
||||
ii.supplier_name
|
||||
FROM (SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table,
|
||||
mmd."name" AS item_name,
|
||||
mmd.bus_no,
|
||||
NULL AS dev_category_code,
|
||||
mmd.category_code AS med_category_code,
|
||||
mmd.chrgitm_lv,
|
||||
mmd.manufacturer_text,
|
||||
mmd.yb_no,
|
||||
mmd.wb_str,
|
||||
mmd.py_str,
|
||||
mmd.unit_code,
|
||||
mmd.min_unit_code,
|
||||
mmd.part_percent,
|
||||
mmd.approval_number,
|
||||
mm.dose_form_code,
|
||||
mm.total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{medMedicationDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0'
|
||||
UNION
|
||||
SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table,
|
||||
add2."name" AS item_name,
|
||||
add2.bus_no,
|
||||
add2.category_code AS dev_category_code,
|
||||
NULL AS med_category_code,
|
||||
add2.chrgitm_lv,
|
||||
add2.manufacturer_text,
|
||||
add2.yb_no,
|
||||
add2.wb_str,
|
||||
add2.py_str,
|
||||
add2.unit_code,
|
||||
add2.min_unit_code,
|
||||
add2.part_percent,
|
||||
add2.approval_number,
|
||||
NULL AS dose_form_code,
|
||||
add2.size AS total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wii.item_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{admDeviceDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0') AS ii
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.py_str
|
||||
</select>
|
||||
|
||||
<select id="selectProductDetailsPageX"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailPageDto">
|
||||
SELECT DISTINCT ii.inventory_id,
|
||||
ii.production_date,
|
||||
ii.expiration_date,
|
||||
ii.remaining_days,
|
||||
ii.inventory_status_enum,
|
||||
ii.location_id,
|
||||
ii.location_store_id,
|
||||
ii.lot_number,
|
||||
ii.quantity,
|
||||
ii.supplier_id,
|
||||
ii.item_table,
|
||||
ii.item_name,
|
||||
ii.bus_no,
|
||||
ii.dev_category_code,
|
||||
ii.med_category_code,
|
||||
ii.chrgitm_lv,
|
||||
ii.manufacturer_text,
|
||||
ii.yb_no,
|
||||
ii.wb_str,
|
||||
ii.py_str,
|
||||
ii.unit_code,
|
||||
ii.min_unit_code,
|
||||
ii.part_percent,
|
||||
ii.approval_number,
|
||||
ii.dose_form_code,
|
||||
ii.total_volume,
|
||||
ii.sale_price,
|
||||
ii.charge_item_def_id,
|
||||
ii.purchase_price,
|
||||
ii.location_name,
|
||||
ii.location_store_name,
|
||||
ii.supplier_name,
|
||||
sdd.dict_label AS unitCode_dictText,
|
||||
sdd2.dict_label AS minUnitCode_dictText,
|
||||
sdd3.dict_label AS devCategoryCode_dictText,
|
||||
sdd4.dict_label AS doseFormCode_dictText,
|
||||
sdd5.dict_label AS medCategoryCode_dictText
|
||||
FROM (SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{medMedicationDefinition} AS item_table,
|
||||
mmd."name" AS item_name,
|
||||
mmd.bus_no,
|
||||
NULL AS dev_category_code,
|
||||
mmd.category_code AS med_category_code,
|
||||
mmd.chrgitm_lv,
|
||||
mmd.manufacturer_text,
|
||||
mmd.yb_no,
|
||||
mmd.wb_str,
|
||||
mmd.py_str,
|
||||
mmd.unit_code,
|
||||
mmd.min_unit_code,
|
||||
mmd.part_percent,
|
||||
mmd.approval_number,
|
||||
mm.dose_form_code,
|
||||
mm.total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN med_medication_definition mmd
|
||||
ON wii.item_id = mmd.id
|
||||
AND mmd.delete_flag = '0'
|
||||
LEFT JOIN med_medication mm
|
||||
ON mmd.id = mm.medication_def_id
|
||||
AND mm.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{medMedicationDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0'
|
||||
UNION
|
||||
SELECT wii.id AS inventory_id,
|
||||
wii.production_date,
|
||||
wii.expiration_date,
|
||||
(wii.expiration_date::date - CURRENT_DATE) AS remaining_days,
|
||||
wii.inventory_status_enum,
|
||||
wii.location_id,
|
||||
wii.location_store_id,
|
||||
wii.lot_number,
|
||||
wii.quantity,
|
||||
wii.supplier_id,
|
||||
wii.tenant_id,
|
||||
#{admDeviceDefinition} AS item_table,
|
||||
add2."name" AS item_name,
|
||||
add2.bus_no,
|
||||
add2.category_code AS dev_category_code,
|
||||
NULL AS med_category_code,
|
||||
add2.chrgitm_lv,
|
||||
add2.manufacturer_text,
|
||||
add2.yb_no,
|
||||
add2.wb_str,
|
||||
add2.py_str,
|
||||
add2.unit_code,
|
||||
add2.min_unit_code,
|
||||
add2.part_percent,
|
||||
add2.approval_number,
|
||||
NULL AS dose_form_code,
|
||||
add2.size AS total_volume,
|
||||
acid.price AS sale_price,
|
||||
acid.id AS charge_item_def_id,
|
||||
acidd.amount AS purchase_price,
|
||||
al."name" AS location_name,
|
||||
al2."name" AS location_store_name,
|
||||
as2."name" AS supplier_name
|
||||
FROM wor_inventory_item wii
|
||||
LEFT JOIN adm_device_definition add2
|
||||
ON wii.item_id = add2.id
|
||||
AND add2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition acid
|
||||
ON wii.item_id = acid.instance_id
|
||||
AND acid.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_def_detail acidd
|
||||
ON acid.id = acidd.definition_id
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND acidd.condition_value = wii.lot_number
|
||||
AND acidd.delete_flag = '0'
|
||||
LEFT JOIN adm_location al
|
||||
ON wii.location_id = al.id
|
||||
AND al.delete_flag = '0'
|
||||
LEFT JOIN adm_location al2
|
||||
ON wii.location_store_id = al2.id
|
||||
AND al2.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier as2
|
||||
ON wii.supplier_id = as2.id
|
||||
AND as2.delete_flag = '0'
|
||||
WHERE wii.item_table = #{admDeviceDefinition}
|
||||
AND acidd.condition_code = #{lotNumberCost}
|
||||
AND wii.delete_flag = '0') AS ii
|
||||
LEFT JOIN sys_dict_data sdd ON ii.unit_code = sdd.dict_value AND sdd.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd2 ON ii.min_unit_code = sdd2.dict_value AND sdd2.dict_type = 'unit_code'
|
||||
LEFT JOIN sys_dict_data sdd3 ON ii.dev_category_code = sdd3.dict_value AND sdd3.dict_type = 'device_category_code'
|
||||
LEFT JOIN sys_dict_data sdd4 ON ii.dose_form_code = sdd4.dict_value AND sdd4.dict_type = 'dose_form_code'
|
||||
LEFT JOIN sys_dict_data sdd5 ON ii.med_category_code = sdd5.dict_value AND sdd5.dict_type = 'med_category_code'
|
||||
${ew.customSqlSegment}
|
||||
ORDER BY ii.py_str
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,523 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.web.inventorymanage.mapper.ProductDetailsMapper">
|
||||
|
||||
<select id="selectProductDetailsPage"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsPageDto">
|
||||
WITH latest_records AS (
|
||||
SELECT
|
||||
item_table,
|
||||
item_id,
|
||||
location_id,
|
||||
lot_number,
|
||||
trace_no,
|
||||
MAX(create_time) AS latest_time
|
||||
FROM
|
||||
adm_trace_no_manage
|
||||
WHERE delete_flag = '0'
|
||||
GROUP BY
|
||||
item_table,
|
||||
item_id,
|
||||
location_id,
|
||||
lot_number,
|
||||
trace_no
|
||||
)
|
||||
SELECT T6.id, --库存项目管理ID(停供用)
|
||||
T6.bus_no, --药品编码
|
||||
T6.medicine_name, --药品名称
|
||||
T6.py_str, --药品拼音
|
||||
T6.total_volume, --规格
|
||||
T6.chrgitm_lv, --医保等级
|
||||
T6.manufacturer_text, --厂家
|
||||
T6.lot_number, --批次号
|
||||
T6.category_code, --药品类型
|
||||
T6.item_type, --药品类型区分
|
||||
T6.part_percent, --拆零比
|
||||
T6.unit_code, --采购单位
|
||||
T6.quantity, --库存(小单位)
|
||||
T6.min_unit_code, --库存单位
|
||||
T6.price, --采购单价
|
||||
T6.production_date, --生产日期
|
||||
T6.expiration_date, --失效日期
|
||||
T6.remaining_days, --剩余天数
|
||||
T6.trace_no, --追溯码
|
||||
T6.status_enum, --药品状态(药品停用)
|
||||
T6.location_id,
|
||||
T6.location_name, --仓库
|
||||
T6.location_store_id,
|
||||
T6.location_store_name, --货位
|
||||
T6.form_enum, --仓库类型
|
||||
T6.supplier_id, --供应商
|
||||
T6.supply_name, --供应商名称
|
||||
T6.inventory_status_enum, --停供状态
|
||||
T6.dose_form_code, --剂型
|
||||
T6.approval_number, --批准文号/国药准字
|
||||
T6.retail_price, --零售价
|
||||
T6.tenant_id,
|
||||
T6.in_count,
|
||||
T6.out_count,
|
||||
T6.item_table,
|
||||
T6.item_id
|
||||
FROM (
|
||||
SELECT T1.id, --库存项目管理ID(停供用)
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" AS medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T3.total_volume, --规格
|
||||
T2.chrgitm_lv, --医保等级
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T2.category_code, --药品类型
|
||||
'0' AS item_type, --药品类型区分
|
||||
T2.part_percent, --拆零比
|
||||
T2.unit_code, --采购单位
|
||||
T1.quantity, --库存(小单位)
|
||||
T2.min_unit_code, --库存单位
|
||||
T1.price, --采购单价
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) AS remaining_days, --剩余天数
|
||||
T1.trace_no, --追溯码
|
||||
T3.status_enum, --药品状态(药品停用)
|
||||
T1.location_id,
|
||||
T5."name" AS location_name, --仓库
|
||||
T1.location_store_id,
|
||||
T4."name" AS location_store_name, --货位
|
||||
T5.form_enum, --仓库类型
|
||||
T1.supplier_id, --供应商
|
||||
T8.name AS supply_name, --供应商名称
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T3.dose_form_code, --剂型
|
||||
T2.approval_number, --批准文号/国药准字
|
||||
T10.amount AS retail_price, --零售价
|
||||
T1.tenant_id, --修复:添加逗号
|
||||
COALESCE(in_counts.in_count, 0) AS in_count,
|
||||
COALESCE(out_counts.out_count, 0) AS out_count,
|
||||
T1.item_table,
|
||||
T1.item_id
|
||||
FROM wor_inventory_item T1
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication T3
|
||||
ON T2.id = T3.medication_def_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.location_store_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T1.supplier_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T9
|
||||
ON T9.instance_table = 'med_medication_definition'
|
||||
AND T9.instance_id = T2.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT amount
|
||||
FROM adm_charge_item_def_detail
|
||||
WHERE definition_id = T9.id
|
||||
AND condition_value = T1.lot_number
|
||||
AND condition_code = '1'--1:批号进价
|
||||
AND delete_flag = '0'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
) T10 ON TRUE
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '1' THEN 1 ELSE 0 END) AS in_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) in_counts
|
||||
ON T1.item_table = in_counts.item_table
|
||||
AND T1.item_id = in_counts.item_id
|
||||
AND T1.location_id = in_counts.location_id
|
||||
AND T1.lot_number = in_counts.lot_number
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '2' THEN 1 ELSE 0 END) AS out_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) out_counts
|
||||
ON T1.item_table = out_counts.item_table
|
||||
AND T1.item_id = out_counts.item_id
|
||||
AND T1.location_id = out_counts.location_id
|
||||
AND T1.lot_number = out_counts.lot_number
|
||||
WHERE T1.delete_flag = '0'
|
||||
) AS T6
|
||||
${ew.customSqlSegment}
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT T7.id, --库存项目管理ID(停供用)
|
||||
T7.bus_no, --药品编码
|
||||
T7.medicine_name, --药品名称
|
||||
T7.py_str, --药品拼音
|
||||
T7.total_volume, --规格
|
||||
T7.chrgitm_lv, --医保等级
|
||||
T7.manufacturer_text, --厂家
|
||||
T7.lot_number, --批次号
|
||||
T7.category_code, --药品类型
|
||||
T7.item_type, --药品类型区分
|
||||
T7.part_percent, --拆零比
|
||||
T7.unit_code, --采购单位
|
||||
T7.quantity, --库存(小单位)
|
||||
T7.min_unit_code, --库存单位
|
||||
T7.price, --采购单价
|
||||
T7.production_date, --生产日期
|
||||
T7.expiration_date, --失效日期
|
||||
T7.remaining_days, --剩余天数
|
||||
T7.trace_no, --追溯码
|
||||
T7.status_enum, --药品状态(药品停用)
|
||||
T7.location_id,
|
||||
T7.location_name, --仓库
|
||||
T7.location_store_id,
|
||||
T7.location_store_name, --货位
|
||||
T7.form_enum, --仓库类型
|
||||
T7.supplier_id, --供应商
|
||||
T7.supply_name, --供应商名称
|
||||
T7.inventory_status_enum, --停供状态
|
||||
T7.dose_form_code, --剂型
|
||||
T7.approval_number, --批准文号/国药准字
|
||||
T7.retail_price, --零售价
|
||||
T7.tenant_id,
|
||||
T7.in_count,
|
||||
T7.out_count,
|
||||
T7.item_table,
|
||||
T7.item_id
|
||||
FROM (
|
||||
SELECT T1.id, --库存项目管理ID(停供用)
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" AS medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T2.size AS total_volume, --规格
|
||||
T2.chrgitm_lv, --医保等级
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T2.category_code, --药品类型
|
||||
'9' AS item_type, --药品类型区分
|
||||
T2.part_percent, --拆零比
|
||||
T2.unit_code, --采购单位
|
||||
T1.quantity, --库存(小单位)
|
||||
T2.min_unit_code, --库存单位
|
||||
T1.price, --采购单价
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) AS remaining_days, --剩余天数
|
||||
T1.trace_no, --追溯码
|
||||
T2.status_enum, --药品状态(药品停用)
|
||||
T1.location_id,
|
||||
T5."name" AS location_name, --仓库
|
||||
T1.location_store_id,
|
||||
T4."name" AS location_store_name, --货位
|
||||
T5.form_enum, --仓库类型
|
||||
T1.supplier_id, --供应商
|
||||
T8.name AS supply_name, --供应商名称
|
||||
T1.inventory_status_enum, --停供状态
|
||||
'0' AS dose_form_code, --剂型
|
||||
T2.approval_number, --批准文号/国药准字
|
||||
T10.amount AS retail_price, --零售价
|
||||
T1.tenant_id, --修复:添加逗号
|
||||
COALESCE(in_counts.in_count, 0) AS in_count,
|
||||
COALESCE(out_counts.out_count, 0) AS out_count,
|
||||
T1.item_table,
|
||||
T1.item_id
|
||||
FROM wor_inventory_item T1
|
||||
INNER JOIN adm_device_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T1.location_store_id = T4.id
|
||||
AND T4.delete_flag = '0'
|
||||
LEFT JOIN adm_location T5
|
||||
ON T1.location_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T8
|
||||
ON T1.supplier_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T9
|
||||
ON T9.instance_table = 'adm_device_definition'
|
||||
AND T9.instance_id = T2.id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN LATERAL (
|
||||
SELECT amount
|
||||
FROM adm_charge_item_def_detail
|
||||
WHERE definition_id = T9.id
|
||||
AND condition_value = T1.lot_number
|
||||
AND condition_code = '1'--1:批号进价
|
||||
AND delete_flag = '0'
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 1
|
||||
) T10 ON TRUE
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '1' THEN 1 ELSE 0 END) AS in_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) in_counts
|
||||
ON T1.item_table = in_counts.item_table
|
||||
AND T1.item_id = in_counts.item_id
|
||||
AND T1.location_id = in_counts.location_id
|
||||
AND T1.lot_number = in_counts.lot_number
|
||||
LEFT JOIN (
|
||||
SELECT ls.item_table,
|
||||
ls.item_id,
|
||||
ls.location_id,
|
||||
ls.lot_number,
|
||||
SUM(CASE WHEN T10.status_enum = '2' THEN 1 ELSE 0 END) AS out_count
|
||||
FROM latest_records ls
|
||||
LEFT JOIN adm_trace_no_manage T10
|
||||
ON T10.item_table = ls.item_table
|
||||
AND T10.item_id = ls.item_id
|
||||
AND T10.location_id = ls.location_id
|
||||
AND T10.lot_number = ls.lot_number
|
||||
AND T10.trace_no = ls.trace_no
|
||||
AND T10.create_time = ls.latest_time
|
||||
GROUP BY ls.item_table, ls.item_id, ls.location_id, ls.lot_number
|
||||
) out_counts
|
||||
ON T1.item_table = out_counts.item_table
|
||||
AND T1.item_id = out_counts.item_id
|
||||
AND T1.location_id = out_counts.location_id
|
||||
AND T1.lot_number = out_counts.lot_number
|
||||
WHERE T1.delete_flag = '0'
|
||||
) AS T7
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectProductDetailsPageTotal"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsTotalDto">
|
||||
SELECT
|
||||
ROUND( SUM ( sale_price ), 2 ) AS total_sale_price,--总零售价
|
||||
ROUND( SUM ( purchase_price ), 2 ) AS total_purchase_price --总进价
|
||||
FROM
|
||||
(
|
||||
<if test="itemType == 99 or itemType == 9">
|
||||
SELECT
|
||||
ROUND(SUM (ROUND( T4.amount, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS sale_price,
|
||||
ROUND(SUM (ROUND( T1.price, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS purchase_price
|
||||
FROM
|
||||
wor_inventory_item T1
|
||||
INNER JOIN adm_device_definition T2 ON T1.item_id = T2.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T3 ON T3.instance_table = 'adm_device_definition'
|
||||
AND T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN LATERAL ( SELECT amount FROM adm_charge_item_def_detail WHERE definition_id = T3.ID AND condition_value = T1.lot_number AND condition_code = '1' AND delete_flag = '0' ORDER BY create_time DESC LIMIT 1 ) T4 ON TRUE
|
||||
LEFT JOIN adm_supplier T5 ON T1.supplier_id = T5.ID
|
||||
AND T5.delete_flag = '0'
|
||||
<if test="sqlWhere != '' and sqlWhere != null">
|
||||
<where>
|
||||
${sqlWhere}
|
||||
</where>
|
||||
</if>
|
||||
</if>
|
||||
<if test="itemType == 99 ">
|
||||
UNION ALL
|
||||
</if>
|
||||
<if test="itemType == 99 or itemType == 0">
|
||||
SELECT
|
||||
ROUND(SUM (ROUND( T4.amount, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS sale_price,
|
||||
ROUND(SUM (ROUND( T1.price, 2 ) * ( ROUND( T1.quantity, 2 ) / ROUND( T2.part_percent, 2 ) ) ),2 ) AS purchase_price
|
||||
FROM
|
||||
wor_inventory_item T1
|
||||
INNER JOIN med_medication_definition T2 ON T1.item_id = T2.ID
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_charge_item_definition T3 ON T3.instance_table = 'med_medication_definition'
|
||||
AND T3.instance_id = T1.item_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN LATERAL ( SELECT amount FROM adm_charge_item_def_detail WHERE definition_id = T3.ID AND condition_value = T1.lot_number AND condition_code = '1' AND delete_flag = '0' ORDER BY create_time DESC LIMIT 1 ) T4 ON TRUE
|
||||
LEFT JOIN adm_supplier T5 ON T1.supplier_id = T5.ID
|
||||
AND T5.delete_flag = '0'
|
||||
<if test="sqlWhere != '' and sqlWhere != null">
|
||||
<where>
|
||||
${sqlWhere}
|
||||
</where>
|
||||
</if>
|
||||
</if>
|
||||
)
|
||||
</select>
|
||||
<select id="selectExpirationWarning"
|
||||
resultType="com.openhis.web.inventorymanage.dto.ProductDetailsPageDto">
|
||||
select T6.category_code, --药品类型
|
||||
T6.item_type, --药品类型区分
|
||||
T6.bus_no, --药品编码
|
||||
T6.medicine_name, --药品名称
|
||||
T6.py_str, --药品拼音
|
||||
T6.total_volume, --规格
|
||||
T6.manufacturer_text, --厂家
|
||||
T6.lot_number, --批次号
|
||||
T6.production_date, --生产日期
|
||||
T6.expiration_date, --失效日期
|
||||
T6.remaining_days, --剩余天数
|
||||
T6.remaining_month, --剩余月数
|
||||
T6.quantity, --库存(小单位)
|
||||
T6.specification_quantity,--规格库存(小单位)
|
||||
T6.item_min_quantity, --最小库存警戒数量
|
||||
T6.item_max_quantity, --最大库存警戒数量
|
||||
T6.min_unit_code, --库存单位
|
||||
T6.status_enum, --药品状态(药品停用)
|
||||
T6.inventory_status_enum, --停供状态
|
||||
T6.tenant_id
|
||||
from (select T2.category_code, --药品类型
|
||||
'0' as item_type, --药品类型区分
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" as medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T3.total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) as remaining_days, --剩余天数
|
||||
((EXTRACT(YEAR FROM T1.expiration_date) - EXTRACT(YEAR FROM CURRENT_DATE)) * 12
|
||||
+ (EXTRACT(MONTH FROM T1.expiration_date) -
|
||||
EXTRACT(MONTH FROM CURRENT_DATE))) as remaining_month, --剩余月数
|
||||
T1.quantity, --库存(小单位)
|
||||
COALESCE(CAST(T8.specification_quantity AS DECIMAL(18, 6)), 0.00) AS specification_quantity,--规格库存(小单位)
|
||||
T2.item_min_quantity * T2.part_percent AS item_min_quantity, --最小库存警戒数量
|
||||
T2.item_max_quantity * T2.part_percent AS item_max_quantity, --最大库存警戒数量
|
||||
T2.min_unit_code, --库存单位
|
||||
T3.status_enum, --药品状态(药品停用)
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T1.tenant_id
|
||||
from wor_inventory_item T1
|
||||
inner join med_medication_definition T2
|
||||
on T1.item_id = T2.id
|
||||
and T2.delete_flag = '0'
|
||||
left join med_medication T3
|
||||
on T2.id = T3.medication_def_id
|
||||
and T3.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.location_store_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.location_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
LEFT JOIN (SELECT i1.item_table,
|
||||
i1.item_id,
|
||||
COALESCE(CAST(SUM(i1.quantity) AS DECIMAL(18, 6)), 0.00) AS specification_quantity
|
||||
FROM wor_inventory_item i1
|
||||
LEFT JOIN med_medication_definition i2 ON i1.item_id = i2.ID
|
||||
AND i2.delete_flag = '0'
|
||||
WHERE i1.item_table = 'med_medication_definition'
|
||||
AND i1.delete_flag = '0'
|
||||
GROUP BY i1.item_table,
|
||||
i1.item_id) T8
|
||||
ON T8.item_table = 'med_medication_definition'
|
||||
AND T8.item_id = T2.ID
|
||||
where T1.delete_flag = '0'
|
||||
<if test="flg != null">
|
||||
and (T8.specification_quantity <![CDATA[ <= ]]> T2.item_min_quantity * T2.part_percent
|
||||
or T8.specification_quantity <![CDATA[ >= ]]> T2.item_max_quantity * T2.part_percent)
|
||||
</if>
|
||||
order by T2.bus_no ASC, --药品编码
|
||||
T2."name" ASC --药品名称
|
||||
) as T6
|
||||
${ew.customSqlSegment}
|
||||
union all
|
||||
select T7.category_code, --药品类型
|
||||
T7.item_type, --药品类型区分
|
||||
T7.bus_no, --药品编码
|
||||
T7.medicine_name, --药品名称
|
||||
T7.py_str, --药品拼音
|
||||
T7.total_volume, --规格
|
||||
T7.manufacturer_text, --厂家
|
||||
T7.lot_number, --批次号
|
||||
T7.production_date, --生产日期
|
||||
T7.expiration_date, --失效日期
|
||||
T7.remaining_days, --剩余天数
|
||||
T7.remaining_month, --剩余月数
|
||||
T7.quantity, --库存(小单位)
|
||||
T7.specification_quantity,--规格库存(小单位)
|
||||
T7.item_min_quantity, --最小库存警戒数量
|
||||
T7.item_max_quantity, --最大库存警戒数量
|
||||
T7.min_unit_code, --库存单位
|
||||
T7.status_enum, --药品状态(药品停用)
|
||||
T7.inventory_status_enum, --停供状态
|
||||
T7.tenant_id
|
||||
from (select T2.category_code, --药品类型
|
||||
'9' as item_type, --药品类型区分
|
||||
T2.bus_no, --药品编码
|
||||
T2."name" as medicine_name, --药品名称
|
||||
T2.py_str, --药品拼音
|
||||
T2.size as total_volume, --规格
|
||||
T2.manufacturer_text, --厂家
|
||||
T1.lot_number, --批次号
|
||||
T1.production_date, --生产日期
|
||||
T1.expiration_date, --失效日期
|
||||
(T1.expiration_date::date - CURRENT_DATE) as remaining_days, --剩余天数
|
||||
((EXTRACT(YEAR FROM T1.expiration_date) - EXTRACT(YEAR FROM CURRENT_DATE)) * 12
|
||||
+ (EXTRACT(MONTH FROM T1.expiration_date) -
|
||||
EXTRACT(MONTH FROM CURRENT_DATE))) as remaining_month, --剩余月数
|
||||
T1.quantity, --库存(小单位)
|
||||
COALESCE(CAST(T8.specification_quantity AS DECIMAL(18, 6)), 0.00) AS specification_quantity,--规格库存(小单位)
|
||||
T2.item_min_quantity * T2.part_percent AS item_min_quantity, --最小库存警戒数量
|
||||
T2.item_max_quantity * T2.part_percent AS item_max_quantity, --最大库存警戒数量
|
||||
T2.min_unit_code, --库存单位
|
||||
T2.status_enum, --药品状态(药品停用)
|
||||
T1.inventory_status_enum, --停供状态
|
||||
T1.tenant_id
|
||||
from wor_inventory_item T1
|
||||
inner join adm_device_definition T2
|
||||
on T1.item_id = T2.id
|
||||
and T2.delete_flag = '0'
|
||||
left join adm_location T4
|
||||
on T1.location_store_id = T4.id
|
||||
and T4.delete_flag = '0'
|
||||
left join adm_location T5
|
||||
on T1.location_id = T5.id
|
||||
and T5.delete_flag = '0'
|
||||
LEFT JOIN (SELECT i1.item_table,
|
||||
i1.item_id,
|
||||
COALESCE(CAST(SUM(i1.quantity) AS DECIMAL(18, 6)), 0.00) AS specification_quantity
|
||||
FROM wor_inventory_item i1
|
||||
LEFT JOIN adm_device_definition i2 ON i1.item_id = i2.ID
|
||||
AND i2.delete_flag = '0'
|
||||
WHERE i1.item_table = 'adm_device_definition'
|
||||
AND i1.delete_flag = '0'
|
||||
GROUP BY i1.item_table,
|
||||
i1.item_id) T8
|
||||
ON T8.item_table = 'adm_device_definition'
|
||||
AND T8.item_id = T2.ID
|
||||
where T1.delete_flag = '0'
|
||||
<if test="flg != null">
|
||||
and (T8.specification_quantity <![CDATA[ <= ]]> T2.item_min_quantity * T2.part_percent
|
||||
or T8.specification_quantity <![CDATA[ >= ]]> T2.item_max_quantity * T2.part_percent)
|
||||
</if>
|
||||
order by T2.bus_no ASC, --药品编码
|
||||
T2."name" ASC --药品名称
|
||||
) as T7
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -15,6 +15,7 @@
|
||||
T2.practitioner_id,
|
||||
T2.item_table,
|
||||
T2.purpose_type_enum,
|
||||
T2.category_enum,
|
||||
CASE
|
||||
WHEN EXISTS (
|
||||
SELECT 1
|
||||
@@ -36,7 +37,8 @@
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
FROM wor_supply_request AS T1
|
||||
WHERE type_enum = #{purchaseInventory}
|
||||
AND T1.delete_flag = '0'
|
||||
@@ -50,10 +52,11 @@
|
||||
T1.practitioner_id,
|
||||
T1.item_table,
|
||||
T1.purpose_type_enum,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.category_enum
|
||||
ORDER BY T1.bus_no desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="selectDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id,
|
||||
@@ -74,7 +77,11 @@
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2.part_percent,
|
||||
<<<<<<< HEAD
|
||||
T2.manufacturer_text AS manufacturer_text,
|
||||
=======
|
||||
T2.manufacturer_text,
|
||||
>>>>>>> upstream/develop
|
||||
T3.total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
@@ -84,11 +91,13 @@
|
||||
T10."name" AS supplier_name,
|
||||
T1.occurrence_time,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
FROM wor_supply_request T1
|
||||
<<<<<<< HEAD
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN med_medication T3
|
||||
@@ -104,8 +113,32 @@
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
=======
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
AND T2.delete_flag = '0'
|
||||
LEFT JOIN med_medication T3
|
||||
ON T3.medication_def_id = T2.id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
>>>>>>> upstream/develop
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
@@ -125,7 +158,11 @@
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8.part_percent,
|
||||
<<<<<<< HEAD
|
||||
T8.manufacturer_text AS manufacturer_text,
|
||||
=======
|
||||
T8.manufacturer_text,
|
||||
>>>>>>> upstream/develop
|
||||
T8."size" AS total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
@@ -138,6 +175,7 @@
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
<<<<<<< HEAD
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
@@ -245,28 +283,141 @@
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
=======
|
||||
) AS total_quantity,
|
||||
T10."name" AS supplier_name
|
||||
>>>>>>> upstream/develop
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
ON T1.item_id = T8.id
|
||||
AND T8.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
AND T5.delete_flag = '0'
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
AND T6.delete_flag = '0'
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
AND T7.delete_flag = '0'
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
<<<<<<< HEAD
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
=======
|
||||
AND T9.delete_flag = '0'
|
||||
LEFT JOIN adm_supplier T10
|
||||
ON T1.supplier_id = T10.id
|
||||
AND T10.delete_flag = '0'
|
||||
WHERE T1.bus_no = #{busNo}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
<select id="getMonthlySettlementDetail" resultType="com.openhis.web.inventorymanage.dto.ReceiptDetailDto">
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.item_quantity,
|
||||
T1.item_table,
|
||||
T1.unit_code,
|
||||
T1.remake,
|
||||
T1.purpose_type_enum,
|
||||
T1.occurrence_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T2."name" AS item_name,
|
||||
T2.id AS item_id,
|
||||
T2.part_percent,
|
||||
T2.manufacturer_text AS supplier_name,
|
||||
T3.total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
T6."id" AS purpose_location_id,
|
||||
T7."name" AS purpose_location_store_name,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN med_medication_definition T2
|
||||
ON T1.item_id = T2.id
|
||||
LEFT JOIN med_medication T3
|
||||
ON T3.medication_def_id = T2.id
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
>>>>>>> upstream/develop
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{medicationTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
UNION
|
||||
SELECT T1.id,
|
||||
T1.bus_no,
|
||||
T1.item_quantity,
|
||||
T1.item_table,
|
||||
T1.unit_code,
|
||||
T1.remake,
|
||||
T1.purpose_type_enum,
|
||||
T1.occurrence_time,
|
||||
T1.lot_number,
|
||||
T1.trace_no,
|
||||
T1.invoice_no,
|
||||
T1.start_time,
|
||||
T1.end_time,
|
||||
T1.price,
|
||||
T1.total_price,
|
||||
T8."name" AS item_name,
|
||||
T8.id AS item_id,
|
||||
T8.part_percent,
|
||||
T8.manufacturer_text AS supplier_name,
|
||||
T8."size" AS total_volume,
|
||||
T5."name" AS practitioner_name,
|
||||
T6."name" AS purpose_location_name,
|
||||
T6."id" AS purpose_location_id,
|
||||
T7."name" AS purpose_location_store_name,
|
||||
(SELECT SUM(T9.quantity)
|
||||
FROM wor_inventory_item T9
|
||||
WHERE T9.item_id = T1.item_id
|
||||
AND T9.location_id = T1.purpose_location_id
|
||||
) AS total_quantity
|
||||
FROM wor_supply_request T1
|
||||
INNER JOIN adm_device_definition T8
|
||||
ON T1.item_id = T8.id
|
||||
LEFT JOIN adm_practitioner T5
|
||||
ON T1.practitioner_id = T5.id
|
||||
LEFT JOIN adm_location T6
|
||||
ON T1.purpose_location_id = T6.id
|
||||
LEFT JOIN adm_location T7
|
||||
ON T1.purpose_location_store_id = T7.id
|
||||
LEFT JOIN wor_inventory_item T9
|
||||
ON T1.item_id = T9.item_id
|
||||
AND T1.purpose_location_id = T9.location_id
|
||||
WHERE T1.purpose_location_id = #{locationId}
|
||||
AND T1.status_enum = #{statusEnum}
|
||||
AND T1.type_enum IN
|
||||
<foreach collection="typeEnum" item="item" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND TO_CHAR(T1.occurrence_time, 'yyyy-MM-dd HH24:mi:ss') BETWEEN #{startTime} AND #{endTime}
|
||||
AND T1.item_table = #{deviceTableName}
|
||||
AND T1.delete_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -146,7 +146,10 @@
|
||||
T2.applicant_id,
|
||||
T2.apply_time,
|
||||
T2.practitioner_id,
|
||||
T2.tenant_id
|
||||
T2.tenant_id,
|
||||
T2.supplier_id,
|
||||
T2.purpose_location_id,
|
||||
T2.total_amount
|
||||
FROM (SELECT T1.bus_no AS supply_bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
@@ -155,19 +158,34 @@
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id
|
||||
T1.tenant_id,
|
||||
T1.supplier_id,
|
||||
T1.purpose_location_id,
|
||||
SUM ( T1.total_price ) as total_amount
|
||||
FROM wor_supply_request AS T1
|
||||
LEFT JOIN adm_supplier T3
|
||||
ON T3.id = T1.supplier_id
|
||||
AND T3.delete_flag = '0'
|
||||
LEFT JOIN adm_location T4
|
||||
ON T4.id = T1.purpose_location_id
|
||||
AND T4.delete_flag = '0'
|
||||
WHERE T1.status_enum IN (#{approval},#{agree},#{reject})
|
||||
AND T1.delete_flag != '1'
|
||||
GROUP BY T1.bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id
|
||||
AND T1.type_enum IN (#{productBatchTransfer},#{productTransfer},#{productReturn},#{productStocktaking},
|
||||
#{productBatchStocktaking},#{purchaseInventory},#{lossReportForm},#{issueInventory},#{returnIssue})
|
||||
AND T1.delete_flag = '0'
|
||||
GROUP BY
|
||||
T1.bus_no,
|
||||
T1.status_enum,
|
||||
T1.type_enum,
|
||||
T1.approver_id,
|
||||
T1.approval_time,
|
||||
T1.applicant_id,
|
||||
T1.apply_time,
|
||||
T1.practitioner_id,
|
||||
T1.tenant_id,
|
||||
T1.summary_id,
|
||||
T1.supplier_id,
|
||||
T1.purpose_location_id
|
||||
ORDER BY T1.apply_time desc
|
||||
) AS T2
|
||||
${ew.customSqlSegment}
|
||||
|
||||
Reference in New Issue
Block a user