QualityReagentInStockServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package vip.xiaonuo.quality.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import vip.xiaonuo.common.pojo.CommonResult;
  9. import vip.xiaonuo.quality.entity.QualityReagentInStock;
  10. import vip.xiaonuo.quality.entity.QualityReagentStock;
  11. import vip.xiaonuo.quality.mapper.QualityReagentInStockMapper;
  12. import vip.xiaonuo.quality.mapper.QualityReagentStockMapper;
  13. import vip.xiaonuo.quality.param.QualityStockPageParam;
  14. import vip.xiaonuo.quality.service.IQualityReagentInStockService;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import org.springframework.stereotype.Service;
  17. import java.text.DecimalFormat;
  18. import java.util.Date;
  19. /**
  20. * <p>
  21. * 质量试剂入库 服务实现类
  22. * </p>
  23. *
  24. * @author author
  25. * @since 2025-03-10
  26. */
  27. @Service
  28. public class QualityReagentInStockServiceImpl extends ServiceImpl<QualityReagentInStockMapper, QualityReagentInStock> implements IQualityReagentInStockService {
  29. @Autowired
  30. private QualityReagentInStockMapper inStockMapper;
  31. @Autowired
  32. private QualityReagentStockMapper stockMapper;
  33. @Override
  34. @Transactional
  35. public CommonResult add(QualityReagentInStock inStock) {
  36. if ("".equals(inStock.getOrgId()) || null == inStock.getOrgId()) {
  37. return CommonResult.error();
  38. } else {
  39. QueryWrapper<QualityReagentStock> queryWrapper = new QueryWrapper<>();
  40. queryWrapper.eq("id", inStock.getId());
  41. QualityReagentStock stock = stockMapper.selectOne(queryWrapper);
  42. QualityReagentInStock qualityReagentInStock = new QualityReagentInStock();
  43. qualityReagentInStock.setCreateTime(inStock.getCreateTime());
  44. qualityReagentInStock.setInValue(inStock.getInValue());
  45. qualityReagentInStock.setOrgId(inStock.getOrgId());
  46. qualityReagentInStock.setOrgName(inStock.getOrgName());
  47. qualityReagentInStock.setReagent(inStock.getReagent());
  48. qualityReagentInStock.setReagentId(inStock.getReagentId());
  49. inStockMapper.insert(qualityReagentInStock);
  50. if (ObjectUtil.isEmpty(stock)) {
  51. QualityReagentStock stock1 = new QualityReagentStock();
  52. stock1.setOrgId(inStock.getOrgId());
  53. stock1.setOrgName(inStock.getOrgName());
  54. stock1.setReagent(inStock.getReagent());
  55. stock1.setStock(inStock.getInValue());
  56. stockMapper.insert(stock1);
  57. } else {
  58. stock.setStock(stock.getStock() + inStock.getInValue());
  59. stock.setInTime(new Date());
  60. stockMapper.updateById(stock);
  61. }
  62. }
  63. return CommonResult.ok();
  64. }
  65. @Override
  66. public CommonResult edit(QualityReagentInStock inStock) {
  67. QualityReagentInStock inStock1 = inStockMapper.selectById(inStock);
  68. QueryWrapper<QualityReagentStock> queryWrapper = new QueryWrapper<>();
  69. queryWrapper.eq("org_id", inStock.getOrgId()).eq("reagent", inStock.getReagent());
  70. QualityReagentStock stock = stockMapper.selectOne(queryWrapper);
  71. stock.setStock(stock.getStock() - inStock1.getInValue()+inStock.getInValue());
  72. stock.setInTime(new Date());
  73. stockMapper.updateById(stock);
  74. inStockMapper.updateById(inStock);
  75. return CommonResult.ok();
  76. }
  77. @Override
  78. public Page<QualityReagentInStock> page(QualityStockPageParam pageParam) {
  79. Integer pageSize = pageParam.getPageSize();
  80. Integer pageNum = pageParam.getPageNum();
  81. String orgId = pageParam.getOrgId();
  82. String reagent = pageParam.getReagent();
  83. Integer reagentId = pageParam.getId();
  84. QueryWrapper<QualityReagentInStock> queryWrapper = new QueryWrapper<>();
  85. queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
  86. queryWrapper.eq(StringUtils.isNotBlank(reagent), "reagent", reagent);
  87. if (null != reagentId) {
  88. queryWrapper.eq("reagent_id", reagentId);
  89. }
  90. queryWrapper.orderByDesc("create_time");
  91. Page<QualityReagentInStock> page = new Page<>(pageNum, pageSize);
  92. return inStockMapper.selectPage(page,queryWrapper);
  93. }
  94. }