Bläddra i källkod

模块开发12

wwh 2 månader sedan
förälder
incheckning
c9621f4e29

+ 40 - 1
huimv-farm/src/main/java/vip/xiaonuo/quality/controller/QualityReagentOutStockController.java

@@ -1,9 +1,23 @@
 package vip.xiaonuo.quality.controller;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.quality.entity.QualityReagentInStock;
+import vip.xiaonuo.quality.entity.QualityReagentOutStock;
+import vip.xiaonuo.quality.param.QualityStockPageParam;
+import vip.xiaonuo.quality.service.IQualityReagentOutStockService;
 
 /**
  * <p>
@@ -14,7 +28,32 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2025-03-10
  */
 @RestController
-@RequestMapping("/quality-reagent-out-stock")
+@Api(tags = "质量试剂出库")
+@ApiSupport(author = "wang", order = 1)
+@Validated
 public class QualityReagentOutStockController {
 
+    @Autowired
+    private IQualityReagentOutStockService outStockService;
+
+    @PostMapping("/quality-reagent-out-stock/add")
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("质量试剂出库添加")
+    public CommonResult add(@RequestBody QualityReagentOutStock outStock) {
+        return outStockService.add(outStock);
+    }
+
+    @PostMapping("/quality-reagent-out-stock/edit")
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("质量试剂出库修改")
+    public CommonResult edit(@RequestBody QualityReagentOutStock outStock) {
+        return outStockService.edit(outStock);
+    }
+
+    @PostMapping("/quality-reagent-out-stock/page")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("质量试剂出库分页")
+    public CommonResult<Page<QualityReagentOutStock>> page(@RequestBody QualityStockPageParam stockPageParam) {
+        return CommonResult.data(outStockService.page(stockPageParam));
+    }
 }

+ 7 - 1
huimv-farm/src/main/java/vip/xiaonuo/quality/entity/QualityReagentOutStock.java

@@ -49,7 +49,7 @@ public class QualityReagentOutStock implements Serializable {
      * 创建时间
      */
     @ApiModelProperty(value = "创建时间",position = 4)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
     private Date createTime;
 
     /**
@@ -72,4 +72,10 @@ public class QualityReagentOutStock implements Serializable {
     private Integer reagentId;
 
 
+    /**
+     * 入库数量
+     */
+    @ApiModelProperty(value = "出库原因 0使用 1转出 2过期作废 3其他",position =8 )
+    private Integer reason;
+
 }

+ 10 - 0
huimv-farm/src/main/java/vip/xiaonuo/quality/service/IQualityReagentOutStockService.java

