修改库房管理-》采购管理-》采购入库:仓库字段值为中心耗材库在采购管理未显示的问题,修改了采购入库仓库字段值的布局样式,修改了在批量保存入库业务中添加申请人等核心数据数据,

修改了获取入库数据的查询SQL语句。
This commit is contained in:
wangjian963
2026-01-22 19:38:58 +08:00
parent d0c6f57f6b
commit 035738f990
4 changed files with 54 additions and 17 deletions

View File

@@ -25,6 +25,7 @@ import com.openhis.web.inventorymanage.dto.*;
import com.openhis.web.inventorymanage.mapper.PurchaseInventoryMapper;
import com.openhis.workflow.domain.SupplyRequest;
import com.openhis.workflow.service.ISupplyRequestService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -40,6 +41,7 @@ import java.util.stream.Stream;
* @author zwh
* @date 2025-03-08
*/
@Slf4j
@Service
public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppService {
@@ -159,6 +161,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
@Override
public R<List<ReceiptDetailDto>> getDetail(String busNo) {
List<ReceiptDetailDto> receiptDetailList = purchaseInventoryMapper.selectDetail(busNo);
log.debug("返回查询结果,receiptDetailList:{}", receiptDetailList);
if (receiptDetailList.isEmpty()) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null));
}
@@ -182,7 +185,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
}
});
}
log.debug("返回查询结果,receiptDetailList:{}", receiptDetailList);
return R.ok(receiptDetailList);
}
@@ -194,7 +197,6 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
*/
@Override
public R<?> addOrEditInventoryReceipt(List<PurchaseInventoryDto> purchaseInventoryDtoList) {
// 校验(已经审批通过的单号(请求状态是同意),不能再重复编辑请求)
boolean validation = supplyRequestService.supplyRequestValidation(purchaseInventoryDtoList.get(0).getBusNo());
if (validation) {
@@ -232,11 +234,14 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
// 制单人
.setApplicantId(SecurityUtils.getLoginUser().getPractitionerId())
// 申请时间
.setApplyTime(DateUtils.getNowDate());
.setApplyTime(DateUtils.getNowDate())
.setCreateBy(SecurityUtils.getLoginUser().getUsername())
.setCreateTime(DateUtils.getNowDate())
.setTenantId(SecurityUtils.getLoginUser().getTenantId());
supplyRequestList.add(supplyRequest);
}
// 保存
supplyRequestService.saveOrUpdateBatch(supplyRequestList);

View File

@@ -86,7 +86,7 @@
T3.total_volume,
T5."name" AS practitioner_name,
T6."name" AS purpose_location_name,
T6."id" AS purpose_location_id,
T1.purpose_location_id AS purpose_location_id,
T7."name" AS purpose_location_store_name,
T1.occurrence_time,
(SELECT SUM(T9.quantity)
@@ -119,7 +119,7 @@
ON T1.supplier_id = T10.id
AND T10.delete_flag = '0'
LEFT JOIN sys_dict_data sdt
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
ON sdt.dict_value = T1.unit_code AND sdt.dict_type = 'unit_code'
WHERE T1.bus_no = #{busNo}
AND T1.delete_flag = '0'
UNION
@@ -145,7 +145,7 @@
T8."size" AS total_volume,
T5."name" AS practitioner_name,
T6."name" AS purpose_location_name,
T6."id" AS purpose_location_id,
T1.purpose_location_id AS purpose_location_id,
T7."name" AS purpose_location_store_name,
T1.occurrence_time,
(SELECT SUM(T9.quantity)
@@ -175,7 +175,7 @@
ON T1.supplier_id = T10.id
AND T10.delete_flag = '0'
LEFT JOIN sys_dict_data sdt
ON sdt.dict_value = T1.unit_code AND dict_type = 'unit_code'
ON sdt.dict_value = T1.unit_code AND sdt.dict_type = 'unit_code'
WHERE T1.bus_no = #{busNo}
AND T1.delete_flag = '0'
</select>

View File

@@ -24,9 +24,9 @@
</el-row>
<el-row :gutter="10" class="mb8" v-else>
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="submitAudit"
>提交审核</el-button
>
<el-button type="primary" plain icon="Plus" @click="submitAudit">
提交审核
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="EditPen" @click="handleTotalAmount">
@@ -35,7 +35,8 @@
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleSave"
>批量保存</el-button
>批量保存
</el-button
>
</el-col>
</el-row>
@@ -271,11 +272,11 @@
>
<div class="select_wrapper_div">
<el-select
v-if="viewStatus !== 'view'"
v-model="scope.row.purposeLocationId"
placeholder="请选择仓库"
:class="{ 'error-border': scope.row.error }"
clearable
:disabled="viewStatus == 'view'"
>
<el-option
v-for="(item, index) in locationList"
@@ -285,8 +286,19 @@
@click="handleLocationClick(item, scope.row, scope.$index)"
/>
</el-select>
<!-- 非编辑状态下显示为只读输入框 -->
<el-input
v-else
:model-value="getLocationNameById(scope.row.purposeLocationId)"
readonly
disabled
:placeholder="'-'"
class="readonly-input" style="pointer-events: none;"
/>
</div>
</el-form-item>
</template>
</el-table-column>
<el-table-column
@@ -724,7 +736,27 @@ const {
"specialty_code",
"purchase_type"
);
//
// // 监听locationList变化重新处理已存在的数据
// watch(locationList, (newList) => {
// if (newList && newList.length > 0) {
// // 可以触发表格重新渲染或更新相关数据
// }
// }, { immediate: true });
const getLocationNameById = (id) => {
// 检查locationList是否已加载
if (!locationList.value || !Array.isArray(locationList.value) || locationList.value.length === 0) {
return '仓库列表未加载';
}
// 使用严格相等比较,处理类型转换
const location = locationList.value.find(item => {
return item.id == id; // 使用 == 而不是 === 以处理字符串和数字之间的比较
});
return location ? location.name : '仓库不存在';
};
const viewStatus = ref("");
const startTimeOld = ref("");
const endTimeOld = ref("");

View File

@@ -205,9 +205,9 @@
>
<template #default="scope">
<!-- v-hasPermi="['system:user:edit']" -->
<el-button link type="primary" icon="View" @click.stop="handleUpdate(scope.row, 'view')"
>详情</el-button
>
<el-button link type="primary" icon="View" @click.stop="handleUpdate(scope.row, 'view')">
详情
</el-button>
<el-button
link
type="primary"
@@ -588,6 +588,7 @@ function handleUpdate(row, view) {
// 采购入库
editRow.value = row;
getpurchaseInventoryDetail(row.supplyBusNo).then((response) => {
console.log('返回的数据,response:', response.data)
currentData.value = response.data;
// nextTick(() => {
// proxy.$refs['inventoryReceiptRef'].edit();
@@ -604,7 +605,6 @@ function handleUpdate(row, view) {
path: 'purchaseDocument',
});
}
getList();
});
}