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字符串