@@ -1,7 +1,11 @@
 package vip.xiaonuo.quality.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.quality.entity.QualityReagentInStock;
 import vip.xiaonuo.quality.entity.QualityReagentOutStock;
 import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.quality.param.QualityStockPageParam;
 
 /**
  * <p>
@@ -13,4 +17,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IQualityReagentOutStockService extends IService<QualityReagentOutStock> {
 
+
+    CommonResult add(QualityReagentOutStock outStock);
+
+    CommonResult edit(QualityReagentOutStock outStock);
+
+    Page<QualityReagentOutStock> page(QualityStockPageParam pageParam);
 }

+ 1 - 1
huimv-farm/src/main/java/vip/xiaonuo/quality/service/impl/QualityReagentInStockServiceImpl.java

@@ -73,7 +73,7 @@ public class QualityReagentInStockServiceImpl extends ServiceImpl<QualityReagent
     public CommonResult edit(QualityReagentInStock inStock) {
         QualityReagentInStock inStock1 = inStockMapper.selectById(inStock);
         QueryWrapper<QualityReagentStock> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("org_id", inStock.getOrgId()).eq("reagent", inStock.getReagent());
+        queryWrapper.eq("id", inStock.getReagentId());
         QualityReagentStock stock = stockMapper.selectOne(queryWrapper);
         stock.setStock(stock.getStock() - inStock1.getInValue()+inStock.getInValue());
         stock.setInTime(new Date());

+ 77 - 0
huimv-farm/src/main/java/vip/xiaonuo/quality/service/impl/QualityReagentOutStockServiceImpl.java

@@ -1,11 +1,24 @@
 package vip.xiaonuo.quality.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.quality.entity.QualityReagentInStock;
 import vip.xiaonuo.quality.entity.QualityReagentOutStock;
+import vip.xiaonuo.quality.entity.QualityReagentStock;
 import vip.xiaonuo.quality.mapper.QualityReagentOutStockMapper;
+import vip.xiaonuo.quality.mapper.QualityReagentStockMapper;
+import vip.xiaonuo.quality.param.QualityStockPageParam;
 import vip.xiaonuo.quality.service.IQualityReagentOutStockService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 /**
  * <p>
  * 质量试剂出库 服务实现类
@@ -17,4 +30,68 @@ import org.springframework.stereotype.Service;
 @Service
 public class QualityReagentOutStockServiceImpl extends ServiceImpl<QualityReagentOutStockMapper, QualityReagentOutStock> implements IQualityReagentOutStockService {
 
+    @Autowired
+    private QualityReagentOutStockMapper outStockMapper;
+    @Autowired
+    private QualityReagentStockMapper stockMapper;
+
+    @Override
+    @Transactional
+    public CommonResult add(QualityReagentOutStock outStock) {
+        QueryWrapper<QualityReagentStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", outStock.getId());
+        QualityReagentStock stock = stockMapper.selectOne(queryWrapper);
+        Integer integer = stock.getStock();
+        if (integer < outStock.getInValue()) {
+            return CommonResult.error("出库数量大于库存量");
+        }
+        QualityReagentOutStock qualityReagentOutStock = new QualityReagentOutStock();
+        qualityReagentOutStock.setCreateTime(outStock.getCreateTime());
+        qualityReagentOutStock.setInValue(outStock.getInValue());
+        qualityReagentOutStock.setOrgId(outStock.getOrgId());
+        qualityReagentOutStock.setOrgName(outStock.getOrgName());
+        qualityReagentOutStock.setReagent(outStock.getReagent());
+        qualityReagentOutStock.setReagentId(outStock.getId());
+        qualityReagentOutStock.setReason(outStock.getReason());
+        outStockMapper.insert(qualityReagentOutStock);
+        stock.setStock(stock.getStock() - outStock.getInValue());
+        stock.setOutTime(new Date());
+        stockMapper.updateById(stock);
+        return CommonResult.ok();
+    }
+
+    @Override
+    public CommonResult edit(QualityReagentOutStock outStock) {
+        QualityReagentOutStock outStock1 = outStockMapper.selectById(outStock);
+        QueryWrapper<QualityReagentStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", outStock.getReagentId());
+        QualityReagentStock stock = stockMapper.selectOne(queryWrapper);
+        if (stock.getStock()+outStock1.getInValue() < outStock.getInValue()) {
+            return CommonResult.error("出库数量大于库存量");
+        }
+
+        stock.setStock(stock.getStock() + outStock1.getInValue()-outStock.getInValue());
+        stock.setInTime(new Date());
+        stockMapper.updateById(stock);
+        outStockMapper.updateById(outStock);
+        return CommonResult.ok();
+    }
+
+    @Override
+    public Page<QualityReagentOutStock> page(QualityStockPageParam pageParam) {
+        Integer pageSize = pageParam.getPageSize();
+        Integer pageNum = pageParam.getPageNum();
+        String orgId = pageParam.getOrgId();
+        String reagent = pageParam.getReagent();
+        Integer reagentId = pageParam.getId();
+        QueryWrapper<QualityReagentOutStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
+        queryWrapper.eq(StringUtils.isNotBlank(reagent), "reagent", reagent);
+        if (null != reagentId) {
+            queryWrapper.eq("reagent_id", reagentId);
+        }
+        queryWrapper.orderByDesc("create_time");
+        Page<QualityReagentOutStock> page = new Page<>(pageNum, pageSize);
+        return outStockMapper.selectPage(page,queryWrapper);
+    }
 }