Merge branch 'master' of https://codeup.aliyun.com/61c0318acd8b75daa5a125f7/medical/openhis
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
/**
|
||||
* 删除单据
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 入库单据审批通过
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* 供应商
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user