This commit is contained in:
LiJianZhao 2025-05-14 16:04:45 +08:00
parent 5fab6978bd
commit fc01b80f7b
5 changed files with 88 additions and 29 deletions

View File

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.crypto.SecretKey;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
@ -49,5 +50,13 @@ public class ManagerUserController extends BaseController {
return success(managerUserService.verify());
}
/**
* 所有人员信息
* @return
*/
@RequestMapping("list")
public Result<List<ManagerUser>> list(){
return success(managerUserService.list());
}
}

View File

@ -52,15 +52,7 @@ public class InventoryPurchaseController extends BaseController {
@RequestMapping("/list")
public Result<Page<InventoryPurchaseVo>> list() {
PurchaseOrderQuery query = parmsUtil.getObject("query", PurchaseOrderQuery.class);
if (query == null) {
return error("没有带查询条件");
}
if (query.getPageNum() == null || query.getPageNum() == 0) {
query.setPageNum(1);
}
if (query.getPageSize() == null || query.getPageSize() == 0) {
query.setPageSize(Constants.DetailPageSize);
}
return success(inventoryPurchaseService.listPage(query));
}

View File

@ -3,10 +3,20 @@ package com.syjiaer.clinic.server.entity.inventory.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class PurchaseOrderQuery {
private Integer pageNum;
private Integer pageSize;
private String code;
private List<Integer> supplierIds;
private List<Integer> managerUserIds;
private String beginTime;
private String endTime;
}

View File

@ -22,6 +22,7 @@ import javax.crypto.SecretKey;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
@ -59,5 +60,14 @@ public class ManagerUserService extends BaseService {
return getManagerUser();
}
/**
* 所有管理员
* @return
*/
public List<ManagerUser> list() {
QueryWrapper<ManagerUser> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id,name");
return managerUserMapper.selectList(queryWrapper);
}
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.syjiaer.clinic.server.common.constants.Constants;
import com.syjiaer.clinic.server.common.enums.*;
import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.DateUtil;
import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.goods.Goods;
import com.syjiaer.clinic.server.entity.inventory.*;
@ -50,10 +51,11 @@ public class InventoryPurchaseService extends BaseService {
private InventoryPurchaseMapper inventoryPurchaseMapper;
@Autowired
private InventoryPurchaseLogMapper inventoryPurchaseLogMapper;
/*
* 创建采购订单
* @param inventoryPurchase 采购订单
* @param list 采购项
* 创建采购订单
* @param inventoryPurchase 采购订单
* @param list 采购项
*/
@Transactional(rollbackFor = Exception.class)
public void create(InventoryPurchase inventoryPurchase, List<Inventory> list) {
@ -94,10 +96,10 @@ public class InventoryPurchaseService extends BaseService {
throw new RuntimeException("商品不存在");
}
UploadStatusEnum uploadStatusEnum = UploadStatusEnum.NoUpload;
if(goods.getType().equals(GoodsTypeEnum.otherGoods.getType())){
if (goods.getType().equals(GoodsTypeEnum.otherGoods.getType())) {
uploadStatusEnum = UploadStatusEnum.NotNeedUpload;
}
if (goods.getMinPackagingUnit() != null){
if (goods.getMinPackagingUnit() != null) {
BigDecimal fragmentPrice = inventory.getPurchaseUnitPrice().
divide(new BigDecimal(goods.getMinPackagingNumber()), 6, RoundingMode.HALF_DOWN);
inventory.setFragmentPrice(fragmentPrice);
@ -112,7 +114,7 @@ public class InventoryPurchaseService extends BaseService {
InventorySocialTypeEnum type = InventorySocialTypeEnum.OTHER_INBOUND;
String remark = Constants.PurchaseInventory;
InventoryInit init = null;
if (InventoryList == null || InventoryList.isEmpty()){
if (InventoryList == null || InventoryList.isEmpty()) {
init = new InventoryInit();
init.setGoodsId(goods.getId());
init.setCode(code);
@ -126,7 +128,7 @@ public class InventoryPurchaseService extends BaseService {
}
inventory.setRefererType(refererTypeEnum.getType());
inventoryMapper.insert(inventory);
if(init != null){
if (init != null) {
init.setInventoryId(inventory.getId());
inventoryInitMapper.insert(init);
}
@ -142,9 +144,9 @@ public class InventoryPurchaseService extends BaseService {
inventoryLog.setRemark(remark);
inventoryLog.setUploadStatus(uploadStatusEnum.getStatus());
inventoryLog.setSocialType(type.getType());
if (init != null){
if (init != null) {
inventoryLog.setType(InventoryTypeEnum.INIT.getType());
}else {
} else {
inventoryLog.setType(InventoryTypeEnum.PURCHASE_IN.getType());
}
inventoryLogMapper.insert(inventoryLog);
@ -155,7 +157,7 @@ public class InventoryPurchaseService extends BaseService {
inventoryPurchaseLog.setSocialType(type.getType());
inventoryPurchaseLog.setNumber(inventory.getWholeNumber());
UploadStatusEnum pUploadStatusEnum = uploadStatusEnum;
if (type.equals(InventorySocialTypeEnum.INITIAL_INBOUND)){
if (type.equals(InventorySocialTypeEnum.INITIAL_INBOUND)) {
pUploadStatusEnum = UploadStatusEnum.NotNeedUpload;
}
//初始化上报不走这个表上报 标记为无需上报
@ -170,6 +172,7 @@ public class InventoryPurchaseService extends BaseService {
/**
* 已有采购单添加新商品
*
* @param inventory 采购的商品
*/
@Transactional(rollbackFor = Exception.class)
@ -192,8 +195,8 @@ public class InventoryPurchaseService extends BaseService {
inventoryPurchaseMapper.update(updateOrder);
//更新库存信息
Goods dbGoods = goodsMapper.selectById(inventory.getGoodId());
UploadStatusEnum uploadStatusEnum = UploadStatusEnum.NoUpload;
if(dbGoods.getType().equals(GoodsTypeEnum.otherGoods.getType())){
UploadStatusEnum uploadStatusEnum = UploadStatusEnum.NoUpload;
if (dbGoods.getType().equals(GoodsTypeEnum.otherGoods.getType())) {
uploadStatusEnum = UploadStatusEnum.NotNeedUpload;
}
BigDecimal fragmentPrice = inventory.getPurchaseUnitPrice().
@ -207,7 +210,7 @@ public class InventoryPurchaseService extends BaseService {
InventorySocialTypeEnum type = InventorySocialTypeEnum.OTHER_INBOUND;
String remark = Constants.PurchaseInventory;
InventoryInit init = null;
if (InventoryList == null || InventoryList.isEmpty()){
if (InventoryList == null || InventoryList.isEmpty()) {
init = new InventoryInit();
init.setGoodsId(inventory.getGoodId());
init.setCode(inventory.getProductionBatchCode());
@ -221,7 +224,7 @@ public class InventoryPurchaseService extends BaseService {
}
inventory.setRefererType(refererTypeEnum.getType());
inventoryMapper.insert(inventory);
if(init != null){
if (init != null) {
init.setInventoryId(inventory.getId());
inventoryInitMapper.insert(init);
}
@ -243,7 +246,7 @@ public class InventoryPurchaseService extends BaseService {
inventoryPurchaseLog.setNumber(inventory.getWholeNumber());
inventoryPurchaseLog.setSocialType(type.getType());
UploadStatusEnum pUploadStatusEnum = uploadStatusEnum;
if (type.equals(InventorySocialTypeEnum.INITIAL_INBOUND)){
if (type.equals(InventorySocialTypeEnum.INITIAL_INBOUND)) {
pUploadStatusEnum = UploadStatusEnum.NotNeedUpload;
}
//初始化上报不走这个表上报 标记为无需上报
@ -257,17 +260,48 @@ public class InventoryPurchaseService extends BaseService {
/**
* 分页查询采购单
*
* @param query 查询条件
* @return
*/
public Page<InventoryPurchaseVo> listPage(PurchaseOrderQuery query) {
if (query == null) {
throw new MessageException("没有带查询条件");
}
if (query.getPageNum() == null || query.getPageNum() == 0) {
query.setPageNum(1);
}
if (query.getPageSize() == null || query.getPageSize() == 0) {
query.setPageSize(Constants.DetailPageSize);
}
QueryWrapper<InventoryPurchase> queryWrapper = new QueryWrapper<>();
if (query.getCode() != null && !query.getCode().isEmpty()) {
queryWrapper.like("code", query.getCode().trim());
}
if (query.getSupplierIds() != null && !query.getSupplierIds().isEmpty()) {
queryWrapper.in("supplier_id", query.getSupplierIds());
}
if (query.getManagerUserIds() != null && !query.getManagerUserIds().isEmpty()) {
queryWrapper.in("manager_user_id", query.getManagerUserIds());
}
if (query.getBeginTime() != null && !query.getBeginTime().isEmpty()) {
LocalDateTime beginTime = DateUtil.getDateTime(query.getBeginTime());
queryWrapper.ge("create_datetime", beginTime);
}
if (query.getEndTime() != null && !query.getEndTime().isEmpty()) {
LocalDateTime endTime = DateUtil.getDateTime(query.getEndTime());
queryWrapper.le("create_datetime", endTime);
}
Page<InventoryPurchase> page = pageHelper(query.getPageNum(), query.getPageSize(),
queryWrapper, inventoryPurchaseMapper, "create_datetime", false);
List<InventoryPurchaseVo> voList = new ArrayList<>();
for (InventoryPurchase inventoryPurchase : page.getList()) {
InventoryPurchaseVo vo = new InventoryPurchaseVo();
InventoryPurchaseVo vo = new InventoryPurchaseVo();
BeanUtils.copyProperties(inventoryPurchase, vo);
vo.setManagerUserName(managerUserMapper.selectById(inventoryPurchase.getManagerUserId()).getName());
vo.setSupplierName(inventorySupplierMapper.selectById(inventoryPurchase.getSupplierId()).getName());
@ -282,6 +316,7 @@ public class InventoryPurchaseService extends BaseService {
/**
* 获取采购单详情信息
*
* @param code 采购单号
* @return inventoryOrderGoodsList 商品信息 inventoryOrder 采购单信息
*/
@ -291,7 +326,7 @@ public class InventoryPurchaseService extends BaseService {
queryWrapper.orderByAsc("id");
List<Inventory> list = inventoryMapper.selectList(queryWrapper);
List<InventoryGoodsVo> goodsVos = new ArrayList<>();
for (Inventory inventory : list){
for (Inventory inventory : list) {
InventoryGoodsVo goodsVo = new InventoryGoodsVo();
BeanUtils.copyProperties(inventory, goodsVo);
@ -313,8 +348,10 @@ public class InventoryPurchaseService extends BaseService {
return map;
}
/**.
/**
* .
* 更新采购单基本信息
*
* @param inventoryOrder 采购单信息
*/
public void updateById(InventoryPurchase inventoryOrder) {
@ -331,6 +368,7 @@ public class InventoryPurchaseService extends BaseService {
/**
* 采购单中商品退货
*
* @param list inventory表idList
*/
@Transactional(rollbackFor = Exception.class)
@ -347,9 +385,9 @@ public class InventoryPurchaseService extends BaseService {
orderCode = inventory.getInventoryPurchaseCode();
InventoryLog log = inventoryService.adjustNumber(id,
0, inventory.getFragmentNumber(), "退货");
if (log.getChangeWholeNumber() == 0){
if (log.getChangeWholeNumber() == 0) {
return;
}else if (log.getChangeWholeNumber() < 0) {
} else if (log.getChangeWholeNumber() < 0) {
log.setType(InventoryTypeEnum.RETURN_OUT.getType());
log.setSocialType(InventorySocialTypeEnum.OTHER_OUTBOUND.getType());