删除无效合并
This commit is contained in:
@@ -177,28 +177,9 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
|
|||||||
List<
|
List<
|
||||||
AdviceInventoryDto> inventoryList =
|
AdviceInventoryDto> inventoryList =
|
||||||
adviceInventory.stream()
|
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())
|
.filter(e -> baseDto.getAdviceDefinitionId().equals(e.getItemId())
|
||||||
&& baseDto.getAdviceTableName().equals(e.getItemTable()))
|
&& baseDto.getAdviceTableName().equals(e.getItemTable()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
>>>>>>> upstream/develop
|
|
||||||
// 库存信息
|
// 库存信息
|
||||||
baseDto.setInventoryList(inventoryList);
|
baseDto.setInventoryList(inventoryList);
|
||||||
// 设置默认产品批号
|
// 设置默认产品批号
|
||||||
@@ -210,17 +191,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
|
|||||||
baseDto.setDefaultLotNumber(hasInventoryList.get(0).getLotNumber());
|
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()) {
|
if (!inventoryList.isEmpty() && !medLocationConfig.isEmpty()) {
|
||||||
// 第一步:在medLocationConfig中匹配categoryCode
|
// 第一步:在medLocationConfig中匹配categoryCode
|
||||||
AdviceInventoryDto result1 = medLocationConfig.stream()
|
AdviceInventoryDto result1 = medLocationConfig.stream()
|
||||||
@@ -233,7 +203,6 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
|
|||||||
.orElse(null);
|
.orElse(null);
|
||||||
if (result2 != null && result2.getLotNumber() != null) {
|
if (result2 != null && result2.getLotNumber() != null) {
|
||||||
baseDto.setDefaultLotNumber(result2.getLotNumber());
|
baseDto.setDefaultLotNumber(result2.getLotNumber());
|
||||||
>>>>>>> upstream/develop
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,15 +179,9 @@ public class PaymentReconciliationController {
|
|||||||
* @return 操做结果
|
* @return 操做结果
|
||||||
*/
|
*/
|
||||||
@PostMapping("/reg-pay")
|
@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) {
|
public R<?> regPay(@Valid @RequestBody OutpatientRegistrationSettleParam outpatientRegistrationAddParam) {
|
||||||
R<?> result = paymentReconciliationService.regPay(outpatientRegistrationAddParam,
|
R<?> result = paymentReconciliationService.regPay(outpatientRegistrationAddParam,
|
||||||
outpatientRegistrationAddParam.getChrgBchno(), outpatientRegistrationAddParam.getPaymentDetails());
|
outpatientRegistrationAddParam.getChrgBchno(), outpatientRegistrationAddParam.getPaymentDetails());
|
||||||
>>>>>>> upstream/develop
|
|
||||||
// 付款成功后,开具发票
|
// 付款成功后,开具发票
|
||||||
if (result.getCode() == 200) {
|
if (result.getCode() == 200) {
|
||||||
PaymentReconciliation paymentRecon = null;
|
PaymentReconciliation paymentRecon = null;
|
||||||
|
|||||||
@@ -62,11 +62,7 @@ spring:
|
|||||||
# redis 配置
|
# redis 配置
|
||||||
redis:
|
redis:
|
||||||
# 地址
|
# 地址
|
||||||
<<<<<<< HEAD:openhis-server-new/openhis-application/src/main/resources/application-test.yml
|
|
||||||
host: 192.168.110.252
|
host: 192.168.110.252
|
||||||
=======
|
|
||||||
host: localhost
|
|
||||||
>>>>>>> upstream/develop:openhis-server-new/openhis-application/src/main/resources/application-local.yml
|
|
||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 6379
|
port: 6379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
|
|||||||
@@ -49,11 +49,7 @@ spring:
|
|||||||
# 国际化资源文件路径
|
# 国际化资源文件路径
|
||||||
basename: i18n/messages
|
basename: i18n/messages
|
||||||
profiles:
|
profiles:
|
||||||
<<<<<<< HEAD
|
|
||||||
active: dev
|
active: dev
|
||||||
=======
|
|
||||||
active: local # (本地)local (生产)prod
|
|
||||||
>>>>>>> upstream/develop
|
|
||||||
# 文件上传
|
# 文件上传
|
||||||
servlet:
|
servlet:
|
||||||
multipart:
|
multipart:
|
||||||
|
|||||||
@@ -77,11 +77,7 @@
|
|||||||
T2."name" AS item_name,
|
T2."name" AS item_name,
|
||||||
T2.id AS item_id,
|
T2.id AS item_id,
|
||||||
T2.part_percent,
|
T2.part_percent,
|
||||||
<<<<<<< HEAD
|
|
||||||
T2.manufacturer_text AS manufacturer_text,
|
|
||||||
=======
|
|
||||||
T2.manufacturer_text,
|
T2.manufacturer_text,
|
||||||
>>>>>>> upstream/develop
|
|
||||||
T3.total_volume,
|
T3.total_volume,
|
||||||
T5."name" AS practitioner_name,
|
T5."name" AS practitioner_name,
|
||||||
T6."name" AS purpose_location_name,
|
T6."name" AS purpose_location_name,
|
||||||
@@ -97,23 +93,6 @@
|
|||||||
) AS total_quantity,
|
) AS total_quantity,
|
||||||
T10."name" AS supplier_name
|
T10."name" AS supplier_name
|
||||||
FROM wor_supply_request T1
|
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
|
INNER JOIN med_medication_definition T2
|
||||||
ON T1.item_id = T2.id
|
ON T1.item_id = T2.id
|
||||||
AND T2.delete_flag = '0'
|
AND T2.delete_flag = '0'
|
||||||
@@ -136,7 +115,6 @@
|
|||||||
LEFT JOIN adm_supplier T10
|
LEFT JOIN adm_supplier T10
|
||||||
ON T1.supplier_id = T10.id
|
ON T1.supplier_id = T10.id
|
||||||
AND T10.delete_flag = '0'
|
AND T10.delete_flag = '0'
|
||||||
>>>>>>> upstream/develop
|
|
||||||
WHERE T1.bus_no = #{busNo}
|
WHERE T1.bus_no = #{busNo}
|
||||||
AND T1.delete_flag = '0'
|
AND T1.delete_flag = '0'
|
||||||
UNION
|
UNION
|
||||||
@@ -158,11 +136,7 @@
|
|||||||
T8."name" AS item_name,
|
T8."name" AS item_name,
|
||||||
T8.id AS item_id,
|
T8.id AS item_id,
|
||||||
T8.part_percent,
|
T8.part_percent,
|
||||||
<<<<<<< HEAD
|
|
||||||
T8.manufacturer_text AS manufacturer_text,
|
|
||||||
=======
|
|
||||||
T8.manufacturer_text,
|
T8.manufacturer_text,
|
||||||
>>>>>>> upstream/develop
|
|
||||||
T8."size" AS total_volume,
|
T8."size" AS total_volume,
|
||||||
T5."name" AS practitioner_name,
|
T5."name" AS practitioner_name,
|
||||||
T6."name" AS purpose_location_name,
|
T6."name" AS purpose_location_name,
|
||||||
@@ -175,118 +149,8 @@
|
|||||||
FROM wor_inventory_item T9
|
FROM wor_inventory_item T9
|
||||||
WHERE T9.item_id = T1.item_id
|
WHERE T9.item_id = T1.item_id
|
||||||
AND T9.location_id = T1.purpose_location_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,
|
) AS total_quantity,
|
||||||
T10."name" AS supplier_name
|
T10."name" AS supplier_name
|
||||||
>>>>>>> upstream/develop
|
|
||||||
FROM wor_supply_request T1
|
FROM wor_supply_request T1
|
||||||
INNER JOIN adm_device_definition T8
|
INNER JOIN adm_device_definition T8
|
||||||
ON T1.item_id = T8.id
|
ON T1.item_id = T8.id
|
||||||
@@ -303,10 +167,6 @@
|
|||||||
LEFT JOIN wor_inventory_item T9
|
LEFT JOIN wor_inventory_item T9
|
||||||
ON T1.item_id = T9.item_id
|
ON T1.item_id = T9.item_id
|
||||||
AND T1.purpose_location_id = T9.location_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'
|
AND T9.delete_flag = '0'
|
||||||
LEFT JOIN adm_supplier T10
|
LEFT JOIN adm_supplier T10
|
||||||
ON T1.supplier_id = T10.id
|
ON T1.supplier_id = T10.id
|
||||||
@@ -358,7 +218,6 @@
|
|||||||
LEFT JOIN wor_inventory_item T9
|
LEFT JOIN wor_inventory_item T9
|
||||||
ON T1.item_id = T9.item_id
|
ON T1.item_id = T9.item_id
|
||||||
AND T1.purpose_location_id = T9.location_id
|
AND T1.purpose_location_id = T9.location_id
|
||||||
>>>>>>> upstream/develop
|
|
||||||
WHERE T1.purpose_location_id = #{locationId}
|
WHERE T1.purpose_location_id = #{locationId}
|
||||||
AND T1.status_enum = #{statusEnum}
|
AND T1.status_enum = #{statusEnum}
|
||||||
AND T1.type_enum IN
|
AND T1.type_enum IN
|
||||||
|
|||||||
@@ -93,19 +93,7 @@
|
|||||||
T13.charge_item_ids,
|
T13.charge_item_ids,
|
||||||
T13.id AS payment_id,
|
T13.id AS payment_id,
|
||||||
ai.picture_url AS picture_url,
|
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
|
T8.birth_date AS birth_date
|
||||||
>>>>>>> upstream/develop
|
|
||||||
FROM adm_encounter AS T1
|
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_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'
|
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||||
|
|||||||
@@ -43,368 +43,6 @@
|
|||||||
abi.restricted_scope,
|
abi.restricted_scope,
|
||||||
abi.dosage_instruction
|
abi.dosage_instruction
|
||||||
from (
|
from (
|
||||||
<<<<<<< HEAD
|
|
||||||
<!-- 改进SQL逻辑,确保所有情况都能正确处理,避免空的FROM子查询 -->
|
|
||||||
<!-- 当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)">
|
<if test="adviceTypes == null or adviceTypes.contains(1)">
|
||||||
(SELECT
|
(SELECT
|
||||||
DISTINCT ON (T1.ID)
|
DISTINCT ON (T1.ID)
|
||||||
@@ -603,7 +241,6 @@
|
|||||||
AND T2.instance_table = #{activityTableName}
|
AND T2.instance_table = #{activityTableName}
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
>>>>>>> upstream/develop
|
|
||||||
) AS abi
|
) AS abi
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -4,159 +4,6 @@
|
|||||||
|
|
||||||
<select id="selectProductReportPage"
|
<select id="selectProductReportPage"
|
||||||
resultType="com.openhis.web.reportmanage.dto.InventoryProductReportPageDto">
|
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
|
-- SELECT T8.id, --ID
|
||||||
-- T8.bus_no, --药品编码
|
-- T8.bus_no, --药品编码
|
||||||
-- T8.name, --药品名称
|
-- T8.name, --药品名称
|
||||||
@@ -282,6 +129,5 @@
|
|||||||
-- AND T7.delete_flag = '0'
|
-- AND T7.delete_flag = '0'
|
||||||
-- WHERE T1.delete_flag = '0') AS T10
|
-- WHERE T1.delete_flag = '0') AS T10
|
||||||
-- ${ew.customSqlSegment}
|
-- ${ew.customSqlSegment}
|
||||||
>>>>>>> upstream/develop
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -3,19 +3,6 @@
|
|||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.openhis.administration.mapper.OrganizationMapper">
|
<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 id="searchOrgDataByHealth" resultType="com.openhis.administration.dto.OrgDataDto">
|
||||||
SELECT org.id AS orgId, org.name AS orgName
|
SELECT org.id AS orgId, org.name AS orgName
|
||||||
@@ -27,5 +14,4 @@
|
|||||||
GROUP BY heal.offered_org_id)
|
GROUP BY heal.offered_org_id)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
>>>>>>> upstream/develop
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -15,7 +15,6 @@
|
|||||||
<el-table-column label="规格" align="center" prop="volume" /> -->
|
<el-table-column label="规格" align="center" prop="volume" /> -->
|
||||||
<!-- <el-table-column label="用法" align="center" prop="methodCode_dictText" />
|
<!-- <el-table-column label="用法" align="center" prop="methodCode_dictText" />
|
||||||
<el-table-column label="单次剂量" align="center" prop="dose" />
|
<el-table-column label="单次剂量" align="center" prop="dose" />
|
||||||
<<<<<<< HEAD
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="剂量单位"
|
label="剂量单位"
|
||||||
align="center"
|
align="center"
|
||||||
|
|||||||
Reference in New Issue
Block a user