删除无效合并

This commit is contained in:
2025-12-10 15:28:29 +08:00
parent b0eb9861b9
commit b1117b4157
10 changed files with 0 additions and 730 deletions

View File

@@ -177,28 +177,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
List<
AdviceInventoryDto> inventoryList =
adviceInventory.stream()
<<<<<<< HEAD
.filter(e -> baseDto.getAdviceDefinitionId().equals(e.getItemId())
&& baseDto.getAdviceTableName().equals(e.getItemTable()))
.collect(Collectors.toList());
// 当存在按科室配置时:仅保留被允许的药房/药库的库存;
// 若该药品类别未在配置中出现,则视为不可开立(清空库存以便前端过滤掉)
if (!allowedLocByCategory.isEmpty()) {
Set<Long> allowedLoc =
allowedLocByCategory.get(String.valueOf(baseDto.getCategoryCode()));
if (allowedLoc == null || allowedLoc.isEmpty()) {
inventoryList = Collections.emptyList();
} else {
inventoryList = inventoryList.stream()
.filter(inv -> allowedLoc.contains(inv.getLocationId()))
.collect(Collectors.toList());
}
}
=======
.filter(e -> baseDto.getAdviceDefinitionId().equals(e.getItemId())
&& baseDto.getAdviceTableName().equals(e.getItemTable()))
.collect(Collectors.toList());
>>>>>>> upstream/develop
// 库存信息
baseDto.setInventoryList(inventoryList);
// 设置默认产品批号
@@ -210,17 +191,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
baseDto.setDefaultLotNumber(hasInventoryList.get(0).getLotNumber());
}
}
<<<<<<< HEAD
if (!inventoryList.isEmpty() && !allowedLocByCategory.isEmpty()) {
Set<Long> allowedLoc =
allowedLocByCategory.get(String.valueOf(baseDto.getCategoryCode()));
if (allowedLoc != null && !allowedLoc.isEmpty()) {
AdviceInventoryDto hit = inventoryList.stream()
.filter(inv -> allowedLoc.contains(inv.getLocationId()))
.findFirst().orElse(null);
if (hit != null && hit.getLotNumber() != null) {
baseDto.setDefaultLotNumber(hit.getLotNumber());
=======
if (!inventoryList.isEmpty() && !medLocationConfig.isEmpty()) {
// 第一步在medLocationConfig中匹配categoryCode
AdviceInventoryDto result1 = medLocationConfig.stream()
@@ -233,7 +203,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
.orElse(null);
if (result2 != null && result2.getLotNumber() != null) {
baseDto.setDefaultLotNumber(result2.getLotNumber());
>>>>>>> upstream/develop
}
}
}

View File

@@ -179,15 +179,9 @@ public class PaymentReconciliationController {
* @return 操做结果
*/
@PostMapping("/reg-pay")
<<<<<<< HEAD
public R<?> regPay(@Valid @RequestBody OutpatientRegistrationSettleParam outpatientRegistrationSettleParam) {
R<?> result = paymentReconciliationService.regPay(outpatientRegistrationSettleParam,
outpatientRegistrationSettleParam.getChrgBchno(), outpatientRegistrationSettleParam.getPaymentDetails());
=======
public R<?> regPay(@Valid @RequestBody OutpatientRegistrationSettleParam outpatientRegistrationAddParam) {
R<?> result = paymentReconciliationService.regPay(outpatientRegistrationAddParam,
outpatientRegistrationAddParam.getChrgBchno(), outpatientRegistrationAddParam.getPaymentDetails());
>>>>>>> upstream/develop
// 付款成功后,开具发票
if (result.getCode() == 200) {
PaymentReconciliation paymentRecon = null;

View File

@@ -62,11 +62,7 @@ spring:
# redis 配置
redis:
# 地址
<<<<<<< HEAD:openhis-server-new/openhis-application/src/main/resources/application-test.yml
host: 192.168.110.252
=======
host: localhost
>>>>>>> upstream/develop:openhis-server-new/openhis-application/src/main/resources/application-local.yml
# 端口默认为6379
port: 6379
# 数据库索引

View File

@@ -49,11 +49,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
<<<<<<< HEAD
active: dev
=======
active: local # 本地local 生产prod
>>>>>>> upstream/develop
# 文件上传
servlet:
multipart:

View File

@@ -77,11 +77,7 @@
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,
@@ -97,23 +93,6 @@
) 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
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
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'
@@ -136,7 +115,6 @@
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'
UNION
@@ -158,11 +136,7 @@
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,
@@ -175,118 +149,8 @@
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
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
LEFT JOIN adm_supplier T10
ON T1.supplier_id = T10.id
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 manufacturer_text,
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,
T1.supplier_id AS supplierId,
T10."name" AS supplier_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
LEFT JOIN adm_supplier T10
ON T1.supplier_id = T10.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 = #{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 manufacturer_text,
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,
T1.supplier_id AS supplierId,
T10."name" AS supplier_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
=======
) 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
@@ -303,10 +167,6 @@
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
@@ -358,7 +218,6 @@
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

View File

@@ -93,19 +93,7 @@
T13.charge_item_ids,
T13.id AS payment_id,
ai.picture_url AS picture_url,
<<<<<<< HEAD
T8.birth_date AS birth_date,
-- 退
T14.bill_date AS return_date,
T14.refund_reason AS return_reason,
T15."name" AS operator_name,
T17.user_name AS operator_id,
ABS(T14.display_amount) AS refund_amount,
T6.contract_no AS contract_no,
T16.refund_method AS refund_method
=======
T8.birth_date AS birth_date
>>>>>>> upstream/develop
FROM adm_encounter AS T1
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'

View File

@@ -43,368 +43,6 @@
abi.restricted_scope,
abi.dosage_instruction
from (
<<<<<<< HEAD
<!-- SQLFROM -->
<!-- 当adviceTypes包含4或不在1-3范围内时或者adviceTypes为空/null时查询所有类型 -->
<choose>
<!-- 检查adviceTypes是否为null、空列表或者包含4、5或其他不在1-3范围内的值 -->
<when test="adviceTypes == null or adviceTypes.isEmpty() or adviceTypes.contains(4) or adviceTypes.contains(5)">
<!-- 查询所有类型 -->
SELECT T1.tenant_id,
1 AS advice_type,
T1.category_code AS category_code,
T1.pharmacology_category_code AS pharmacology_category_code,
T1.part_percent AS part_percent,
T1.unit_conversion_ratio AS unit_conversion_ratio,
T1.part_attribute_enum AS part_attribute_enum,
T1.tho_part_attribute_enum AS tho_part_attribute_enum,
T1.skin_test_flag AS skin_test_flag,
T1.inject_flag AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
T1.merchandise_name AS product_name,
0 AS activity_type,
T1.unit_code AS unit_code,
T1.min_unit_code AS min_unit_code,
T2.total_volume AS volume,
T2.method_code AS method_code,
T2.rate_code AS rate_code,
T2.org_id AS org_id,
T2.location_id AS location_id,
CAST(T2.dose AS TEXT) AS dose,
T2.dose_unit_code AS dose_unit_code,
T3.NAME AS supplier,
T3.id AS supplier_id,
T1.manufacturer_text AS manufacturer,
T5.id AS charge_item_definition_id,
T5.instance_table AS advice_table_name,
T6.def_location_id AS position_id,
t1.restricted_flag AS restricted_flag,
t1.restricted_scope AS restricted_scope
FROM med_medication_definition AS t1
INNER JOIN med_medication AS T2 ON T2.medication_def_id = T1.ID
AND T2.delete_flag = '0' AND T2.status_enum = #{statusEnum}
LEFT JOIN adm_supplier AS T3
ON T3.ID = T1.supply_id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T5 ON T5.instance_id = T1.ID
AND T5.delete_flag = '0'
LEFT JOIN adm_organization_location AS T6
ON T6.distribution_category_code = T1.category_code
AND T6.delete_flag = '0' AND T6.organization_id = #{organizationId} AND
(CURRENT_TIME :: time (6) BETWEEN T6.start_time AND T6.end_time)
WHERE T1.delete_flag = '0'
AND T2.status_enum = #{statusEnum}
<if test="pricingFlag ==1">
AND 1 = 2
</if>
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T5.instance_table = #{medicationTableName}
UNION ALL
SELECT T1.tenant_id,
2 AS advice_type,
T1.category_code AS category_code,
'' AS pharmacology_category_code,
T1.part_percent AS part_percent,
0 AS unit_conversion_ratio,
null AS part_attribute_enum,
null AS tho_part_attribute_enum,
null AS skin_test_flag,
null AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
'' AS product_name,
0 AS activity_type,
T1.unit_code AS unit_code,
T1.min_unit_code AS min_unit_code,
T1.SIZE AS volume,
'' AS method_code,
'' AS rate_code,
T1.org_id AS org_id,
T1.location_id AS location_id,
'' AS dose,
'' AS dose_unit_code,
T2.NAME AS supplier,
T2.id AS supplier_id,
T1.manufacturer_text AS manufacturer,
T4.id AS charge_item_definition_id,
T4.instance_table AS advice_table_name,
T5.def_location_id AS position_id,
0 AS restricted_flag,
'' AS restricted_scope
FROM adm_device_definition AS T1
LEFT JOIN adm_supplier AS T2
ON T2.ID = T1.supply_id
AND T2.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T4 ON T4.instance_id = T1.ID
AND T4.delete_flag = '0'
LEFT JOIN adm_organization_location AS T5 ON T5.distribution_category_code = T1.category_code
AND T5.delete_flag = '0' AND T5.organization_id = #{organizationId} AND
(CURRENT_TIME :: time (6) BETWEEN T5.start_time AND T5.end_time)
WHERE T1.delete_flag = '0'
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T4.instance_table = #{deviceTableName}
AND T1.category_code = #{singleUse}
AND T1.status_enum = #{statusEnum}
UNION ALL
SELECT T1.tenant_id,
3 AS advice_type,
T1.category_code AS category_code,
'' AS pharmacology_category_code,
1 AS part_percent,
0 AS unit_conversion_ratio,
null AS part_attribute_enum,
null AS tho_part_attribute_enum,
null AS skin_test_flag,
null AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
'' AS product_name,
T1.type_enum AS activity_type,
'' AS unit_code,
'' AS min_unit_code,
'' AS volume,
'' AS method_code,
'' AS rate_code,
T1.org_id AS org_id,
T1.location_id AS location_id,
'' AS dose,
'' AS dose_unit_code,
'' AS supplier,
null AS supplier_id,
'' AS manufacturer,
T2.ID AS charge_item_definition_id,
T2.instance_table AS advice_table_name,
COALESCE(T3.organization_id, T1.org_id) AS position_id,
0 AS restricted_flag,
'' AS restricted_scope
FROM wor_activity_definition AS T1
LEFT JOIN adm_charge_item_definition AS T2
ON T2.instance_id = T1.ID
AND T2.delete_flag = '0'
LEFT JOIN adm_organization_location AS T3 ON T3.activity_definition_id = T1.ID
AND T3.delete_flag = '0' AND (CURRENT_TIME :: time (6) BETWEEN T3.start_time AND T3.end_time)
WHERE T1.delete_flag = '0'
<if test="pricingFlag ==1">
AND T1.pricing_flag = #{pricingFlag}
</if>
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T1.status_enum = #{statusEnum}
AND T2.instance_table = #{activityTableName}
</when>
<otherwise>
<!-- 当adviceTypes不为null且不为空且只包含1、2、3时根据选中的类型查询 -->
<!-- 确保至少有一个类型被选中,避免空查询 -->
<if test="adviceTypes.contains(1) or adviceTypes.contains(2) or adviceTypes.contains(3)">
<if test="adviceTypes.contains(1)">
SELECT T1.tenant_id,
1 AS advice_type,
T1.category_code AS category_code,
T1.pharmacology_category_code AS pharmacology_category_code,
T1.part_percent AS part_percent,
T1.unit_conversion_ratio AS unit_conversion_ratio,
T1.part_attribute_enum AS part_attribute_enum,
T1.tho_part_attribute_enum AS tho_part_attribute_enum,
T1.skin_test_flag AS skin_test_flag,
T1.inject_flag AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
T1.merchandise_name AS product_name,
0 AS activity_type,
T1.unit_code AS unit_code,
T1.min_unit_code AS min_unit_code,
T2.total_volume AS volume,
T2.method_code AS method_code,
T2.rate_code AS rate_code,
T2.org_id AS org_id,
T2.location_id AS location_id,
CAST(T2.dose AS TEXT) AS dose,
T2.dose_unit_code AS dose_unit_code,
T3.NAME AS supplier,
T3.id AS supplier_id,
T1.manufacturer_text AS manufacturer,
T5.id AS charge_item_definition_id,
T5.instance_table AS advice_table_name,
T6.def_location_id AS position_id,
t1.restricted_flag AS restricted_flag,
t1.restricted_scope AS restricted_scope
FROM med_medication_definition AS t1
INNER JOIN med_medication AS T2 ON T2.medication_def_id = T1.ID
AND T2.delete_flag = '0' AND T2.status_enum = #{statusEnum}
LEFT JOIN adm_supplier AS T3
ON T3.ID = T1.supply_id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T5 ON T5.instance_id = T1.ID
AND T5.delete_flag = '0'
LEFT JOIN adm_organization_location AS T6
ON T6.distribution_category_code = T1.category_code
AND T6.delete_flag = '0' AND T6.organization_id = #{organizationId} AND
(CURRENT_TIME :: time (6) BETWEEN T6.start_time AND T6.end_time)
WHERE T1.delete_flag = '0'
AND T2.status_enum = #{statusEnum}
<if test="pricingFlag ==1">
AND 1 = 2
</if>
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T5.instance_table = #{medicationTableName}
</if>
<if test="adviceTypes.contains(1) and (adviceTypes.contains(2) or adviceTypes.contains(3))">UNION ALL</if>
<if test="adviceTypes.contains(2)">
SELECT T1.tenant_id,
2 AS advice_type,
T1.category_code AS category_code,
'' AS pharmacology_category_code,
T1.part_percent AS part_percent,
0 AS unit_conversion_ratio,
null AS part_attribute_enum,
null AS tho_part_attribute_enum,
null AS skin_test_flag,
null AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
'' AS product_name,
0 AS activity_type,
T1.unit_code AS unit_code,
T1.min_unit_code AS min_unit_code,
T1.SIZE AS volume,
'' AS method_code,
'' AS rate_code,
T1.org_id AS org_id,
T1.location_id AS location_id,
'' AS dose,
'' AS dose_unit_code,
T2.NAME AS supplier,
T2.id AS supplier_id,
T1.manufacturer_text AS manufacturer,
T4.id AS charge_item_definition_id,
T4.instance_table AS advice_table_name,
T5.def_location_id AS position_id,
0 AS restricted_flag,
'' AS restricted_scope
FROM adm_device_definition AS T1
LEFT JOIN adm_supplier AS T2
ON T2.ID = T1.supply_id
AND T2.delete_flag = '0'
LEFT JOIN adm_charge_item_definition AS T4 ON T4.instance_id = T1.ID
AND T4.delete_flag = '0'
LEFT JOIN adm_organization_location AS T5 ON T5.distribution_category_code = T1.category_code
AND T5.delete_flag = '0' AND T5.organization_id = #{organizationId} AND
(CURRENT_TIME :: time (6) BETWEEN T5.start_time AND T5.end_time)
WHERE T1.delete_flag = '0'
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T4.instance_table = #{deviceTableName}
AND T1.category_code = #{singleUse}
AND T1.status_enum = #{statusEnum}
</if>
<if test="adviceTypes.contains(2) and adviceTypes.contains(3)">UNION ALL</if>
<if test="adviceTypes.contains(3)">
SELECT T1.tenant_id,
3 AS advice_type,
T1.category_code AS category_code,
'' AS pharmacology_category_code,
1 AS part_percent,
0 AS unit_conversion_ratio,
null AS part_attribute_enum,
null AS tho_part_attribute_enum,
null AS skin_test_flag,
null AS inject_flag,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
T1.py_str AS py_str,
T1.wb_str AS wb_str,
T1.yb_no AS yb_no,
'' AS product_name,
T1.type_enum AS activity_type,
'' AS unit_code,
'' AS min_unit_code,
'' AS volume,
'' AS method_code,
'' AS rate_code,
T1.org_id AS org_id,
T1.location_id AS location_id,
'' AS dose,
'' AS dose_unit_code,
'' AS supplier,
null AS supplier_id,
'' AS manufacturer,
T2.ID AS charge_item_definition_id,
T2.instance_table AS advice_table_name,
COALESCE(T3.organization_id, T1.org_id) AS position_id,
0 AS restricted_flag,
'' AS restricted_scope
FROM wor_activity_definition AS T1
LEFT JOIN adm_charge_item_definition AS T2
ON T2.instance_id = T1.ID
AND T2.delete_flag = '0'
LEFT JOIN adm_organization_location AS T3 ON T3.activity_definition_id = T1.ID
AND T3.delete_flag = '0' AND (CURRENT_TIME :: time (6) BETWEEN T3.start_time AND T3.end_time)
WHERE T1.delete_flag = '0'
<if test="pricingFlag ==1">
AND T1.pricing_flag = #{pricingFlag}
</if>
<if test="adviceDefinitionIdParamList != null and !adviceDefinitionIdParamList.isEmpty()">
AND T1.id IN
<foreach collection="adviceDefinitionIdParamList" item="itemId" open="(" separator="," close=")">
#{itemId}
</foreach>
</if>
AND T1.status_enum = #{statusEnum}
AND T2.instance_table = #{activityTableName}
</if>
</if>
</otherwise>
</choose>
=======
<if test="adviceTypes == null or adviceTypes.contains(1)">
(SELECT
DISTINCT ON (T1.ID)
@@ -603,7 +241,6 @@
AND T2.instance_table = #{activityTableName}
)
</if>
>>>>>>> upstream/develop
) AS abi
${ew.customSqlSegment}
</select>

View File

@@ -4,159 +4,6 @@
<select id="selectProductReportPage"
resultType="com.openhis.web.reportmanage.dto.InventoryProductReportPageDto">
<<<<<<< HEAD
SELECT *
FROM (
SELECT T8.id, --ID
T8.bus_no, --
T8.name, --
T8.lot_number, --
T8.manufacturer_text, --
T8.item_table, --
T8.item_quantity, --
T8.unit_code, --
T8.min_package_quantity, --
T8.min_package_unit, --
T8.price, --
T8.sale_price, --
T8.price * T8.part_percent AS part_price, --
T8.sale_price * T8.part_percent AS part_sale_price, --
T8.price * T8.item_quantity AS total_price, --
T8.sale_price * T8.item_quantity AS total_sale_price, --
T8.purpose_type_enum, --
T8.location_name, --
T8.location_store_name, --
T8.purpose_location_id, --ID
T8.expiration_date, --
T8.yb_no, --
T8.tenant_id, -- ID
CAST(T8.item_table AS INTEGER) AS category_type --
FROM (SELECT T1.id, --ID
T2.bus_no, --
T2.name, --
T1.lot_number, --
T2.manufacturer_text, --
T2.category_code AS item_table, --
T1.quantity AS item_quantity, --
T2.unit_code, --
T1.quantity AS min_package_quantity, --
T2.min_unit_code AS min_package_unit, --
T1.price, --
CASE
WHEN T4.condition_code = #{lotNumber}
AND T4.condition_value = T1.lot_number
THEN T4.amount
ELSE T3.price END AS sale_price, --
T2.part_percent, --
T6.form_enum AS purpose_type_enum, --
T6.name AS location_name, --
T7.name AS location_store_name, --
T1.location_id AS purpose_location_id, --ID
T1.expiration_date, --
T2.yb_no, --
T1.tenant_id -- ID
FROM wor_inventory_item AS T1
INNER JOIN med_medication_definition AS T2
ON T2.id = T1.item_id
AND T2.delete_flag = '0'
INNER JOIN adm_charge_item_definition AS T3
ON T3.instance_id = T2.id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_def_detail AS T4
ON T4.definition_id = T3.id
AND T4.delete_flag = '0'
LEFT JOIN adm_location T6
ON T1.location_id = T6.id
AND T6.delete_flag = '0'
LEFT JOIN adm_location T7
ON T1.location_store_id = T7.id
AND T7.delete_flag = '0'
WHERE T1.delete_flag = '0') AS T8
UNION
SELECT T10.id, --ID
T10.bus_no, --
T10.name, --
T10.lot_number, --
T10.manufacturer_text, --
T10.item_table, --
T10.item_quantity, --
T10.unit_code, --
T10.min_package_quantity, --
T10.min_package_unit, --
T10.price, --
T10.sale_price, --
T10.price * T10.part_percent AS part_price, --
T10.sale_price * T10.part_percent AS part_sale_price, --
T10.price * T10.item_quantity AS total_price, --
T10.sale_price * T10.item_quantity AS total_sale_price, --
T10.purpose_type_enum, --
T10.location_name, --
T10.location_store_name, --
T10.purpose_location_id, --ID
T10.expiration_date, --
T10.yb_no, --
T10.tenant_id, -- ID
CAST(T10.item_table AS INTEGER) AS category_type --
FROM (SELECT T1.id, --ID
T9.bus_no, --
T9.name, --
T1.lot_number, --
T9.manufacturer_text, --
T9.category_code AS item_table, --
T1.quantity AS item_quantity, --
T9.unit_code, --
T1.quantity AS min_package_quantity, --
T9.min_unit_code AS min_package_unit, --
T1.price, --
CASE
WHEN T4.condition_code = #{lotNumber}
AND T4.condition_value = T1.lot_number
THEN T4.amount
ELSE T3.price END AS sale_price, --
T9.part_percent, --
T6.form_enum AS purpose_type_enum, --
T6.name AS location_name, --
T7.name AS location_store_name, --
T1.location_id AS purpose_location_id, --ID
T1.expiration_date, --
T9.yb_no, --
T1.tenant_id -- ID
FROM wor_inventory_item AS T1
INNER JOIN adm_device_definition AS T9
ON T9.id = T1.item_id
AND T9.delete_flag = '0'
INNER JOIN adm_charge_item_definition AS T3
ON T3.instance_id = T9.id
AND T3.delete_flag = '0'
LEFT JOIN adm_charge_item_def_detail AS T4
ON T4.definition_id = T3.id
AND T4.delete_flag = '0'
LEFT JOIN adm_location T6
ON T1.location_id = T6.id
AND T6.delete_flag = '0'
LEFT JOIN adm_location T7
ON T1.location_store_id = T7.id
AND T7.delete_flag = '0'
WHERE T1.delete_flag = '0') AS T10
) AS T
${ew.customSqlSegment}
<if test="inventoryScope != null">
<choose>
<when test="inventoryScope == 2">
AND item_quantity = 0
</when>
<when test="inventoryScope == 3">
AND item_quantity > 0
</when>
<when test="inventoryScope == 4">
AND item_quantity <![CDATA[ <= ]]> 20
</when>
<when test="inventoryScope == 5">
AND item_quantity <![CDATA[ <= ]]> 50
</when>
</choose>
</if>
=======
-- SELECT T8.id, --ID
-- T8.bus_no, --药品编码
-- T8.name, --药品名称
@@ -282,6 +129,5 @@
-- AND T7.delete_flag = '0'
-- WHERE T1.delete_flag = '0') AS T10
-- ${ew.customSqlSegment}
>>>>>>> upstream/develop
</select>
</mapper>

View File

@@ -3,19 +3,6 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.openhis.administration.mapper.OrganizationMapper">
<<<<<<< HEAD
<!-- selectById -->
<select id="selectById" parameterType="java.lang.Long" resultType="com.openhis.administration.domain.Organization">
SELECT id, bus_no, name, active_flag, type_enum, class_enum, py_str, wb_str,
yb_no, yb_name, caty, display_order, medins_id, medins_admdvs,
medins_type, medins_lv, def_doctor_id, create_by, create_time,
update_by, update_time, tenant_id, delete_flag,
register_flag, location, intro, remark
FROM adm_organization
WHERE id = #{id} AND delete_flag = '0'
</select>
=======
<select id="searchOrgDataByHealth" resultType="com.openhis.administration.dto.OrgDataDto">
SELECT org.id AS orgId, org.name AS orgName
@@ -27,5 +14,4 @@
GROUP BY heal.offered_org_id)
</select>
>>>>>>> upstream/develop
</mapper>