This commit is contained in:
liuhongrui
2025-03-19 11:33:41 +08:00
19 changed files with 325 additions and 121 deletions

View File

@@ -3,37 +3,16 @@
*/
package com.openhis.web.datadictionary.appservice;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import com.core.common.core.domain.R;
import com.core.common.utils.MessageUtils;
import com.core.common.utils.bean.BeanUtils;
import com.openhis.administration.domain.Supplier;
import com.openhis.administration.mapper.SupplierMapper;
import com.openhis.administration.service.ISupplierService;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.AccountStatus;
import com.openhis.common.enums.SupplierType;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisPageUtils;
import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.datadictionary.dto.SupplierDto;
import com.openhis.web.datadictionary.dto.SupplierInitDto;
import com.openhis.web.datadictionary.dto.SupplierSearchParam;
import com.openhis.web.datadictionary.dto.SupplierUpDto;
import com.openhis.web.inventorymanage.dto.InventoryReceiptDto;
import com.openhis.web.inventorymanage.dto.InventorySearchParam;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 厂商/产地 service

View File

@@ -6,8 +6,8 @@ package com.openhis.web.inventorymanage.appservice;
import javax.servlet.http.HttpServletRequest;
import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.dto.InventoryReceiptDto;
import com.openhis.web.inventorymanage.dto.InventorySearchParam;
import com.openhis.web.inventorymanage.dto.PurchaseInventoryDto;
/**
* 采购入库 appService
@@ -41,10 +41,10 @@ public interface IPurchaseInventoryAppService {
/**
* 添加/编辑入库单据
*
* @param inventoryReceiptDto 入库单据
* @param purchaseInventoryDto 入库单据
* @return 操作结果
*/
R<?> addOrEditInventoryReceipt(InventoryReceiptDto inventoryReceiptDto);
R<?> addOrEditInventoryReceipt(PurchaseInventoryDto purchaseInventoryDto);
/**
* 删除单据

View File

@@ -9,8 +9,8 @@ import javax.servlet.http.HttpServletRequest;
import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.dto.ItemChargeDetailDto;
import com.openhis.web.inventorymanage.dto.ReceiptApprovalSearchParam;
import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto;
import com.openhis.workflow.domain.SupplyRequest;
/**
* 单据审批 appService
@@ -20,14 +20,6 @@ import com.openhis.workflow.domain.SupplyRequest;
*/
public interface IReceiptApprovalAppService {
/**
* 校验单据是否正确
*
* @param supplyRequest 单据信息
* @return 校验结果
*/
R<?> verifyInventoryReceipt(SupplyRequest supplyRequest);
/**
* 根据单据号获取供应单据及供应项相关详细信息
*
@@ -62,4 +54,24 @@ public interface IReceiptApprovalAppService {
* @return 操作结果
*/
R<?> reject(String busNo, HttpServletRequest request);
/**
* 审批单据分页列表
*
* @param receiptSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 审批单据分页列表
*/
R<?> getPage(ReceiptApprovalSearchParam receiptSearchParam, Integer pageNo, Integer pageSize, String searchKey,
HttpServletRequest request);
/**
* 单据审批页面初始化
*
* @return 初始化信息
*/
R<?> receiptApprovalInit();
}

View File

