fix:修复已知bug-1

liutao_branch
HuangHuiKang 2 weeks ago
parent 827dd9a071
commit 89e8024282

@ -16,7 +16,7 @@ public class MoldRepairSaveReqVO {
private Long id; private Long id;
@Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "维修单编号不能为空") // @NotEmpty(message = "维修单编号不能为空")
private String repairCode; private String repairCode;
@Schema(description = "维修单名称", example = "王五") @Schema(description = "维修单名称", example = "王五")

@ -5,6 +5,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import java.util.Arrays; import java.util.Arrays;
import java.util.Objects;
/** /**
* ERP - * ERP -
@ -15,14 +16,14 @@ import java.util.Arrays;
@Getter @Getter
public enum ErpStockRecordBizTypeEnum implements IntArrayValuable { public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
OTHER_IN(10, "其入库"), OTHER_IN(10, "其入库"),
OTHER_IN_CANCEL(11, "其入库(作废)"), OTHER_IN_CANCEL(11, "其入库(作废)"),
MES_ITEM_OUT(23, "领料出库"), MES_ITEM_OUT(23, "领料出库"),
MES_ITEM_OUT_CANCEL(24, "领料出库(作废)"), MES_ITEM_OUT_CANCEL(24, "领料出库(作废)"),
MES_PRODUCT_IN(13, "生产入库"), MES_PRODUCT_IN(13, "生产入库"),
MES_PRODUCT_IN_CANCEL(14, "生产入库(作废)"), MES_PRODUCT_IN_CANCEL(14, "生产入库(作废)"),
OTHER_OUT(20, "其出库"), OTHER_OUT(20, "其出库"),
OTHER_OUT_CANCEL(21, "其出库(作废)"), OTHER_OUT_CANCEL(21, "其出库(作废)"),
MOVE_IN(30, "调拨入库"), MOVE_IN(30, "调拨入库"),
MOVE_IN_CANCEL(31, "调拨入库(作废)"), MOVE_IN_CANCEL(31, "调拨入库(作废)"),
@ -45,7 +46,18 @@ public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
PURCHASE_RETURN(80, "采购退货出库"), PURCHASE_RETURN(80, "采购退货出库"),
PURCHASE_RETURN_CANCEL(81, "采购退货出库(作废)"), 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(); public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(ErpStockRecordBizTypeEnum::getType).toArray();
@ -63,4 +75,24 @@ public enum ErpStockRecordBizTypeEnum implements IntArrayValuable {
return ARRAYS; 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;
}
} }

@ -69,6 +69,10 @@
<version>2.3.0-jdk8-SNAPSHOT</version> <version>2.3.0-jdk8-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-protection</artifactId>
</dependency>
</dependencies> </dependencies>

@ -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.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.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.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO; 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.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; 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.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -89,9 +91,11 @@ public class ErpStockInController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新其它入库单的状态") @Operation(summary = "更新其它入库单的状态")
@PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')")
@RateLimiter(count = 1, timeUnit = TimeUnit.SECONDS)
public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status,
stockInService.updateStockInStatus(id, status); @RequestParam(name = "status",required = false) Integer bizType) {
stockInService.updateStockInStatus(id, status,bizType);
return success(true); return success(true);
} }

@ -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.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 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.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.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.out.ErpStockOutPageReqVO; 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.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; 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.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -88,9 +90,11 @@ public class ErpStockOutController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新其它出库单的状态") @Operation(summary = "更新其它出库单的状态")
@PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')")
@RateLimiter(count = 1, timeUnit = TimeUnit.SECONDS)
public CommonResult<Boolean> updateStockOutStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockOutStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status,
stockOutService.updateStockOutStatus(id, status); @RequestParam(name = "status",required = false) Integer bizType) {
stockOutService.updateStockOutStatus(id, status,bizType);
return success(true); return success(true);
} }

@ -12,6 +12,7 @@ import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Arrays; import java.util.Arrays;
@ -85,4 +86,8 @@ public interface ErpStockMapper extends BaseMapperX<ErpStockDO> {
return BigDecimal.valueOf(MapUtil.getDouble(result.get(0), "sumCount", 0D)); return BigDecimal.valueOf(MapUtil.getDouble(result.get(0), "sumCount", 0D));
} }
int updateStockCount(@Param("productId") Long productId,
@Param("warehouseId") Long warehouseId,
@Param("num") BigDecimal num);
} }

@ -38,7 +38,7 @@ public interface ErpStockInService {
* @param id * @param id
* @param status * @param status
*/ */
void updateStockInStatus(Long id, Integer status); void updateStockInStatus(Long id, Integer status,Integer bizType);
/** /**
* *

@ -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.erp.controller.admin.stock.vo.in.ErpStockInSaveReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO; 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.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.ErpStockInDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.stock.ErpStockInItemDO; 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.ErpStockInItemMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.stock.ErpStockInMapper; 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.dal.redis.no.ErpNoRedisDAO;
import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
import cn.iocoder.yudao.module.erp.enums.stock.ErpStockRecordBizTypeEnum; import cn.iocoder.yudao.module.erp.enums.stock.ErpStockRecordBizTypeEnum;
@ -47,6 +49,9 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Resource @Resource
private ErpStockInItemMapper stockInItemMapper; private ErpStockInItemMapper stockInItemMapper;
@Resource
private ErpStockMapper erpStockMapper;
@Resource @Resource
private ErpNoRedisDAO noRedisDAO; private ErpNoRedisDAO noRedisDAO;
@ -61,6 +66,8 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Resource @Resource
private ErpStockRecordService stockRecordService; private ErpStockRecordService stockRecordService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Long createStockIn(ErpStockInSaveReqVO createReqVO) { public Long createStockIn(ErpStockInSaveReqVO createReqVO) {
@ -115,7 +122,7 @@ public class ErpStockInServiceImpl implements ErpStockInService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @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); boolean approve = ErpAuditStatus.APPROVE.getStatus().equals(status);
// 1.1 校验存在 // 1.1 校验存在
ErpStockInDO stockIn = validateStockInExists(id); ErpStockInDO stockIn = validateStockInExists(id);
@ -133,22 +140,33 @@ public class ErpStockInServiceImpl implements ErpStockInService {
// 3. 变更库存 // 3. 变更库存
List<ErpStockInItemDO> stockInItems = stockInItemMapper.selectListByInId(id); List<ErpStockInItemDO> stockInItems = stockInItemMapper.selectListByInId(id);
// Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType() // Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType()
// : ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType(); // : ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType();
// stockInItems.forEach(stockInItem -> {
// BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
// if (Objects.equals(stockIn.getInType(), "模具入库")) { stockInItems.forEach(stockInItem -> {
// MoldDO moldDO = moldService.getMold(stockInItem.getProductId()); BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( if (Objects.equals(stockIn.getInType(), "模具入库")) {
// stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count, MoldDO moldDO = moldService.getMold(stockInItem.getProductId());
// bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime())); stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
// } else { stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count,
// ErpProductDO productDO = productService.getProduct(stockInItem.getProductId()); ErpStockRecordBizTypeEnum.OTHER_IN.getType(), stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( } else {
// stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count, ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
// bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime())); 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(), "模具入库")) { if (Objects.equals(stockIn.getInType(), "模具入库")) {

@ -38,7 +38,7 @@ public interface ErpStockOutService {
* @param id * @param id
* @param status * @param status
*/ */
void updateStockOutStatus(Long id, Integer status); void updateStockOutStatus(Long id, Integer status, Integer bizType);
/** /**
* *

@ -121,7 +121,7 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @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); boolean approve = ErpAuditStatus.APPROVE.getStatus().equals(status);
// 1.1 校验存在 // 1.1 校验存在
ErpStockOutDO stockOut = validateStockOutExists(id); ErpStockOutDO stockOut = validateStockOutExists(id);
@ -139,24 +139,27 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
// 3. 变更库存 // 3. 变更库存
List<ErpStockOutItemDO> stockOutItems = stockOutItemMapper.selectListByOutId(id); List<ErpStockOutItemDO> stockOutItems = stockOutItemMapper.selectListByOutId(id);
// Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_OUT.getType() // Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_OUT.getType()
// : ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType(); // : ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType();
// stockOutItems.forEach(stockOutItem -> { stockOutItems.forEach(stockOutItem -> {
// BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount(); BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount();
// if (Objects.equals(stockOut.getOutType(), "模具出库")) { if (Objects.equals(stockOut.getOutType(), "模具出库")) {
// MoldDO moldDO = moldService.getMold(stockOutItem.getProductId()); MoldDO moldDO = moldService.getMold(stockOutItem.getProductId());
// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
// stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count, stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count,
// bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime())); ErpStockRecordBizTypeEnum.OTHER_OUT.getType(), stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
//
// } else { } else {
// ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId()); ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId());
// stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
// stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count, stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count,
// bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime())); ErpStockRecordBizTypeEnum.getTypeByName(stockOut.getOutType(),status), stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
//
// } }
// }); });
// 更改状态 // 更改状态
if (Objects.equals(stockOut.getOutType(), "模具出库")) { if (Objects.equals(stockOut.getOutType(), "模具出库")) {
for (ErpStockOutItemDO item : stockOutItems) { for (ErpStockOutItemDO item : stockOutItems) {

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.erp.dal.mysql.stock.ErpStockMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<update id="updateStockCount">
UPDATE erp_stock
SET count = count + #{num}
WHERE product_id = #{productId}
AND warehouse_id = #{warehouseId}
AND count + #{num} >= 0
</update>
</mapper>

@ -2,14 +2,18 @@ package cn.iocoder.yudao.module.mes.controller.admin.dashboard.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime; 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") @Schema(description = "管理后台 - 首页整体生产概况 Request VO")
@Data @Data
public class TaskReqVO { public class TaskReqVO {
@Schema(description = "开始时间") @Schema(description = "开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] startTime; private LocalDateTime[] startTime;

@ -17,7 +17,7 @@ public class DvRepairSaveReqVO {
private Long id; private Long id;
@Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "维修单编号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "维修单编号不能为空") // @NotEmpty(message = "维修单编号不能为空")
private String repairCode; private String repairCode;
@Schema(description = "维修单名称", example = "王五") @Schema(description = "维修单名称", example = "王五")

@ -29,7 +29,7 @@ public class MesStockInController {
@PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')")
public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status) {
stockInService.updateStockInStatus(id, status); // stockInService.updateStockInStatus(id, status);
return success(true); return success(true);
} }

@ -82,6 +82,15 @@ public class ZjTaskController {
return success(BeanUtils.toBean(pageResult, ZjTaskRespVO.class)); return success(BeanUtils.toBean(pageResult, ZjTaskRespVO.class));
} }
@GetMapping("/list")
@Operation(summary = "获得质量管理-检验任务列表")
@PreAuthorize("@ss.hasPermission('mes:zj-task:query')")
public CommonResult<List<ZjTaskRespVO>> getZjTaskList(@Valid ZjTaskPageReqVO pageReqVO) {
List<ZjTaskDO> zjTaskList = zjTaskService.getZjTaskList(pageReqVO);
return success(BeanUtils.toBean(zjTaskList, ZjTaskRespVO.class));
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出质量管理-检验任务 Excel") @Operation(summary = "导出质量管理-检验任务 Excel")
@PreAuthorize("@ss.hasPermission('mes:zj-task:export')") @PreAuthorize("@ss.hasPermission('mes:zj-task:export')")

@ -52,6 +52,38 @@ public interface ZjTaskMapper extends BaseMapperX<ZjTaskDO> {
return selectPage(reqVO,zjTaskDOLambdaQueryWrapperX ); return selectPage(reqVO,zjTaskDOLambdaQueryWrapperX );
} }
default List<ZjTaskDO> selectList(ZjTaskPageReqVO reqVO) {
LambdaQueryWrapperX<ZjTaskDO> 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<Long> idList = Arrays.stream(reqVO.getIds().split(","))
.map(String::trim)
.map(Long::valueOf)
.collect(Collectors.toList());
wrapper.in(ZjTaskDO::getId, idList);
}
return selectList(wrapper);
}
/** /**
* *
* *

@ -63,4 +63,5 @@ public interface ZjTaskService {
void batchUpdateJobStatus(@Valid ZjTaskBatchUpdateReqVO reqVO); void batchUpdateJobStatus(@Valid ZjTaskBatchUpdateReqVO reqVO);
List<ZjTaskDO> getZjTaskList(@Valid ZjTaskPageReqVO pageReqVO);
} }

@ -203,6 +203,16 @@ public class ZjTaskServiceImpl implements ZjTaskService {
zjTaskMapper.batchUpdateJobStatus(idList, reqVO.getStatus(),reqVO.getCancelReason()); zjTaskMapper.batchUpdateJobStatus(idList, reqVO.getStatus(),reqVO.getCancelReason());
} }
@Override
public List<ZjTaskDO> getZjTaskList(ZjTaskPageReqVO pageReqVO) {
List<ZjTaskDO> zjTaskDOList = zjTaskMapper.selectList(pageReqVO);
Map<Long, PlanDO> 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 * ID

Loading…
Cancel
Save