add:开发

This commit is contained in:
ls
2026-08-06 17:29:03 +08:00
parent 16bab7ab21
commit cf37c9c4cd
53 changed files with 3958 additions and 96 deletions

View File

@@ -0,0 +1,105 @@
package cn.code.nl.module.lms.controller.admin.btcutpointivt;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtRespVO;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.btivtcutpointivt.BtIvtCutpointivtDO;
import cn.code.nl.module.lms.service.ivtcutpointivt.BtIvtCutpointivtService;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.CommonResult;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.pojo.CommonResult.success;
import cn.code.nl.framework.excel.core.util.ExcelUtils;
import cn.code.nl.framework.apilog.core.annotation.ApiAccessLog;
import static cn.code.nl.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 分切区缓存点位库存")
@RestController
@RequestMapping("/btcutpointivt/ivt-cutpointivt")
@Validated
public class BtIvtCutpointivtController {
@Resource
private BtIvtCutpointivtService ivtCutpointivtService;
@PostMapping("/create")
@Operation(summary = "创建分切区缓存点位库存")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:create')")
public CommonResult<Long> createIvtCutpointivt(@Valid @RequestBody BtIvtCutpointivtSaveReqVO createReqVO) {
return success(ivtCutpointivtService.createIvtCutpointivt(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新分切区缓存点位库存")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:update')")
public CommonResult<Boolean> updateIvtCutpointivt(@Valid @RequestBody BtIvtCutpointivtSaveReqVO updateReqVO) {
ivtCutpointivtService.updateIvtCutpointivt(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除分切区缓存点位库存")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:delete')")
public CommonResult<Boolean> deleteIvtCutpointivt(@RequestParam("id") Long id) {
ivtCutpointivtService.deleteIvtCutpointivt(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除分切区缓存点位库存")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:delete')")
public CommonResult<Boolean> deleteIvtCutpointivtList(@RequestParam("ids") List<Long> ids) {
ivtCutpointivtService.deleteIvtCutpointivtListByIds(ids);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得分切区缓存点位库存")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:query')")
public CommonResult<BtIvtCutpointivtRespVO> getIvtCutpointivt(@RequestParam("id") Long id) {
BtIvtCutpointivtDO ivtCutpointivt = ivtCutpointivtService.getIvtCutpointivt(id);
return success(BeanUtils.toBean(ivtCutpointivt, BtIvtCutpointivtRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得分切区缓存点位库存分页")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:query')")
public CommonResult<PageResult<BtIvtCutpointivtRespVO>> getIvtCutpointivtPage(@Valid BtIvtCutpointivtPageReqVO pageReqVO) {
PageResult<BtIvtCutpointivtDO> pageResult = ivtCutpointivtService.getIvtCutpointivtPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BtIvtCutpointivtRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出分切区缓存点位库存 Excel")
@PreAuthorize("@ss.hasPermission('btcutpointivt:ivt-cutpointivt:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportIvtCutpointivtExcel(@Valid BtIvtCutpointivtPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BtIvtCutpointivtDO> list = ivtCutpointivtService.getIvtCutpointivtPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "分切区缓存点位库存.xls", "数据", BtIvtCutpointivtRespVO.class,
BeanUtils.toBean(list, BtIvtCutpointivtRespVO.class));
}
}

View File

@@ -0,0 +1,36 @@
package cn.code.nl.module.lms.controller.admin.btcutpointivt.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.code.nl.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.code.nl.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 分切区缓存点位库存分页 Request VO")
@Data
public class BtIvtCutpointivtPageReqVO extends PageParam {
@Schema(description = "id")
private Long ivtId;
@Schema(description = "AGV点位编码")
private String pointCode;
@Schema(description = "点位类型,1-分切缓存位2-分切对接位3-套轴对接位4-套轴缓存位", example = "2")
private String pointType;
@Schema(description = "生产区域")
private String productArea;
@Schema(description = "是否启用")
private String isUsed;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private String[] createTime;
@Schema(description = "点位状态", example = "2")
private String pointStatus;
}

View File

@@ -0,0 +1,92 @@
package cn.code.nl.module.lms.controller.admin.btcutpointivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import cn.idev.excel.annotation.*;
@Schema(description = "管理后台 - 分切区缓存点位库存 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BtIvtCutpointivtRespVO {
@Schema(description = "库存记录标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "16196")
@ExcelProperty("库存记录标识")
private Long ivtId;
@Schema(description = "AGV点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("AGV点位编码")
private String pointCode;
@Schema(description = "AGV点位名称", example = "芋艿")
@ExcelProperty("AGV点位名称")
private String pointName;
@Schema(description = "桁架点位编码1 ", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("桁架点位编码1 ")
private String trussPointCode1;
@Schema(description = "桁架点位编码2", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("桁架点位编码2")
private String trussPointCode2;
@Schema(description = "气胀轴编码1")
@ExcelProperty("气胀轴编码1")
private String qzzNo1;
@Schema(description = "气胀轴编码2")
@ExcelProperty("气胀轴编码2")
private String qzzNo2;
@Schema(description = "上轴管芯")
@ExcelProperty("上轴管芯")
private String upGx;
@Schema(description = "下轴管芯")
@ExcelProperty("下轴管芯")
private String downGx;
@Schema(description = "点位类型,1-分切缓存位2-分切对接位3-套轴对接位4-套轴缓存位", example = "2")
@ExcelProperty("点位类型,1-分切缓存位2-分切对接位3-套轴对接位4-套轴缓存位")
private String pointType;
@Schema(description = "生产区域")
@ExcelProperty("生产区域")
private String productArea;
@Schema(description = "顺序号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("顺序号")
private Integer sortSeq;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否启用")
private String isUsed;
@Schema(description = "备注", example = "你猜")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "16464")
@ExcelProperty("创建人")
private String createId;
@Schema(description = "创建人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ExcelProperty("创建人姓名")
private String createName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private String createTime;
@Schema(description = "修改人", example = "1014")
@ExcelProperty("修改人")
private String updateOptid;
@Schema(description = "修改人姓名", example = "芋艿")
@ExcelProperty("修改人姓名")
private String updateOptname;
@Schema(description = "点位状态", example = "2")
@ExcelProperty("点位状态")
private String pointStatus;
}

View File

@@ -0,0 +1,62 @@
package cn.code.nl.module.lms.controller.admin.btcutpointivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 分切区缓存点位库存新增/修改 Request VO")
@Data
public class BtIvtCutpointivtSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "id不能为空")
private Long ivtId;
@Schema(description = "AGV点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "AGV点位编码不能为空")
private String pointCode;
@Schema(description = "AGV点位名称", example = "芋艿")
private String pointName;
@Schema(description = "桁架点位编码1 ", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "桁架点位编码1 不能为空")
private String trussPointCode1;
@Schema(description = "桁架点位编码2", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "桁架点位编码2不能为空")
private String trussPointCode2;
@Schema(description = "气胀轴编码1")
private String qzzNo1;
@Schema(description = "气胀轴编码2")
private String qzzNo2;
@Schema(description = "上轴管芯")
private String upGx;
@Schema(description = "下轴管芯")
private String downGx;
@Schema(description = "点位类型,1-分切缓存位2-分切对接位3-套轴对接位4-套轴缓存位", example = "2")
private String pointType;
@Schema(description = "生产区域")
private String productArea;
@Schema(description = "顺序号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "顺序号不能为空")
private Integer sortSeq;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否启用不能为空")
private String isUsed;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "点位状态", example = "2")
private String pointStatus;
}

View File

@@ -0,0 +1,104 @@
package cn.code.nl.module.lms.controller.admin.cutpointivt;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtRespVO;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.cutpointIvt.IvtCutpointivtDO;
import cn.code.nl.module.lms.service.cutpointIvt.IvtCutpointivtService;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.CommonResult;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.pojo.CommonResult.success;
import cn.code.nl.framework.excel.core.util.ExcelUtils;
import cn.code.nl.framework.apilog.core.annotation.ApiAccessLog;
import static cn.code.nl.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 分切区点位库存")
@RestController
@RequestMapping("/cutpointivt/ivt-cutpointivt")
@Validated
public class IvtCutpointivtController {
@Resource
private IvtCutpointivtService ivtCutpointivtService;
@PostMapping("/create")
@Operation(summary = "创建分切区点位库存")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:create')")
public CommonResult<Long> createIvtCutpointivt(@Valid @RequestBody IvtCutpointivtSaveReqVO createReqVO) {
return success(ivtCutpointivtService.createIvtCutpointivt(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新分切区点位库存")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:update')")
public CommonResult<Boolean> updateIvtCutpointivt(@Valid @RequestBody IvtCutpointivtSaveReqVO updateReqVO) {
ivtCutpointivtService.updateIvtCutpointivt(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除分切区点位库存")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:delete')")
public CommonResult<Boolean> deleteIvtCutpointivt(@RequestParam("id") Long id) {
ivtCutpointivtService.deleteIvtCutpointivt(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除分切区点位库存")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:delete')")
public CommonResult<Boolean> deleteIvtCutpointivtList(@RequestParam("ids") List<Long> ids) {
ivtCutpointivtService.deleteIvtCutpointivtListByIds(ids);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得分切区点位库存")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:query')")
public CommonResult<IvtCutpointivtRespVO> getIvtCutpointivt(@RequestParam("id") Long id) {
IvtCutpointivtDO ivtCutpointivt = ivtCutpointivtService.getIvtCutpointivt(id);
return success(BeanUtils.toBean(ivtCutpointivt, IvtCutpointivtRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得分切区点位库存分页")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:query')")
public CommonResult<PageResult<IvtCutpointivtRespVO>> getIvtCutpointivtPage(@Valid IvtCutpointivtPageReqVO pageReqVO) {
PageResult<IvtCutpointivtDO> pageResult = ivtCutpointivtService.getIvtCutpointivtPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, IvtCutpointivtRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出分切区点位库存 Excel")
@PreAuthorize("@ss.hasPermission('cutpointivt:ivt-cutpointivt:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportIvtCutpointivtExcel(@Valid IvtCutpointivtPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<IvtCutpointivtDO> list = ivtCutpointivtService.getIvtCutpointivtPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "分切区点位库存.xls", "数据", IvtCutpointivtRespVO.class,
BeanUtils.toBean(list, IvtCutpointivtRespVO.class));
}
}

View File

@@ -0,0 +1,27 @@
package cn.code.nl.module.lms.controller.admin.cutpointivt.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.code.nl.framework.common.pojo.PageParam;
@Schema(description = "管理后台 - 分切区点位库存分页 Request VO")
@Data
public class IvtCutpointivtPageReqVO extends PageParam {
@Schema(description = "点位编码")
private String pointCode;
@Schema(description = "满轴位状态", example = "1")
private String fullPointStatus;
@Schema(description = "空轴位状态", example = "1")
private String emptyPointStatus;
@Schema(description = "生产区域")
private String productArea;
@Schema(description = "是否启用")
private String isUsed;
}

View File

@@ -0,0 +1,117 @@
package cn.code.nl.module.lms.controller.admin.cutpointivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;
@Schema(description = "管理后台 - 分切区点位库存 Response VO")
@Data
@ExcelIgnoreUnannotated
public class IvtCutpointivtRespVO {
@Schema(description = "库存记录标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "12268")
@ExcelProperty("库存记录标识")
private Long ivtId;
@Schema(description = "点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("点位编码")
private String pointCode;
@Schema(description = "满轴位编码")
@ExcelProperty("满轴位编码")
private String fullPointCode;
@Schema(description = "满轴位状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("满轴位状态")
private String fullPointStatus;
@Schema(description = "母卷号", example = "芋艿")
@ExcelProperty("母卷号")
private String containerName;
@Schema(description = "母卷轴编码")
@ExcelProperty("母卷轴编码")
private String fullVehicleCode;
@Schema(description = "空轴位编码")
@ExcelProperty("空轴位编码")
private String emptyPointCode;
@Schema(description = "空轴位状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@ExcelProperty("空轴位状态")
private String emptyPointStatus;
@Schema(description = "空轴编码")
@ExcelProperty("空轴编码")
private String emptyVehicleCode;
@Schema(description = "生产区域")
@ExcelProperty("生产区域")
private String productArea;
@Schema(description = "位置")
@ExcelProperty("位置")
private String pointLocation;
@Schema(description = "分切下料位上轴点位")
@ExcelProperty("分切下料位上轴点位")
private String upPointCode;
@Schema(description = "分切下料位下轴点位")
@ExcelProperty("分切下料位下轴点位")
private String downPointCode;
@Schema(description = "顺序号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("顺序号")
private Integer sortSeq;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("是否启用")
private String isUsed;
@Schema(description = "备注", example = "你猜")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "3118")
@ExcelProperty("创建人")
private Long createId;
@Schema(description = "创建人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("创建人姓名")
private String createName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private String createTime;
@Schema(description = "修改人", example = "3176")
@ExcelProperty("修改人")
private Long updateOptid;
@Schema(description = "修改人姓名", example = "赵六")
@ExcelProperty("修改人姓名")
private String updateOptname;
@Schema(description = "规划")
@ExcelProperty("规划")
private String plan;
@Schema(description = "对应MES系统设备编码")
@ExcelProperty("对应MES系统设备编码")
private String extCode;
@Schema(description = "分切下料位上轴")
@ExcelProperty("分切下料位上轴")
private String upQzzno;
@Schema(description = "分切下料位下轴")
@ExcelProperty("分切下料位下轴")
private String downQzzno;
@Schema(description = "气胀轴代数")
@ExcelProperty("气胀轴代数")
private String qzzGeneration;
}

View File

@@ -0,0 +1,95 @@
package cn.code.nl.module.lms.controller.admin.cutpointivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 分切区点位库存新增/修改 Request VO")
@Data
public class IvtCutpointivtSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "id不能为空")
private Long ivtId;
@Schema(description = "点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "点位编码不能为空")
private String pointCode;
@Schema(description = "满轴位编码")
private String fullPointCode;
@Schema(description = "满轴位状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotEmpty(message = "满轴位状态不能为空")
private String fullPointStatus;
@Schema(description = "母卷号", example = "芋艿")
private String containerName;
@Schema(description = "母卷轴编码")
private String fullVehicleCode;
@Schema(description = "空轴位编码")
private String emptyPointCode;
@Schema(description = "空轴位状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotEmpty(message = "空轴位状态不能为空")
private String emptyPointStatus;
@Schema(description = "空轴编码")
private String emptyVehicleCode;
@Schema(description = "生产区域")
private String productArea;
@Schema(description = "位置")
private String pointLocation;
@Schema(description = "分切下料位上轴点位")
private String upPointCode;
@Schema(description = "分切下料位下轴点位")
private String downPointCode;
@Schema(description = "顺序号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "顺序号不能为空")
private Integer sortSeq;
@Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否启用不能为空")
private String isUsed;
@Schema(description = "备注", example = "你猜")
private String remark;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "3118")
@NotNull(message = "创建人不能为空")
private Long createId;
@Schema(description = "创建人姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "创建人姓名不能为空")
private String createName;
@Schema(description = "修改人", example = "3176")
private Long updateOptid;
@Schema(description = "修改人姓名", example = "赵六")
private String updateOptname;
@Schema(description = "规划")
private String plan;
@Schema(description = "对应MES系统设备编码")
private String extCode;
@Schema(description = "分切下料位上轴")
private String upQzzno;
@Schema(description = "分切下料位下轴")
private String downQzzno;
@Schema(description = "气胀轴代数")
private String qzzGeneration;
}

View File

@@ -0,0 +1,107 @@
package cn.code.nl.module.lms.controller.admin.ivtshafttubeivt;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtRespVO;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.ivtshafttubeivt.IvtShafttubeivtDO;
import cn.code.nl.module.lms.service.ivtshafttubeivt.IvtShafttubeivtService;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.CommonResult;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.pojo.CommonResult.success;
import cn.code.nl.framework.excel.core.util.ExcelUtils;
import cn.code.nl.framework.apilog.core.annotation.ApiAccessLog;
import static cn.code.nl.framework.apilog.core.enums.OperateTypeEnum.*;
@Tag(name = "管理后台 - 穿拔轴区点位库存")
@RestController
@RequestMapping("/ivtshafttubeivt/ivt-shafttubeivt")
@Validated
public class IvtShafttubeivtController {
@Resource
private IvtShafttubeivtService ivtShafttubeivtService;
@PostMapping("/create")
@Operation(summary = "创建穿拔轴区点位库存")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:create')")
public CommonResult<Long> createIvtShafttubeivt(@Valid @RequestBody IvtShafttubeivtSaveReqVO createReqVO) {
return success(ivtShafttubeivtService.createIvtShafttubeivt(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新穿拔轴区点位库存")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:update')")
public CommonResult<Boolean> updateIvtShafttubeivt(@Valid @RequestBody IvtShafttubeivtSaveReqVO updateReqVO) {
ivtShafttubeivtService.updateIvtShafttubeivt(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除穿拔轴区点位库存")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:delete')")
public CommonResult<Boolean> deleteIvtShafttubeivt(@RequestParam("id") Long id) {
ivtShafttubeivtService.deleteIvtShafttubeivt(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除穿拔轴区点位库存")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:delete')")
public CommonResult<Boolean> deleteIvtShafttubeivtList(@RequestParam("ids") List<Long> ids) {
ivtShafttubeivtService.deleteIvtShafttubeivtListByIds(ids);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得穿拔轴区点位库存")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:query')")
public CommonResult<IvtShafttubeivtRespVO> getIvtShafttubeivt(@RequestParam("id") Long id) {
IvtShafttubeivtDO ivtShafttubeivt = ivtShafttubeivtService.getIvtShafttubeivt(id);
return success(BeanUtils.toBean(ivtShafttubeivt, IvtShafttubeivtRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得穿拔轴区点位库存分页")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:query')")
public CommonResult<PageResult<IvtShafttubeivtRespVO>> getIvtShafttubeivtPage(@Valid IvtShafttubeivtPageReqVO pageReqVO) {
PageResult<IvtShafttubeivtDO> pageResult = ivtShafttubeivtService.getIvtShafttubeivtPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, IvtShafttubeivtRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出穿拔轴区点位库存 Excel")
@PreAuthorize("@ss.hasPermission('ivtshafttubeivt:ivt-shafttubeivt:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportIvtShafttubeivtExcel(@Valid IvtShafttubeivtPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<IvtShafttubeivtDO> list = ivtShafttubeivtService.getIvtShafttubeivtPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "穿拔轴区点位库存.xls", "数据", IvtShafttubeivtRespVO.class,
BeanUtils.toBean(list, IvtShafttubeivtRespVO.class));
}
}

View File

@@ -0,0 +1,22 @@
package cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo;
import cn.idev.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.code.nl.framework.common.pojo.PageParam;
@Schema(description = "管理后台 - 穿拔轴区点位库存分页 Request VO")
@Data
public class IvtShafttubeivtPageReqVO extends PageParam {
@Schema(description = "id")
private Long ivtId;
@Schema(description = "点位编码")
private String pointCode;
@Schema(description = "点位类型", example = "2")
private String pointType;
}

View File

@@ -0,0 +1,93 @@
package cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;
@Schema(description = "管理后台 - 穿拔轴区点位库存 Response VO")
@Data
@ExcelIgnoreUnannotated
public class IvtShafttubeivtRespVO {
@Schema(description = "库存记录标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "15458")
@ExcelProperty("库存记录标识")
private Long ivtId;
@Schema(description = "点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("点位编码")
private String pointCode;
@Schema(description = "点位名称", example = "赵六")
@ExcelProperty("点位名称")
private String pointName;
@Schema(description = "气涨轴尺寸")
@ExcelProperty("气涨轴尺寸")
private String qzzSize;
@Schema(description = "气涨轴代数")
@ExcelProperty("气涨轴代数")
private String qzzGeneration;
@Schema(description = "纸管编码")
@ExcelProperty("纸管编码")
private String tubeCode;
@Schema(description = "纸管描述", example = "赵六")
@ExcelProperty("纸管描述")
private String tubeName;
@Schema(description = "子卷号", example = "李四")
@ExcelProperty("子卷号")
private String containerName;
@Schema(description = "点位类型", example = "2")
@ExcelProperty("点位类型")
private String pointType;
@Schema(description = "位置")
@ExcelProperty("位置")
private String pointLocation;
@Schema(description = "是否有轴")
@ExcelProperty("是否有轴")
private String haveQzz;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
private String isUsed;
@Schema(description = "顺序号")
@ExcelProperty("顺序号")
private Integer sortSeq;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "7598")
@ExcelProperty("创建人")
private String createId;
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@ExcelProperty("创建人")
private String createName;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private String createTime;
@Schema(description = "修改人", example = "1720")
@ExcelProperty("修改人")
private String updateOptid;
@Schema(description = "修改人", example = "李四")
@ExcelProperty("修改人")
private String updateOptname;
@Schema(description = "规划")
@ExcelProperty("规划")
private String plan;
@Schema(description = "关联点位")
@ExcelProperty("关联点位")
private String parentCode;
}

View File

@@ -0,0 +1,59 @@
package cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 穿拔轴区点位库存新增/修改 Request VO")
@Data
public class IvtShafttubeivtSaveReqVO {
@Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "id不能为空")
private Long ivtId;
@Schema(description = "点位编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "点位编码不能为空")
private String pointCode;
@Schema(description = "点位名称", example = "赵六")
private String pointName;
@Schema(description = "气涨轴尺寸")
private String qzzSize;
@Schema(description = "气涨轴代数")
private String qzzGeneration;
@Schema(description = "纸管编码")
private String tubeCode;
@Schema(description = "纸管描述", example = "赵六")
private String tubeName;
@Schema(description = "子卷号", example = "李四")
private String containerName;
@Schema(description = "点位类型", example = "2")
private String pointType;
@Schema(description = "位置")
private String pointLocation;
@Schema(description = "是否有轴")
private String haveQzz;
@Schema(description = "是否启用")
private String isUsed;
@Schema(description = "顺序号")
private Integer sortSeq;
@Schema(description = "规划")
private String plan;
@Schema(description = "关联点位")
private String parentCode;
}

View File

@@ -0,0 +1,101 @@
package cn.code.nl.module.lms.dal.dataobject.btivtcutpointivt;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
/**
* 分切区缓存点位库存 DO
*
* @author 诺力管理员
*/
@TableName("bst_ivt_cutpointivt")
@KeySequence("bst_ivt_cutpointivt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BtIvtCutpointivtDO extends BaseDO {
/**
* 库存记录标识
*/
@TableId
private Long ivtId;
/**
* AGV点位编码
*/
private String pointCode;
/**
* AGV点位名称
*/
private String pointName;
/**
* 桁架点位编码1
*/
private String trussPointCode1;
/**
* 桁架点位编码2
*/
private String trussPointCode2;
/**
* 气胀轴编码1
*/
private String qzzNo1;
/**
* 气胀轴编码2
*/
private String qzzNo2;
/**
* 上轴管芯
*/
private String upGx;
/**
* 下轴管芯
*/
private String downGx;
/**
* 点位类型,1-分切缓存位2-分切对接位3-套轴对接位4-套轴缓存位
*/
private String pointType;
/**
* 生产区域
*/
private String productArea;
/**
* 顺序号
*/
private Integer sortSeq;
/**
* 是否启用
*/
private String isUsed;
/**
* 备注
*/
private String remark;
/**
* 创建人
*/
private String createId;
/**
* 创建人姓名
*/
private String createName;
/**
* 修改人
*/
private String updateOptid;
/**
* 修改人姓名
*/
private String updateOptname;
/**
* 点位状态
*/
private String pointStatus;
}

View File

@@ -0,0 +1,120 @@
package cn.code.nl.module.lms.dal.dataobject.cutpointIvt;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
/**
* 分切区点位库存 DO
*
* @author 诺力管理员
*/
@TableName("st_ivt_cutpointivt")
@KeySequence("st_ivt_cutpointivt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IvtCutpointivtDO extends BaseDO {
/**
* 库存记录标识
*/
@TableId
private Long ivtId;
/**
* 点位编码
*/
private String pointCode;
/**
* 满轴位编码
*/
private String fullPointCode;
/**
* 满轴位状态
*/
private String fullPointStatus;
/**
* 母卷号
*/
private String containerName;
/**
* 母卷轴编码
*/
private String fullVehicleCode;
/**
* 空轴位编码
*/
private String emptyPointCode;
/**
* 空轴位状态
*/
private String emptyPointStatus;
/**
* 空轴编码
*/
private String emptyVehicleCode;
/**
* 生产区域
*/
private String productArea;
/**
* 位置
*/
private String pointLocation;
/**
* 分切下料位上轴点位
*/
private String upPointCode;
/**
* 分切下料位下轴点位
*/
private String downPointCode;
/**
* 顺序号
*/
private Integer sortSeq;
/**
* 是否启用
*/
private String isUsed;
/**
* 备注
*/
private String remark;
/**
* 创建人姓名
*/
private String createName;
/**
* 修改人姓名
*/
private String updateOptname;
/**
* 规划
*/
private String plan;
/**
* 对应MES系统设备编码
*/
private String extCode;
/**
* 分切下料位上轴
*/
private String upQzzno;
/**
* 分切下料位下轴
*/
private String downQzzno;
/**
* 气胀轴代数
*/
private String qzzGeneration;
}

View File

@@ -0,0 +1,96 @@
package cn.code.nl.module.lms.dal.dataobject.ivtshafttubeivt;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
/**
* 穿拔轴区点位库存 DO
*
* @author 诺力管理员
*/
@TableName("bst_ivt_shafttubeivt")
@KeySequence("bst_ivt_shafttubeivt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IvtShafttubeivtDO extends BaseDO {
/**
* 库存记录标识
*/
@TableId
private Long ivtId;
/**
* 点位编码
*/
private String pointCode;
/**
* 点位名称
*/
private String pointName;
/**
* 气涨轴尺寸
*/
private String qzzSize;
/**
* 气涨轴代数
*/
private String qzzGeneration;
/**
* 纸管编码
*/
private String tubeCode;
/**
* 纸管描述
*/
private String tubeName;
/**
* 子卷号
*/
private String containerName;
/**
* 点位类型
*/
private String pointType;
/**
* 位置
*/
private String pointLocation;
/**
* 是否有轴
*/
private String haveQzz;
/**
* 是否启用
*/
private String isUsed;
/**
* 顺序号
*/
private Integer sortSeq;
/**
* 创建人
*/
private String createName;
/**
* 修改人
*/
private String updateOptname;
/**
* 规划
*/
private String plan;
/**
* 关联点位
*/
private String parentCode;
}

View File

@@ -0,0 +1,29 @@
package cn.code.nl.module.lms.dal.mysql.btivtcutpointivt;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.code.nl.framework.mybatis.core.mapper.BaseMapperX;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.dal.dataobject.btivtcutpointivt.BtIvtCutpointivtDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 分切区缓存点位库存 Mapper
*
* @author 诺力管理员
*/
@Mapper
public interface BtIvtCutpointivtMapper extends BaseMapperX<BtIvtCutpointivtDO> {
default PageResult<BtIvtCutpointivtDO> selectPage(BtIvtCutpointivtPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BtIvtCutpointivtDO>()
.eqIfPresent(BtIvtCutpointivtDO::getPointCode, reqVO.getPointCode())
.eqIfPresent(BtIvtCutpointivtDO::getPointType, reqVO.getPointType())
.eqIfPresent(BtIvtCutpointivtDO::getProductArea, reqVO.getProductArea())
.eqIfPresent(BtIvtCutpointivtDO::getIsUsed, reqVO.getIsUsed())
.betweenIfPresent(BtIvtCutpointivtDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BtIvtCutpointivtDO::getPointStatus, reqVO.getPointStatus())
.orderByDesc(BtIvtCutpointivtDO::getIvtId));
}
}

View File

@@ -0,0 +1,30 @@
package cn.code.nl.module.lms.dal.mysql.ivtcutpointivt;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.code.nl.framework.mybatis.core.mapper.BaseMapperX;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.dal.dataobject.cutpointIvt.IvtCutpointivtDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 分切区点位库存 Mapper
*
* @author 诺力管理员
*/
@Mapper
public interface IvtCutpointivtMapper extends BaseMapperX<IvtCutpointivtDO> {
default PageResult<IvtCutpointivtDO> selectPage(IvtCutpointivtPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<IvtCutpointivtDO>()
.eqIfPresent(IvtCutpointivtDO::getPointCode, reqVO.getPointCode())
.eqIfPresent(IvtCutpointivtDO::getFullPointStatus, reqVO.getFullPointStatus())
.eqIfPresent(IvtCutpointivtDO::getEmptyPointStatus, reqVO.getEmptyPointStatus())
.eqIfPresent(IvtCutpointivtDO::getProductArea, reqVO.getProductArea())
.eqIfPresent(IvtCutpointivtDO::getIsUsed, reqVO.getIsUsed())
.orderByDesc(IvtCutpointivtDO::getIvtId));
}
}

View File

@@ -0,0 +1,27 @@
package cn.code.nl.module.lms.dal.mysql.ivtshafttubeivt;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.code.nl.framework.mybatis.core.mapper.BaseMapperX;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtPageReqVO;
import cn.code.nl.module.lms.dal.dataobject.ivtshafttubeivt.IvtShafttubeivtDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 穿拔轴区点位库存 Mapper
*
* @author 诺力管理员
*/
@Mapper
public interface IvtShafttubeivtMapper extends BaseMapperX<IvtShafttubeivtDO> {
default PageResult<IvtShafttubeivtDO> selectPage(IvtShafttubeivtPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<IvtShafttubeivtDO>()
.eqIfPresent(IvtShafttubeivtDO::getPointCode, reqVO.getPointCode())
.eqIfPresent(IvtShafttubeivtDO::getPointType, reqVO.getPointType())
.orderByDesc(IvtShafttubeivtDO::getIvtId));
}
}

View File

@@ -1,80 +1,80 @@
package cn.code.nl.module.lms.demo;
import cn.code.nl.framework.common.pojo.CommonResult;
import cn.code.nl.framework.execute.biz.api.lms.LmsTaskCommonApi;
import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO;
import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO;
import com.alibaba.fastjson.JSON;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController;
import static cn.code.nl.framework.common.pojo.CommonResult.success;
/**
*
* @Author: liyongde
* @Date: 2026/7/15 15:25
*/
@RestController // 提供 RESTful API 接口,给 Feign 调用
@Validated
public class DemoApi implements LmsTaskCommonApi {
@Override
public CommonResult<AcsApplyActionRespVO> doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
// 内层data赋值 "success"
return success(respVO);
}
@Override
public CommonResult<AcsApplyActionRespVO> doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
DemoRespVO demoRespVO = new DemoRespVO();
demoRespVO.setTargetPoint("A_10001");
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
// 内层data赋值 "success"
respVO.setData(JSON.parseObject(JSON.toJSONString(demoRespVO)));
return success(respVO);
}
@Override
public CommonResult<AcsApplyActionRespVO> doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
return success(respVO);
}
@Override
public CommonResult<AcsApplyActionRespVO> doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
return success(respVO);
}
@Override
public CommonResult<AcsApplyActionRespVO> doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
return success(respVO);
}
@Override
public CommonResult<AcsApplyActionRespVO> doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// 构建外层VO
AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
respVO.setTaskId(10001L);
respVO.setTaskCode("ACS20260716001");
return success(respVO);
}
}
//package cn.code.nl.module.lms.demo;
//
//import cn.code.nl.framework.common.pojo.CommonResult;
//import cn.code.nl.framework.execute.biz.api.lms.LmsTaskCommonApi;
//import cn.code.nl.framework.execute.biz.dto.TaskStatusCallApiReqDTO;
//import cn.code.nl.framework.execute.biz.vo.AcsApplyActionRespVO;
//import com.alibaba.fastjson.JSON;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.RestController;
//
//import static cn.code.nl.framework.common.pojo.CommonResult.success;
//
///**
// *
// * @Author: liyongde
// * @Date: 2026/7/15 15:25
// */
//@RestController // 提供 RESTful API 接口,给 Feign 调用
//@Validated
//public class DemoApi implements LmsTaskCommonApi {
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandlePicked(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// // 内层data赋值 "success"
// return success(respVO);
// }
//
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandleApplyAgain(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// DemoRespVO demoRespVO = new DemoRespVO();
// demoRespVO.setTargetPoint("A_10001");
//
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// // 内层data赋值 "success"
// respVO.setData(JSON.parseObject(JSON.toJSONString(demoRespVO)));
// return success(respVO);
// }
//
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandleRequestRelease(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// return success(respVO);
// }
//
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandleRequestPick(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// return success(respVO);
// }
//
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandleRequestLeave(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// return success(respVO);
// }
//
// @Override
// public CommonResult<AcsApplyActionRespVO> doHandleRequestEnter(TaskStatusCallApiReqDTO taskStatusCallApiReqDTO) {
// // 构建外层VO
// AcsApplyActionRespVO respVO = new AcsApplyActionRespVO();
// respVO.setTaskId(10001L);
// respVO.setTaskCode("ACS20260716001");
// return success(respVO);
// }
//}

View File

@@ -0,0 +1,64 @@
package cn.code.nl.module.lms.service.cutpointIvt;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.cutpointIvt.IvtCutpointivtDO;
import jakarta.validation.*;
/**
* 分切区点位库存 Service 接口
*
* @author 诺力管理员
*/
public interface IvtCutpointivtService {
/**
* 创建分切区点位库存
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createIvtCutpointivt(@Valid IvtCutpointivtSaveReqVO createReqVO);
/**
* 更新分切区点位库存
*
* @param updateReqVO 更新信息
*/
void updateIvtCutpointivt(@Valid IvtCutpointivtSaveReqVO updateReqVO);
/**
* 删除分切区点位库存
*
* @param id 编号
*/
void deleteIvtCutpointivt(Long id);
/**
* 批量删除分切区点位库存
*
* @param ids 编号
*/
void deleteIvtCutpointivtListByIds(List<Long> ids);
/**
* 获得分切区点位库存
*
* @param id 编号
* @return 分切区点位库存
*/
IvtCutpointivtDO getIvtCutpointivt(Long id);
/**
* 获得分切区点位库存分页
*
* @param pageReqVO 分页查询
* @return 分切区点位库存分页
*/
PageResult<IvtCutpointivtDO> getIvtCutpointivtPage(IvtCutpointivtPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,86 @@
package cn.code.nl.module.lms.service.cutpointIvt;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.cutpointivt.vo.IvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.cutpointIvt.IvtCutpointivtDO;
import cn.code.nl.module.lms.dal.mysql.ivtcutpointivt.IvtCutpointivtMapper;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.code.nl.framework.common.util.collection.CollectionUtils.convertList;
import static cn.code.nl.framework.common.util.collection.CollectionUtils.diffList;
import static cn.code.nl.module.lms.enums.ErrorCodeConstants.IVT_CUTPOINTIVT_NOT_EXISTS;
/**
* 分切区点位库存 Service 实现类
*
* @author 诺力管理员
*/
@Service
@Validated
public class IvtCutpointivtServiceImpl implements IvtCutpointivtService {
@Resource
private IvtCutpointivtMapper ivtCutpointivtMapper;
@Override
public Long createIvtCutpointivt(IvtCutpointivtSaveReqVO createReqVO) {
// 插入
IvtCutpointivtDO ivtCutpointivt = BeanUtils.toBean(createReqVO, IvtCutpointivtDO.class);
ivtCutpointivtMapper.insert(ivtCutpointivt);
// 返回
return ivtCutpointivt.getIvtId();
}
@Override
public void updateIvtCutpointivt(IvtCutpointivtSaveReqVO updateReqVO) {
// 校验存在
validateIvtCutpointivtExists(updateReqVO.getIvtId());
// 更新
IvtCutpointivtDO updateObj = BeanUtils.toBean(updateReqVO, IvtCutpointivtDO.class);
ivtCutpointivtMapper.updateById(updateObj);
}
@Override
public void deleteIvtCutpointivt(Long id) {
// 校验存在
validateIvtCutpointivtExists(id);
// 删除
ivtCutpointivtMapper.deleteById(id);
}
@Override
public void deleteIvtCutpointivtListByIds(List<Long> ids) {
// 删除
ivtCutpointivtMapper.deleteByIds(ids);
}
private void validateIvtCutpointivtExists(Long id) {
if (ivtCutpointivtMapper.selectById(id) == null) {
throw exception(IVT_CUTPOINTIVT_NOT_EXISTS);
}
}
@Override
public IvtCutpointivtDO getIvtCutpointivt(Long id) {
return ivtCutpointivtMapper.selectById(id);
}
@Override
public PageResult<IvtCutpointivtDO> getIvtCutpointivtPage(IvtCutpointivtPageReqVO pageReqVO) {
return ivtCutpointivtMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,63 @@
package cn.code.nl.module.lms.service.ivtcutpointivt;
import java.util.*;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.btivtcutpointivt.BtIvtCutpointivtDO;
import jakarta.validation.*;
import cn.code.nl.framework.common.pojo.PageResult;
/**
* 分切区缓存点位库存 Service 接口
*
* @author 诺力管理员
*/
public interface BtIvtCutpointivtService {
/**
* 创建分切区缓存点位库存
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createIvtCutpointivt(@Valid BtIvtCutpointivtSaveReqVO createReqVO);
/**
* 更新分切区缓存点位库存
*
* @param updateReqVO 更新信息
*/
void updateIvtCutpointivt(@Valid BtIvtCutpointivtSaveReqVO updateReqVO);
/**
* 删除分切区缓存点位库存
*
* @param id 编号
*/
void deleteIvtCutpointivt(Long id);
/**
* 批量删除分切区缓存点位库存
*
* @param ids 编号
*/
void deleteIvtCutpointivtListByIds(List<Long> ids);
/**
* 获得分切区缓存点位库存
*
* @param id 编号
* @return 分切区缓存点位库存
*/
BtIvtCutpointivtDO getIvtCutpointivt(Long id);
/**
* 获得分切区缓存点位库存分页
*
* @param pageReqVO 分页查询
* @return 分切区缓存点位库存分页
*/
PageResult<BtIvtCutpointivtDO> getIvtCutpointivtPage(BtIvtCutpointivtPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,82 @@
package cn.code.nl.module.lms.service.ivtcutpointivt;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.btcutpointivt.vo.BtIvtCutpointivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.btivtcutpointivt.BtIvtCutpointivtDO;
import cn.code.nl.module.lms.dal.mysql.btivtcutpointivt.BtIvtCutpointivtMapper;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.code.nl.framework.common.util.collection.CollectionUtils.convertList;
import static cn.code.nl.module.lms.enums.ErrorCodeConstants.IVT_CUTPOINTIVT_NOT_EXISTS;
/**
* 分切区缓存点位库存 Service 实现类
*
* @author 诺力管理员
*/
@Service
@Validated
public class BtIvtCutpointivtServiceImpl implements BtIvtCutpointivtService {
@Resource
private BtIvtCutpointivtMapper btIvtCutpointivtMapper;
@Override
public Long createIvtCutpointivt(BtIvtCutpointivtSaveReqVO createReqVO) {
// 插入
BtIvtCutpointivtDO ivtCutpointivt = BeanUtils.toBean(createReqVO, BtIvtCutpointivtDO.class);
btIvtCutpointivtMapper.insert(ivtCutpointivt);
// 返回
return ivtCutpointivt.getIvtId();
}
@Override
public void updateIvtCutpointivt(BtIvtCutpointivtSaveReqVO updateReqVO) {
// 校验存在
validateIvtCutpointivtExists(updateReqVO.getIvtId());
// 更新
BtIvtCutpointivtDO updateObj = BeanUtils.toBean(updateReqVO, BtIvtCutpointivtDO.class);
btIvtCutpointivtMapper.updateById(updateObj);
}
@Override
public void deleteIvtCutpointivt(Long id) {
// 校验存在
validateIvtCutpointivtExists(id);
// 删除
btIvtCutpointivtMapper.deleteById(id);
}
@Override
public void deleteIvtCutpointivtListByIds(List<Long> ids) {
// 删除
btIvtCutpointivtMapper.deleteByIds(ids);
}
private void validateIvtCutpointivtExists(Long id) {
if (btIvtCutpointivtMapper.selectById(id) == null) {
throw exception(IVT_CUTPOINTIVT_NOT_EXISTS);
}
}
@Override
public BtIvtCutpointivtDO getIvtCutpointivt(Long id) {
return btIvtCutpointivtMapper.selectById(id);
}
@Override
public PageResult<BtIvtCutpointivtDO> getIvtCutpointivtPage(BtIvtCutpointivtPageReqVO pageReqVO) {
return btIvtCutpointivtMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package cn.code.nl.module.lms.service.ivtshafttubeivt;
import java.util.*;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.ivtshafttubeivt.IvtShafttubeivtDO;
import jakarta.validation.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.PageParam;
/**
* 穿拔轴区点位库存 Service 接口
*
* @author 诺力管理员
*/
public interface IvtShafttubeivtService {
/**
* 创建穿拔轴区点位库存
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createIvtShafttubeivt(@Valid IvtShafttubeivtSaveReqVO createReqVO);
/**
* 更新穿拔轴区点位库存
*
* @param updateReqVO 更新信息
*/
void updateIvtShafttubeivt(@Valid IvtShafttubeivtSaveReqVO updateReqVO);
/**
* 删除穿拔轴区点位库存
*
* @param id 编号
*/
void deleteIvtShafttubeivt(Long id);
/**
* 批量删除穿拔轴区点位库存
*
* @param ids 编号
*/
void deleteIvtShafttubeivtListByIds(List<Long> ids);
/**
* 获得穿拔轴区点位库存
*
* @param id 编号
* @return 穿拔轴区点位库存
*/
IvtShafttubeivtDO getIvtShafttubeivt(Long id);
/**
* 获得穿拔轴区点位库存分页
*
* @param pageReqVO 分页查询
* @return 穿拔轴区点位库存分页
*/
PageResult<IvtShafttubeivtDO> getIvtShafttubeivtPage(IvtShafttubeivtPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,86 @@
package cn.code.nl.module.lms.service.ivtshafttubeivt;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtPageReqVO;
import cn.code.nl.module.lms.controller.admin.ivtshafttubeivt.vo.IvtShafttubeivtSaveReqVO;
import cn.code.nl.module.lms.dal.dataobject.ivtshafttubeivt.IvtShafttubeivtDO;
import cn.code.nl.module.lms.dal.mysql.ivtshafttubeivt.IvtShafttubeivtMapper;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import cn.code.nl.framework.common.pojo.PageResult;
import cn.code.nl.framework.common.pojo.PageParam;
import cn.code.nl.framework.common.util.object.BeanUtils;
import static cn.code.nl.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.code.nl.framework.common.util.collection.CollectionUtils.convertList;
import static cn.code.nl.framework.common.util.collection.CollectionUtils.diffList;
import static cn.code.nl.module.lms.enums.ErrorCodeConstants.IVT_SHAFTTUBEIVT_NOT_EXISTS;
/**
* 穿拔轴区点位库存 Service 实现类
*
* @author 诺力管理员
*/
@Service
@Validated
public class IvtShafttubeivtServiceImpl implements IvtShafttubeivtService {
@Resource
private IvtShafttubeivtMapper ivtShafttubeivtMapper;
@Override
public Long createIvtShafttubeivt(IvtShafttubeivtSaveReqVO createReqVO) {
// 插入
IvtShafttubeivtDO ivtShafttubeivt = BeanUtils.toBean(createReqVO, IvtShafttubeivtDO.class);
ivtShafttubeivtMapper.insert(ivtShafttubeivt);
// 返回
return ivtShafttubeivt.getIvtId();
}
@Override
public void updateIvtShafttubeivt(IvtShafttubeivtSaveReqVO updateReqVO) {
// 校验存在
validateIvtShafttubeivtExists(updateReqVO.getIvtId());
// 更新
IvtShafttubeivtDO updateObj = BeanUtils.toBean(updateReqVO, IvtShafttubeivtDO.class);
ivtShafttubeivtMapper.updateById(updateObj);
}
@Override
public void deleteIvtShafttubeivt(Long id) {
// 校验存在
validateIvtShafttubeivtExists(id);
// 删除
ivtShafttubeivtMapper.deleteById(id);
}
@Override
public void deleteIvtShafttubeivtListByIds(List<Long> ids) {
// 删除
ivtShafttubeivtMapper.deleteByIds(ids);
}
private void validateIvtShafttubeivtExists(Long id) {
if (ivtShafttubeivtMapper.selectById(id) == null) {
throw exception(IVT_SHAFTTUBEIVT_NOT_EXISTS);
}
}
@Override
public IvtShafttubeivtDO getIvtShafttubeivt(Long id) {
return ivtShafttubeivtMapper.selectById(id);
}
@Override
public PageResult<IvtShafttubeivtDO> getIvtShafttubeivtPage(IvtShafttubeivtPageReqVO pageReqVO) {
return ivtShafttubeivtMapper.selectPage(pageReqVO);
}
}

View File

@@ -7,12 +7,12 @@ spring:
username: nacos
password: nacos
discovery: # 【配置中心】配置项
namespace: dev # 命名空间。这里使用 dev 开发环境
namespace: 9a321b6b-68c6-45e1-90b0-bc187d7c29bb # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
metadata:
version: 1.0.0 # 服务实例的版本号,可用于灰度发布
config: # 【注册中心】配置项
namespace: dev # 命名空间。这里使用 dev 开发环境
namespace: 9a321b6b-68c6-45e1-90b0-bc187d7c29bb # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
--- #################### 数据库相关配置 ####################
@@ -140,4 +140,4 @@ logging:
# 芋道配置项,设置当前项目所有自定义的配置
nl:
demo: false # 开启演示模式
demo: false # 开启演示模式

View File

@@ -0,0 +1,12 @@
<?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.code.nl.module.lms.dal.mysql.btivtcutpointivt.BtIvtCutpointivtMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?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.code.nl.module.lms.dal.mysql.ivtcutpointivt.IvtCutpointivtMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>

View File

@@ -0,0 +1,12 @@
<?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.code.nl.module.lms.dal.mysql.ivtshafttubeivt.IvtShafttubeivtMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>