@@ -16,7 +16,6 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.openhis.common.enums.AssignSeqEnum;
import com.core.common.utils.AssignSeqUtil;
import com.core.common.utils.DateUtils;
import com.core.common.utils.MessageUtils;
@@ -27,10 +26,7 @@ import com.openhis.administration.service.IPractitionerService;
import com.openhis.administration.service.ISupplierService;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.ItemType;
import com.openhis.common.enums.SupplyCategory;
import com.openhis.common.enums.SupplyStatus;
import com.openhis.common.enums.SupplyType;
import com.openhis.common.enums.*;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.inventorymanage.appservice.IPurchaseInventoryAppService;
@@ -71,29 +67,29 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
@Override
public R<?> purchaseInventoryInit() {
InventoryReceiptInitDto initDto = new InventoryReceiptInitDto();
PurchaseInventoryInitDto initDto = new PurchaseInventoryInitDto();
// 单据号
initDto.setBusNo(assignSeqUtil.getSeqByDay(AssignSeqEnum.PURCHASE_NUM.getPrefix(), 12));
// 查询供应商列表
List<Supplier> supplierList = supplierService.getList();
// 查询经手人列表
List<Practitioner> practitionerList = practitionerService.getList();
// 供应商信息
List<InventoryReceiptInitDto.practitionerListOption> practitionerListOptions = practitionerList.stream()
.map(practitioner -> new InventoryReceiptInitDto.practitionerListOption(practitioner.getId(),
// 经手人信息
List<PurchaseInventoryInitDto.practitionerListOption> practitionerListOptions = practitionerList.stream()
.map(practitioner -> new PurchaseInventoryInitDto.practitionerListOption(practitioner.getId(),
practitioner.getName()))
.collect(Collectors.toList());
// 经手人信息
List<InventoryReceiptInitDto.supplierListOption> supplierListOptions = supplierList.stream()
.map(supplier -> new InventoryReceiptInitDto.supplierListOption(supplier.getId(), supplier.getName()))
// 供应商信息
List<PurchaseInventoryInitDto.supplierListOption> supplierListOptions = supplierList.stream()
.map(supplier -> new PurchaseInventoryInitDto.supplierListOption(supplier.getId(), supplier.getName()))
.collect(Collectors.toList());
// 入库项目类型
List<InventoryReceiptInitDto.itemTypeOption> itemTypeOptions = Stream.of(ItemType.values())
.map(itemType -> new InventoryReceiptInitDto.itemTypeOption(itemType.getValue(), itemType.getInfo()))
List<PurchaseInventoryInitDto.itemTypeOption> itemTypeOptions = Stream.of(ItemType.values())
.map(itemType -> new PurchaseInventoryInitDto.itemTypeOption(itemType.getValue(), itemType.getInfo()))
.collect(Collectors.toList());
// 审批状态
List<InventoryReceiptInitDto.supplyStatusOption> supplyStatusOptions = Stream.of(SupplyStatus.values())
.map(supplyStatus -> new InventoryReceiptInitDto.supplyStatusOption(supplyStatus.getValue(),
List<PurchaseInventoryInitDto.supplyStatusOption> supplyStatusOptions = Stream.of(SupplyStatus.values())
.map(supplyStatus -> new PurchaseInventoryInitDto.supplyStatusOption(supplyStatus.getValue(),
supplyStatus.getInfo()))
.collect(Collectors.toList());
@@ -125,7 +121,7 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
QueryWrapper<InventorySearchParam> queryWrapper =
HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request);
// 查询入库单据分页列表
Page<InventoryReceiptPageDto> inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage(
Page<ReceiptPageDto> inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage(
new Page<>(pageNo, pageSize), queryWrapper, SupplyType.PURCHASE_INVENTORY.getValue());
inventoryReceiptPage.getRecords().forEach(e -> {
@@ -144,8 +140,8 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
@Override
public R<?> getDetail(String busNo) {
List<ReceiptDetailDto> receiptDetailList = purchaseInventoryMapper.selectDetail(busNo);
if (receiptDetailList.isEmpty()){
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00006,null));
if (receiptDetailList.isEmpty()) {
return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00006, null));
}
return R.ok(receiptDetailList);
}
@@ -153,17 +149,17 @@ public class PurchaseInventoryAppServiceImpl implements IPurchaseInventoryAppSer
/**
* 添加/编辑入库单据
*
* @param inventoryReceiptDto 入库单据
* @param purchaseInventoryDto 入库单据
* @return 操作结果
*/
@Override
public R<?> addOrEditInventoryReceipt(InventoryReceiptDto inventoryReceiptDto) {
public R<?> addOrEditInventoryReceipt(PurchaseInventoryDto purchaseInventoryDto) {
// 初始化单据信息
SupplyRequest supplyRequest = new SupplyRequest();
BeanUtils.copyProperties(inventoryReceiptDto, supplyRequest);
BeanUtils.copyProperties(purchaseInventoryDto, supplyRequest);
if (inventoryReceiptDto.getId() != null) {
if (purchaseInventoryDto.getId() != null) {
// 更新单据信息
supplyRequestService.updateById(supplyRequest);
} else {

View File

@@ -4,11 +4,9 @@
package com.openhis.web.inventorymanage.appservice.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
@@ -16,6 +14,8 @@ import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.utils.DateUtils;
@@ -28,10 +28,13 @@ import com.openhis.administration.service.IChargeItemService;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.EventStatus;
import com.openhis.common.enums.SupplyStatus;
import com.openhis.common.enums.SupplyType;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisQueryUtils;
import com.openhis.web.inventorymanage.appservice.IReceiptApprovalAppService;
import com.openhis.web.inventorymanage.assembler.InventoryManageAssembler;
import com.openhis.web.inventorymanage.dto.ItemChargeDetailDto;
import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto;
import com.openhis.web.inventorymanage.dto.*;
import com.openhis.web.inventorymanage.mapper.ReceiptApprovalMapper;
import com.openhis.workflow.domain.InventoryItem;
import com.openhis.workflow.domain.SupplyDelivery;
@@ -65,23 +68,58 @@ public class ReceiptApprovalAppServiceImpl implements IReceiptApprovalAppService
private ReceiptApprovalMapper receiptApprovalMapper;
/**
* 校验单据是否正确
* 单据审批页面初始化
*
* @param supplyRequest 单据信息
* @return 校验结果
* @return 初始化信息
*/
@Override
public R<?> verifyInventoryReceipt(SupplyRequest supplyRequest) {
public R<?> receiptApprovalInit() {
ReceiptInitDto initDto = new ReceiptInitDto();
// 单据类型
List<ReceiptInitDto.supplyTypeOption> supplyTypeOptions = Stream.of(SupplyType.values())
.map(supplyType -> new ReceiptInitDto.supplyTypeOption(supplyType.getValue(), supplyType.getInfo()))
.collect(Collectors.toList());
// 审批状态
List<ReceiptInitDto.supplyStatusOption> supplyStatusOptions = Stream.of(SupplyStatus.values())
.map(supplyStatus -> new ReceiptInitDto.supplyStatusOption(supplyStatus.getValue(), supplyStatus.getInfo()))
.collect(Collectors.toList());
initDto.setSupplyTypeOptions(supplyTypeOptions).setSupplyStatusOptions(supplyStatusOptions);
// // 判断同一物品的批次号是否重复
// boolean result = supplyRequestMapper
// .exists(new LambdaQueryWrapper<SupplyRequest>().eq(SupplyRequest::getItemId, supplyRequest.getItemId())
// .eq(SupplyRequest::getLotNumber, supplyRequest.getLotNumber())
// .ne(supplyRequest.getId() != null, SupplyRequest::getId, supplyRequest.getId()));
// if (result) {
// return R.fail(MessageUtils.createMessage(PromptMsgConstant.Common.M00003, new Object[] {"批次号"}));
// }
return R.ok();
return R.ok(initDto);
}
/**
* 审批单据分页列表
*
* @param receiptSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 审批单据分页列表
*/
@Override
public R<?> getPage(ReceiptApprovalSearchParam receiptSearchParam, Integer pageNo, Integer pageSize,
String searchKey, HttpServletRequest request) {
// 设置模糊查询的字段名
HashSet<String> searchFields = new HashSet<>();
searchFields.add(CommonConstants.FieldName.SupplyBusNo);
// 构建查询条件
QueryWrapper<ReceiptApprovalSearchParam> queryWrapper =
HisQueryUtils.buildQueryWrapper(receiptSearchParam, searchKey, searchFields, request);
// 查询单据分页列表
Page<ReceiptPageDto> receiptPage =
receiptApprovalMapper.selectReceiptPage(new Page<>(pageNo, pageSize), queryWrapper,
SupplyStatus.APPROVAL.getValue(), SupplyStatus.AGREE.getValue(), SupplyStatus.REJECT.getValue());
receiptPage.getRecords().forEach(e -> {
// 单据状态
e.setStatusEnum_enumText(EnumUtils.getInfoByValue(SupplyStatus.class, e.getStatusEnum()));
// 单据状态
e.setTypeEnum_enumText(EnumUtils.getInfoByValue(SupplyType.class, e.getTypeEnum()));
});
return R.ok(receiptPage);
}
/**

View File

@@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.*;
import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.appservice.IPurchaseInventoryAppService;
import com.openhis.web.inventorymanage.dto.InventoryReceiptDto;
import com.openhis.web.inventorymanage.dto.InventorySearchParam;
import com.openhis.web.inventorymanage.dto.PurchaseInventoryDto;
import lombok.extern.slf4j.Slf4j;
@@ -72,12 +72,12 @@ public class PurchaseInventoryController {
/**
* 添加/编辑入库单据
*
* @param inventoryReceiptDto 入库单据
* @param purchaseInventoryDto 入库单据
* @return 操作结果
*/
@PutMapping("/inventory-receipt")
public R<?> addOrEditInventoryReceipt(@Validated @RequestBody InventoryReceiptDto inventoryReceiptDto) {
return purchaseInventoryAppService.addOrEditInventoryReceipt(inventoryReceiptDto);
public R<?> addOrEditInventoryReceipt(@Validated @RequestBody PurchaseInventoryDto purchaseInventoryDto) {
return purchaseInventoryAppService.addOrEditInventoryReceipt(purchaseInventoryDto);
}
/**

View File

@@ -6,13 +6,11 @@ package com.openhis.web.inventorymanage.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.appservice.IReceiptApprovalAppService;
import com.openhis.web.inventorymanage.dto.ReceiptApprovalSearchParam;
import lombok.extern.slf4j.Slf4j;
@@ -30,6 +28,34 @@ public class ReceiptApprovalController {
@Autowired
private IReceiptApprovalAppService receiptApprovalAppService;
/**
* 单据审批页面初始化
*
* @return 初始化信息
*/
@GetMapping(value = "/init")
public R<?> receiptApprovalInit() {
return receiptApprovalAppService.receiptApprovalInit();
}
/**
* 审批单据分页列表
*
* @param receiptSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 审批单据分页列表
*/
@GetMapping(value = "/receipt-page")
public R<?> getPage(ReceiptApprovalSearchParam receiptSearchParam,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "searchKey", required = false) String searchKey, HttpServletRequest request) {
return receiptApprovalAppService.getPage(receiptSearchParam, pageNo, pageSize, searchKey, request);
}
/**
* 入库单据审批通过
*

View File

@@ -4,9 +4,6 @@
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.util.Date;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -21,9 +18,7 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class InventorySearchParam implements Serializable {
/** 单据号 */
@Length(max = 255)
private String busNo;
private static final long serialVersionUID = 1L;
/** 状态 */
private Integer statusEnum;
@@ -31,12 +26,6 @@ public class InventorySearchParam implements Serializable {
/** 供应商 */
private Long supplierId;
/** 申请开始时间 */
private Date applyTimeStart;
/** 申请结束时间 */
private Date applyTimeEnd;
/** 经手人 */
private Long practitionerId;
}

View File

@@ -26,7 +26,7 @@ import lombok.experimental.Accessors;
*/
@Data
@Accessors(chain = true)
public class InventoryReceiptDto implements Serializable {
public class PurchaseInventoryDto implements Serializable {
private static final long serialVersionUID = 1L;

View File

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
*/
@Data
@Accessors(chain = true)
public class InventoryReceiptInitDto {
public class PurchaseInventoryInitDto {
/**
* 单据号
@@ -26,22 +26,22 @@ public class InventoryReceiptInitDto {
/**
* 供应商
*/
private List<InventoryReceiptInitDto.supplierListOption> supplierListOptions;
private List<PurchaseInventoryInitDto.supplierListOption> supplierListOptions;
/**
* 经手人
*/
private List<InventoryReceiptInitDto.practitionerListOption> practitionerListOptions;
private List<PurchaseInventoryInitDto.practitionerListOption> practitionerListOptions;
/**
* 入库项目类型
*/
private List<InventoryReceiptInitDto.itemTypeOption> itemTypeOptions;
private List<PurchaseInventoryInitDto.itemTypeOption> itemTypeOptions;
/**
* 审批状态
*/
private List<InventoryReceiptInitDto.supplyStatusOption> supplyStatusOptions;
private List<PurchaseInventoryInitDto.supplyStatusOption> supplyStatusOptions;
/**
* 供应商

View File

@@ -0,0 +1,28 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 单据审批分页查询条件
*
* @author zwh
* @date 2025-03-19
*/
@Data
@Accessors(chain = true)
public class ReceiptApprovalSearchParam implements Serializable {
private static final long serialVersionUID = 1L;
/** 状态 */
private Integer statusEnum;
/** 类型 */
private Integer typeEnum;
}

View File

@@ -0,0 +1,58 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.util.List;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* TODO:概括描述当前类的主要用途和注意事项
*
* @author zwh
* @date 2025-03-19
*/
@Data
@Accessors(chain = true)
public class ReceiptInitDto {
/**
* 单据类型
*/
private List<ReceiptInitDto.supplyTypeOption> supplyTypeOptions;
/**
* 审批状态
*/
private List<ReceiptInitDto.supplyStatusOption> supplyStatusOptions;
/**
* 单据类型
*/
@Data
public static class supplyTypeOption {
private Integer value;
private String label;
public supplyTypeOption(Integer value, String label) {
this.value = value;
this.label = label;
}
}
/**
* 审批状态
*/
@Data
public static class supplyStatusOption {
private Integer value;
private String label;
public supplyStatusOption(Integer value, String label) {
this.value = value;
this.label = label;
}
}
}

View File

@@ -16,14 +16,14 @@ import lombok.Data;
import lombok.experimental.Accessors;
/**
* 入库单据分页列表 dto
* 单据分页列表 dto
*
* @author zwh
* @date 2025-02-18
*/
@Data
@Accessors(chain = true)
public class InventoryReceiptPageDto implements Serializable {
public class ReceiptPageDto implements Serializable {
private static final long serialVersionUID = 1L;
@@ -39,16 +39,24 @@ public class InventoryReceiptPageDto implements Serializable {
private Integer statusEnum;
private String statusEnum_enumText;
/** 状态 */
private Integer typeEnum;
private String typeEnum_enumText;
/** 供应商 */
@Dict(dictCode = "id", dictText = "name", dictTable = "adm_supplier")
private Long supplierId;
private String supplierId_dictText;
/** 经手人 */
@Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner")
private Long practitionerId;
private String practitionerId_dictText;
/** 审批人 */
@Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner")
private Long approverId;
private String approverId_dictText;
/** 审批时间 */
private Date approvalTime;
@@ -56,8 +64,12 @@ public class InventoryReceiptPageDto implements Serializable {
/** 申请人 */
@Dict(dictCode = "id", dictText = "name", dictTable = "adm_practitioner")
private Long applicantId;
private String applicantId_dictText;
/** 申请时间 */
private Date applyTime;
/** 制单日期 */
private Date createTime;
}

View File

@@ -11,9 +11,9 @@ import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.openhis.web.inventorymanage.dto.InventoryReceiptPageDto;
import com.openhis.web.inventorymanage.dto.InventorySearchParam;
import com.openhis.web.inventorymanage.dto.ReceiptDetailDto;
import com.openhis.web.inventorymanage.dto.ReceiptPageDto;
/**
* 采购入库查询用 mapper
@@ -32,7 +32,7 @@ public interface PurchaseInventoryMapper {
* @param purchaseInventory 单据类型:采购入库
* @return 入库单据分页列表
*/
Page<InventoryReceiptPageDto> selectInventoryReceiptPage(@Param("page") Page<InventoryReceiptPageDto> page,
Page<ReceiptPageDto> selectInventoryReceiptPage(@Param("page") Page<ReceiptPageDto> page,
@Param(Constants.WRAPPER) QueryWrapper<InventorySearchParam> queryWrapper,
@Param("purchaseInventory") Integer purchaseInventory);

View File

@@ -8,8 +8,13 @@ import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.openhis.web.inventorymanage.dto.ItemChargeDetailDto;
import com.openhis.web.inventorymanage.dto.ReceiptApprovalSearchParam;
import com.openhis.web.inventorymanage.dto.ReceiptPageDto;
import com.openhis.web.inventorymanage.dto.SupplyItemDetailDto;
import com.openhis.workflow.domain.SupplyRequest;
@@ -49,4 +54,18 @@ public interface ReceiptApprovalMapper extends BaseMapper<SupplyRequest> {
* @return 价格信息
*/
List<ItemChargeDetailDto> selectChargeDetail(@Param("itemIdList") List<Long> itemIdList);
/**
* 查询单据审批分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @param approval 单据状态:审核中
* @param agree 单据状态:同意
* @param reject 单据状态:驳回
* @return 单据审批分页列表
*/
Page<ReceiptPageDto> selectReceiptPage(@Param("page") Page<ReceiptPageDto> page,
@Param(Constants.WRAPPER) QueryWrapper<ReceiptApprovalSearchParam> queryWrapper,
@Param("approval") Integer approval, @Param("agree") Integer agree, @Param("reject") Integer reject);
}

View File

@@ -3,7 +3,7 @@
<mapper namespace="com.openhis.web.inventorymanage.mapper.PurchaseInventoryMapper">
<select id="selectInventoryReceiptPage"
resultType="com.openhis.web.inventorymanage.dto.InventoryReceiptPageDto">
resultType="com.openhis.web.inventorymanage.dto.ReceiptPageDto">
SELECT T2.id,
T2.bus_no AS supply_bus_no,
T2.status_enum,
@@ -11,7 +11,7 @@
T2.approver_id,
T2.approval_time,
T2.applicant_id,
T2.apply_time,
T2.create_time,
T2.practitioner_id,
T2.tenant_id
FROM (SELECT T1.id,
@@ -21,7 +21,7 @@
T1.approver_id,
T1.approval_time,
T1.applicant_id,
T1.apply_time,
T1.create_time,
T1.practitioner_id,
T1.tenant_id
FROM wor_supply_request AS T1
@@ -33,7 +33,7 @@
T1.approver_id,
T1.approval_time,
T1.applicant_id,
T1.apply_time,
T1.create_time,
T1.practitioner_id,
T1.tenant_id
ORDER BY T1.bus_no desc

View File

@@ -108,4 +108,47 @@
#{itemId}
</foreach>
</select>
<select id="selectReceiptPage" resultType="com.openhis.web.inventorymanage.dto.ReceiptPageDto">
SELECT T2.id,
T2.bus_no,
T2.status_enum,
T2.type_enum,
T2.supplier_id,
T2.approver_id,
T2.approval_time,
T2.applicant_id,
T2.apply_time,
T2.create_time,
T2.practitioner_id,
T2.tenant_id
FROM (SELECT T1.id,
T1.bus_no,
T1.status_enum,
T1.type_enum,
T1.supplier_id,
T1.approver_id,
T1.approval_time,
T1.applicant_id,
T1.apply_time,
T1.create_time,
T1.practitioner_id,
T1.tenant_id
FROM wor_supply_request AS T1
WHERE T1.status_enum IN (#{approval},#{agree},#{reject})
GROUP BY T1.id,
T1.bus_no,
T1.status_enum,
T1.type_enum,
T1.supplier_id,
T1.approver_id,
T1.approval_time,
T1.applicant_id,
T1.apply_time,
T1.create_time,
T1.practitioner_id,
T1.tenant_id
ORDER BY T1.bus_no desc
) AS T2
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -14,29 +14,30 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum SupplyType {
public enum SupplyType implements HisEnumInterface {
/**
* 采购入库
*/
PURCHASE_INVENTORY(1, "采购入库"),
PURCHASE_INVENTORY(1, "1", "采购入库"),
/**
* 商品调拨
*/
PRODUCT_ALLOCATION(2, "商品调拨"),
PRODUCT_ALLOCATION(2, "2", "商品调拨"),
/**
* 汇总发药
*/
DISPENSING_AGGREGATION(3, "汇总发药"),
DISPENSING_AGGREGATION(3, "3", "汇总发药"),
/**
* 商品盘点
*/
PRODUCT_INVENTORY(4, "商品盘点");
PRODUCT_INVENTORY(4, "4", "商品盘点");
private Integer value;
private String code;
private String info;
public static SupplyType getByValue(Integer value) {

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.utils.DateUtils;
import com.openhis.common.enums.SupplyStatus;
import com.openhis.workflow.domain.SupplyRequest;
import com.openhis.workflow.mapper.SupplyRequestMapper;
@@ -68,8 +69,10 @@ public class SupplyRequestServiceImpl extends ServiceImpl<SupplyRequestMapper, S
*/
@Override
public boolean submitApproval(String busNo) {
int updateCount = baseMapper.update(null, new LambdaUpdateWrapper<SupplyRequest>()
.eq(SupplyRequest::getBusNo, busNo).set(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue()));
int updateCount = baseMapper.update(null,
new LambdaUpdateWrapper<SupplyRequest>().eq(SupplyRequest::getBusNo, busNo)
.set(SupplyRequest::getStatusEnum, SupplyStatus.APPROVAL.getValue())
.set(SupplyRequest::getApplyTime, DateUtils.getNowDate()));
return updateCount > 0;
}