diff --git a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/moldrepair/vo/MoldRepairSaveReqVO.java b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/moldrepair/vo/MoldRepairSaveReqVO.java
index 4c53dcf33..74acb0c7c 100644
--- a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/moldrepair/vo/MoldRepairSaveReqVO.java
+++ b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/controller/admin/moldrepair/vo/MoldRepairSaveReqVO.java
@@ -16,7 +16,7 @@ public class MoldRepairSaveReqVO {
private Long id;
@Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "维修单编号不能为空")
+// @NotEmpty(message = "维修单编号不能为空")
private String repairCode;
@Schema(description = "维修单名称", example = "王五")
diff --git a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/stock/ErpStockRecordBizTypeEnum.java b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/stock/ErpStockRecordBizTypeEnum.java
index e47d56af2..b1484219e 100644
--- a/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/stock/ErpStockRecordBizTypeEnum.java
+++ b/yudao-module-erp/yudao-module-erp-api/src/main/java/cn/iocoder/yudao/module/erp/enums/stock/ErpStockRecordBizTypeEnum.java
@@ -5,6 +5,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import java.util.Arrays;
+import java.util.Objects;
/**
* ERP 库存明细 - 业务类型枚举
@@ -15,14 +16,14 @@ import java.util.Arrays;
@Getter
public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
- OTHER_IN(10, "其它入库"),
- OTHER_IN_CANCEL(11, "其它入库(作废)"),
+ OTHER_IN(10, "其他入库"),
+ OTHER_IN_CANCEL(11, "其他入库(作废)"),
MES_ITEM_OUT(23, "领料出库"),
MES_ITEM_OUT_CANCEL(24, "领料出库(作废)"),
MES_PRODUCT_IN(13, "生产入库"),
MES_PRODUCT_IN_CANCEL(14, "生产入库(作废)"),
- OTHER_OUT(20, "其它出库"),
- OTHER_OUT_CANCEL(21, "其它出库(作废)"),
+ OTHER_OUT(20, "其他出库"),
+ OTHER_OUT_CANCEL(21, "其他出库(作废)"),
MOVE_IN(30, "调拨入库"),
MOVE_IN_CANCEL(31, "调拨入库(作废)"),
@@ -45,7 +46,18 @@ public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
PURCHASE_RETURN(80, "采购退货出库"),
PURCHASE_RETURN_CANCEL(81, "采购退货出库(作废)"),
- ;
+
+
+ SPARE_PARTS(90, "备件入库"),
+ SPARE_PARTS_INVALIDATION(91, "备件入库(作废)"),
+
+ SPARE_PARTS_OUT(100, "备件出库"),
+ SPARE_PARTS_OUT_INVALIDATION(101, "备件出库(作废)"),
+
+ PRODUCT_WAREHOUSING(110, "产品入库"),
+ PRODUCT_WAREHOUSING_VOID(111, "产品入库(作废)"),
+ ;
+
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ErpStockRecordBizTypeEnum::getType).toArray();
@@ -63,4 +75,24 @@ public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
return ARRAYS;
}
+
+ public static Integer getTypeByName(String name) {
+ return Arrays.stream(values())
+ .filter(e -> e.getName().equals(name))
+ .map(ErpStockRecordBizTypeEnum::getType)
+ .findFirst()
+ .orElse(null);
+ }
+
+ public static Integer getTypeByName(String name, Integer status) {
+ Integer type = getTypeByName(name);
+ if (type == null) {
+ return null;
+ }
+ // status = 10 表示作废
+ if (Objects.equals(status, 10)) {
+ return type + 1;
+ }
+ return type;
+ }
}
diff --git a/yudao-module-erp/yudao-module-erp-biz/pom.xml b/yudao-module-erp/yudao-module-erp-biz/pom.xml
index d326e3d9d..baee6d76f 100644
--- a/yudao-module-erp/yudao-module-erp-biz/pom.xml
+++ b/yudao-module-erp/yudao-module-erp-biz/pom.xml
@@ -69,6 +69,10 @@
2.3.0-jdk8-SNAPSHOT
compile
+
+ cn.iocoder.boot
+ yudao-spring-boot-starter-protection
+
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java
index 4f421a659..b660a7320 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockInController.java
@@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.framework.ratelimiter.core.annotation.RateLimiter;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO;
@@ -44,6 +45,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.TimeUnit;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -89,9 +91,11 @@ public class ErpStockInController {
@PutMapping("/update-status")
@Operation(summary = "更新其它入库单的状态")
@PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')")
+ @RateLimiter(count = 1, timeUnit = TimeUnit.SECONDS)
public CommonResult updateStockInStatus(@RequestParam("id") Long id,
- @RequestParam("status") Integer status) {
- stockInService.updateStockInStatus(id, status);
+ @RequestParam("status") Integer status,
+ @RequestParam(name = "status",required = false) Integer bizType) {
+ stockInService.updateStockInStatus(id, status,bizType);
return success(true);
}
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java
index bb47b5f8f..3e1400fb0 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/stock/ErpStockOutController.java
@@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.framework.ratelimiter.core.annotation.RateLimiter;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutPageReqVO;
@@ -43,6 +44,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.concurrent.TimeUnit;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -88,9 +90,11 @@ public class ErpStockOutController {
@PutMapping("/update-status")
@Operation(summary = "更新其它出库单的状态")
@PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')")
+ @RateLimiter(count = 1, timeUnit = TimeUnit.SECONDS)
public CommonResult updateStockOutStatus(@RequestParam("id") Long id,
- @RequestParam("status") Integer status) {
- stockOutService.updateStockOutStatus(id, status);
+ @RequestParam("status") Integer status,
+ @RequestParam(name = "status",required = false) Integer bizType) {
+ stockOutService.updateStockOutStatus(id, status,bizType);
return success(true);
}
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/stock/ErpStockMapper.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/stock/ErpStockMapper.java
index 0885a69e9..2ea22f565 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/stock/ErpStockMapper.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/stock/ErpStockMapper.java
@@ -12,6 +12,7 @@ import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.Arrays;
@@ -85,4 +86,8 @@ public interface ErpStockMapper extends BaseMapperX {
return BigDecimal.valueOf(MapUtil.getDouble(result.get(0), "sumCount", 0D));
}
+ int updateStockCount(@Param("productId") Long productId,
+ @Param("warehouseId") Long warehouseId,
+ @Param("num") BigDecimal num);
+
}
\ No newline at end of file
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInService.java
index 65a5063e8..da1711fc7 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInService.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInService.java
@@ -38,7 +38,7 @@ public interface ErpStockInService {
* @param id 编号
* @param status 状态
*/
- void updateStockInStatus(Long id, Integer status);
+ void updateStockInStatus(Long id, Integer status,Integer bizType);
/**
* 删除其它入库单
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java
index cb6aa8d76..e1b7a83b0 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java
@@ -9,10 +9,12 @@ import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageRe
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInSaveReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO;
import cn.iocoder.yudao.module.erp.dal.mysql.stock.ErpStockInItemMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.stock.ErpStockInMapper;
+import cn.iocoder.yudao.module.erp.dal.mysql.stock.ErpStockMapper;
import cn.iocoder.yudao.module.erp.dal.redis.no.ErpNoRedisDAO;
import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
import cn.iocoder.yudao.module.erp.enums.stock.ErpStockRecordBizTypeEnum;
@@ -47,6 +49,9 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Resource
private ErpStockInItemMapper stockInItemMapper;
+ @Resource
+ private ErpStockMapper erpStockMapper;
+
@Resource
private ErpNoRedisDAO noRedisDAO;
@@ -61,6 +66,8 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Resource
private ErpStockRecordService stockRecordService;
+
+
@Override
@Transactional(rollbackFor = Exception.class)
public Long createStockIn(ErpStockInSaveReqVO createReqVO) {
@@ -115,7 +122,7 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Override
@Transactional(rollbackFor = Exception.class)
- public void updateStockInStatus(Long id, Integer status) {
+ public void updateStockInStatus(Long id, Integer status,Integer bizType) {
boolean approve = ErpAuditStatus.APPROVE.getStatus().equals(status);
// 1.1 校验存在
ErpStockInDO stockIn = validateStockInExists(id);
@@ -133,22 +140,33 @@ public class ErpStockInServiceImpl implements ErpStockInService {
// 3. 变更库存
List stockInItems = stockInItemMapper.selectListByInId(id);
+
+
// Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType()
// : ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType();
-// stockInItems.forEach(stockInItem -> {
-// BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
-// if (Objects.equals(stockIn.getInType(), "模具入库")) {
-// MoldDO moldDO = moldService.getMold(stockInItem.getProductId());
-// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
-// stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count,
-// bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
-// } else {
-// ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
-// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
-// stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count,
-// bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
-// }
-// });
+
+
+ stockInItems.forEach(stockInItem -> {
+ BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
+ if (Objects.equals(stockIn.getInType(), "模具入库")) {
+ MoldDO moldDO = moldService.getMold(stockInItem.getProductId());
+ stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
+ stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count,
+ ErpStockRecordBizTypeEnum.OTHER_IN.getType(), stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
+ } else {
+ ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
+ stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
+ stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count,
+ ErpStockRecordBizTypeEnum.getTypeByName(stockIn.getInType(),status), stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
+
+ //更新库存
+// erpStockMapper.updateStockCount(productDO.getId(), stockInItem.getWarehouseId(), BigDecimal.ONE);
+//
+// ErpStockDO stock = erpStockMapper.selectByProductIdAndWarehouseId(productDO.getId(), stockInItem.getWarehouseId());
+// stock.setCount(stock.getCount() + 1);
+// erpStockMapper.updateById(stock);
+ }
+ });
// 更改状态
if (Objects.equals(stockIn.getInType(), "模具入库")) {
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutService.java
index a55390e3c..f33bb02d5 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutService.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutService.java
@@ -38,7 +38,7 @@ public interface ErpStockOutService {
* @param id 编号
* @param status 状态
*/
- void updateStockOutStatus(Long id, Integer status);
+ void updateStockOutStatus(Long id, Integer status, Integer bizType);
/**
* 删除其它出库单
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java
index 2c779adda..31b23d897 100644
--- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java
@@ -121,7 +121,7 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
@Override
@Transactional(rollbackFor = Exception.class)
- public void updateStockOutStatus(Long id, Integer status) {
+ public void updateStockOutStatus(Long id, Integer status, Integer bizType) {
boolean approve = ErpAuditStatus.APPROVE.getStatus().equals(status);
// 1.1 校验存在
ErpStockOutDO stockOut = validateStockOutExists(id);
@@ -139,24 +139,27 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
// 3. 变更库存
List stockOutItems = stockOutItemMapper.selectListByOutId(id);
+
// Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_OUT.getType()
// : ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType();
-// stockOutItems.forEach(stockOutItem -> {
-// BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount();
-// if (Objects.equals(stockOut.getOutType(), "模具出库")) {
-// MoldDO moldDO = moldService.getMold(stockOutItem.getProductId());
-// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
-// stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count,
-// bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
-//
-// } else {
-// ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId());
-// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
-// stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count,
-// bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
-//
-// }
-// });
+ stockOutItems.forEach(stockOutItem -> {
+ BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount();
+ if (Objects.equals(stockOut.getOutType(), "模具出库")) {
+ MoldDO moldDO = moldService.getMold(stockOutItem.getProductId());
+ stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
+ stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count,
+ ErpStockRecordBizTypeEnum.OTHER_OUT.getType(), stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
+
+ } else {
+ ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId());
+ stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
+ stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count,
+ ErpStockRecordBizTypeEnum.getTypeByName(stockOut.getOutType(),status), stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
+
+ }
+ });
+
+
// 更改状态
if (Objects.equals(stockOut.getOutType(), "模具出库")) {
for (ErpStockOutItemDO item : stockOutItems) {
diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/resources/mapper/autocode/ErpStockMapper.xml b/yudao-module-erp/yudao-module-erp-biz/src/main/resources/mapper/autocode/ErpStockMapper.xml
new file mode 100644
index 000000000..57e905e51
--- /dev/null
+++ b/yudao-module-erp/yudao-module-erp-biz/src/main/resources/mapper/autocode/ErpStockMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+ UPDATE erp_stock
+ SET count = count + #{num}
+ WHERE product_id = #{productId}
+ AND warehouse_id = #{warehouseId}
+ AND count + #{num} >= 0
+
+
\ No newline at end of file
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/TaskReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/TaskReqVO.java
index 95dc23157..3efdb0490 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/TaskReqVO.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dashboard/vo/TaskReqVO.java
@@ -2,14 +2,18 @@ package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
@Schema(description = "管理后台 - 首页整体生产概况 Request VO")
@Data
public class TaskReqVO {
@Schema(description = "开始时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] startTime;
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/vo/DvRepairSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/vo/DvRepairSaveReqVO.java
index 32c43ac33..ed927af58 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/vo/DvRepairSaveReqVO.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dvrepair/vo/DvRepairSaveReqVO.java
@@ -17,7 +17,7 @@ public class DvRepairSaveReqVO {
private Long id;
@Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "维修单编号不能为空")
+// @NotEmpty(message = "维修单编号不能为空")
private String repairCode;
@Schema(description = "维修单名称", example = "王五")
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/stockworkshop/MesStockInController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/stockworkshop/MesStockInController.java
index 34b3c236a..1233eefb2 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/stockworkshop/MesStockInController.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/stockworkshop/MesStockInController.java
@@ -29,7 +29,7 @@ public class MesStockInController {
@PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')")
public CommonResult updateStockInStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) {
- stockInService.updateStockInStatus(id, status);
+// stockInService.updateStockInStatus(id, status);
return success(true);
}
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/ZjTaskController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/ZjTaskController.java
index 2741038c0..f1691eca9 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/ZjTaskController.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/ZjTaskController.java
@@ -82,6 +82,15 @@ public class ZjTaskController {
return success(BeanUtils.toBean(pageResult, ZjTaskRespVO.class));
}
+
+ @GetMapping("/list")
+ @Operation(summary = "获得质量管理-检验任务列表")
+ @PreAuthorize("@ss.hasPermission('mes:zj-task:query')")
+ public CommonResult> getZjTaskList(@Valid ZjTaskPageReqVO pageReqVO) {
+ List zjTaskList = zjTaskService.getZjTaskList(pageReqVO);
+ return success(BeanUtils.toBean(zjTaskList, ZjTaskRespVO.class));
+ }
+
@GetMapping("/export-excel")
@Operation(summary = "导出质量管理-检验任务 Excel")
@PreAuthorize("@ss.hasPermission('mes:zj-task:export')")
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java
index d81368509..be9a0f5f4 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java
@@ -52,6 +52,38 @@ public interface ZjTaskMapper extends BaseMapperX {
return selectPage(reqVO,zjTaskDOLambdaQueryWrapperX );
}
+
+ default List selectList(ZjTaskPageReqVO reqVO) {
+ LambdaQueryWrapperX wrapper = new LambdaQueryWrapperX<>();
+
+ wrapper.eqIfPresent(ZjTaskDO::getCode, reqVO.getCode())
+ .likeIfPresent(ZjTaskDO::getName, reqVO.getName())
+ .eqIfPresent(ZjTaskDO::getType, reqVO.getType())
+ .eqIfPresent(ZjTaskDO::getSchemaId, reqVO.getSchemaId())
+ .likeIfPresent(ZjTaskDO::getSchemaName, reqVO.getSchemaName())
+ .eqIfPresent(ZjTaskDO::getRemark, reqVO.getRemark())
+ .eqIfPresent(ZjTaskDO::getTicket, reqVO.getTicket())
+ .eqIfPresent(ZjTaskDO::getOrgType, reqVO.getOrgType())
+ .eqIfPresent(ZjTaskDO::getManagerId, reqVO.getManagerId())
+ .likeIfPresent(ZjTaskDO::getManagerName, reqVO.getManagerName())
+ .eqIfPresent(ZjTaskDO::getExecutorId, reqVO.getExecutorId())
+ .likeIfPresent(ZjTaskDO::getExecutorName, reqVO.getExecutorName())
+ .eqIfPresent(ZjTaskDO::getStatus, reqVO.getStatus())
+ .eqIfPresent(ZjTaskDO::getResult, reqVO.getResult())
+ .betweenIfPresent(ZjTaskDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(ZjTaskDO::getId);
+
+ if (StringUtils.isNotBlank(reqVO.getIds())) {
+ List idList = Arrays.stream(reqVO.getIds().split(","))
+ .map(String::trim)
+ .map(Long::valueOf)
+ .collect(Collectors.toList());
+ wrapper.in(ZjTaskDO::getId, idList);
+ }
+
+ return selectList(wrapper);
+ }
+
/**
* 批量更新作业状态
*
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskService.java
index d66194b64..39a0cf168 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskService.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskService.java
@@ -63,4 +63,5 @@ public interface ZjTaskService {
void batchUpdateJobStatus(@Valid ZjTaskBatchUpdateReqVO reqVO);
+ List getZjTaskList(@Valid ZjTaskPageReqVO pageReqVO);
}
\ No newline at end of file
diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java
index 9ad019dbf..433f2f894 100644
--- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java
+++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java
@@ -203,6 +203,16 @@ public class ZjTaskServiceImpl implements ZjTaskService {
zjTaskMapper.batchUpdateJobStatus(idList, reqVO.getStatus(),reqVO.getCancelReason());
}
+ @Override
+ public List getZjTaskList(ZjTaskPageReqVO pageReqVO) {
+ List zjTaskDOList = zjTaskMapper.selectList(pageReqVO);
+
+ Map planMap = planService.getPlanMap(convertSet(zjTaskDOList, ZjTaskDO::getTicket));
+ return BeanUtils.toBean(zjTaskDOList, ZjTaskDO.class, zjTaskDO -> {
+ MapUtils.findAndThen(planMap, zjTaskDO.getTicket(), planDO -> zjTaskDO.setTicketCode(planDO.getCode()));
+ });
+ }
+
/**
* 解析逗号分隔的ID字符串