feat:代码生成

This commit is contained in:
FCL
2025-11-06 16:26:06 +08:00
parent dafdefd378
commit 6551a18d28
37 changed files with 2437 additions and 0 deletions

View File

@@ -79,6 +79,8 @@ public interface ErrorCodeConstants {
ErrorCode CONFIG_QC_SAMPLE_METHOD_NOT_EXISTS = new ErrorCode(1_032_050_000, "质控样与检测方法配置不存在");
ErrorCode CONFIG_QC_STANDARD_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_050_000, "质控与定值样关系不存在");
ErrorCode CONFIG_PERMISSION_NOT_EXISTS = new ErrorCode(1_032_050_000, "权限配置不存在");
ErrorCode CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS = new ErrorCode(1_032_050_000, "存放位置不存在");
/*=================================bus 检验业务 1_032_100_000 ~ 1_032_149_999==================================*/
ErrorCode BUSINESS_SAMPLE_ENTRUST_REGISTRATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "委检登记业务不存在");
@@ -120,6 +122,9 @@ public interface ErrorCodeConstants {
ErrorCode REPORT_DOCUMENT_TYPE_NOT_EXISTS = new ErrorCode(1_032_100_000, "报告类型配置不存在");
ErrorCode REPORT_DOCUMENT_MAIN_CORRELATION_NOT_EXISTS = new ErrorCode(1_032_100_000, "报告主数据关系不存在");
ErrorCode BUSINESS_SAMPLE_DISPATCH_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品调拨不存在");
ErrorCode BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS = new ErrorCode(1_032_100_000, "样品调拨明细不存在");
/*=================================resource 资源管理 1_032_150_000 ~ 1_032_199_999 ==================================*/
ErrorCode DEVICE_INFOMATION_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备_设备信息不存在");
ErrorCode DEVICE_PRODUCT_NOT_EXISTS = new ErrorCode(1_032_150_000, "设备_设备大类不存在");

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
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 com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchService;
@Tag(name = "管理后台 - 样品调拨")
@RestController
@RequestMapping("/qms/business-sample-dispatch")
@Validated
public class BusinessSampleDispatchController implements BusinessControllerMarker {
@Resource
private BusinessSampleDispatchService businessSampleDispatchService;
@PostMapping("/create")
@Operation(summary = "创建样品调拨")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:create')")
public CommonResult<BusinessSampleDispatchRespVO> createBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO createReqVO) {
return success(businessSampleDispatchService.createBusinessSampleDispatch(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新样品调拨")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:update')")
public CommonResult<Boolean> updateBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
businessSampleDispatchService.updateBusinessSampleDispatch(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除样品调拨")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatch(@RequestParam("id") Long id) {
businessSampleDispatchService.deleteBusinessSampleDispatch(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除样品调拨")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchList(@RequestBody BatchDeleteReqVO req) {
businessSampleDispatchService.deleteBusinessSampleDispatchListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得样品调拨")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:query')")
public CommonResult<BusinessSampleDispatchRespVO> getBusinessSampleDispatch(@RequestParam("id") Long id) {
BusinessSampleDispatchDO businessSampleDispatch = businessSampleDispatchService.getBusinessSampleDispatch(id);
return success(BeanUtils.toBean(businessSampleDispatch, BusinessSampleDispatchRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得样品调拨分页")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:query')")
public CommonResult<PageResult<BusinessSampleDispatchRespVO>> getBusinessSampleDispatchPage(@Valid BusinessSampleDispatchPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDO> pageResult = businessSampleDispatchService.getBusinessSampleDispatchPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleDispatchRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出样品调拨 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSampleDispatchExcel(@Valid BusinessSampleDispatchPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSampleDispatchDO> list = businessSampleDispatchService.getBusinessSampleDispatchPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "样品调拨.xls", "数据", BusinessSampleDispatchRespVO.class,
BeanUtils.toBean(list, BusinessSampleDispatchRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
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 com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchDetailService;
@Tag(name = "管理后台 - 样品调拨明细")
@RestController
@RequestMapping("/qms/business-sample-dispatch-detail")
@Validated
public class BusinessSampleDispatchDetailController implements BusinessControllerMarker {
@Resource
private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
@PostMapping("/create")
@Operation(summary = "创建样品调拨明细")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:create')")
public CommonResult<BusinessSampleDispatchDetailRespVO> createBusinessSampleDispatchDetail(@Valid @RequestBody BusinessSampleDispatchDetailSaveReqVO createReqVO) {
return success(businessSampleDispatchDetailService.createBusinessSampleDispatchDetail(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新样品调拨明细")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:update')")
public CommonResult<Boolean> updateBusinessSampleDispatchDetail(@Valid @RequestBody BusinessSampleDispatchDetailSaveReqVO updateReqVO) {
businessSampleDispatchDetailService.updateBusinessSampleDispatchDetail(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除样品调拨明细")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchDetail(@RequestParam("id") Long id) {
businessSampleDispatchDetailService.deleteBusinessSampleDispatchDetail(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除样品调拨明细")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:delete')")
public CommonResult<Boolean> deleteBusinessSampleDispatchDetailList(@RequestBody BatchDeleteReqVO req) {
businessSampleDispatchDetailService.deleteBusinessSampleDispatchDetailListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得样品调拨明细")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
public CommonResult<BusinessSampleDispatchDetailRespVO> getBusinessSampleDispatchDetail(@RequestParam("id") Long id) {
BusinessSampleDispatchDetailDO businessSampleDispatchDetail = businessSampleDispatchDetailService.getBusinessSampleDispatchDetail(id);
return success(BeanUtils.toBean(businessSampleDispatchDetail, BusinessSampleDispatchDetailRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得样品调拨明细分页")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
public CommonResult<PageResult<BusinessSampleDispatchDetailRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDetailDO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleDispatchDetailRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出样品调拨明细 Excel")
@PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportBusinessSampleDispatchDetailExcel(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSampleDispatchDetailDO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "样品调拨明细.xls", "数据", BusinessSampleDispatchDetailRespVO.class,
BeanUtils.toBean(list, BusinessSampleDispatchDetailRespVO.class));
}
}

View File

@@ -0,0 +1,85 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 样品调拨明细分页 Request VO")
@Data
public class BusinessSampleDispatchDetailPageReqVO extends PageParam {
@Schema(description = "主表数据id,支持", example = "10889")
private Long parentId;
@Schema(description = "业务数据ID", example = "10723")
private Long businessSubSampleId;
@Schema(description = "领用人")
private String borrowUser;
@Schema(description = "领用人id", example = "11884")
private Long borrowUserId;
@Schema(description = "领用时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Long[] borrowTime;
@Schema(description = "归还人")
private String givebackUser;
@Schema(description = "归还人id", example = "30812")
private Long givebackUserId;
@Schema(description = "归还时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Long[] givebackTime;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "10703")
private Long applyDepartmentId;
@Schema(description = "申请时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] applyTime;
@Schema(description = "提交状态,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "审批状态,0-未审批1-已审批", example = "2")
private String approvalStatus;
@Schema(description = "使用状态", example = "2")
private String useStatus;
@Schema(description = "表单数据,表单数据")
private String formData;
@Schema(description = "表单模板,表单编辑器模板")
private String formTemplate;
@Schema(description = "流程实例id", example = "25078")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "审批意见")
private String opinion;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@@ -0,0 +1,106 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 样品调拨明细 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BusinessSampleDispatchDetailRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31752")
@ExcelProperty("主键")
private Long id;
@Schema(description = "主表数据id,支持", requiredMode = Schema.RequiredMode.REQUIRED, example = "10889")
@ExcelProperty("主表数据id,支持")
private Long parentId;
@Schema(description = "业务数据ID", example = "10723")
@ExcelProperty("业务数据ID")
private Long businessSubSampleId;
@Schema(description = "领用人")
@ExcelProperty("领用人")
private String borrowUser;
@Schema(description = "领用人id", example = "11884")
@ExcelProperty("领用人id")
private Long borrowUserId;
@Schema(description = "领用时间")
@ExcelProperty("领用时间")
private Long borrowTime;
@Schema(description = "归还人")
@ExcelProperty("归还人")
private String givebackUser;
@Schema(description = "归还人id", example = "30812")
@ExcelProperty("归还人id")
private Long givebackUserId;
@Schema(description = "归还时间")
@ExcelProperty("归还时间")
private Long givebackTime;
@Schema(description = "申请部门")
@ExcelProperty("申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "10703")
@ExcelProperty("申请部门id")
private Long applyDepartmentId;
@Schema(description = "申请时间")
@ExcelProperty("申请时间")
private LocalDateTime applyTime;
@Schema(description = "提交状态,0-未提交1-已提交", example = "2")
@ExcelProperty("提交状态,0-未提交1-已提交")
private String submitStatus;
@Schema(description = "审批状态,0-未审批1-已审批", example = "2")
@ExcelProperty("审批状态,0-未审批1-已审批")
private String approvalStatus;
@Schema(description = "使用状态", example = "2")
@ExcelProperty("使用状态")
private String useStatus;
@Schema(description = "表单数据,表单数据")
@ExcelProperty("表单数据,表单数据")
private String formData;
@Schema(description = "表单模板,表单编辑器模板")
@ExcelProperty("表单模板,表单编辑器模板")
private String formTemplate;
@Schema(description = "流程实例id", example = "25078")
@ExcelProperty("流程实例id")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
@ExcelProperty("流程审批状态")
private String flowStatus;
@Schema(description = "审批意见")
@ExcelProperty("审批意见")
private String opinion;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,80 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 样品调拨明细新增/修改 Request VO")
@Data
public class BusinessSampleDispatchDetailSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31752")
private Long id;
@Schema(description = "主表数据id,支持", requiredMode = Schema.RequiredMode.REQUIRED, example = "10889")
@NotNull(message = "主表数据id,支持不能为空")
private Long parentId;
@Schema(description = "业务数据ID", example = "10723")
private Long businessSubSampleId;
@Schema(description = "领用人")
private String borrowUser;
@Schema(description = "领用人id", example = "11884")
private Long borrowUserId;
@Schema(description = "领用时间")
private Long borrowTime;
@Schema(description = "归还人")
private String givebackUser;
@Schema(description = "归还人id", example = "30812")
private Long givebackUserId;
@Schema(description = "归还时间")
private Long givebackTime;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "10703")
private Long applyDepartmentId;
@Schema(description = "申请时间")
private LocalDateTime applyTime;
@Schema(description = "提交状态,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "审批状态,0-未审批1-已审批", example = "2")
private String approvalStatus;
@Schema(description = "使用状态", example = "2")
private String useStatus;
@Schema(description = "表单数据,表单数据")
private String formData;
@Schema(description = "表单模板,表单编辑器模板")
private String formTemplate;
@Schema(description = "流程实例id", example = "25078")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "审批意见")
private String opinion;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,68 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 样品调拨分页 Request VO")
@Data
public class BusinessSampleDispatchPageReqVO extends PageParam {
@Schema(description = "主管部门id", example = "14119")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "王五")
private String mainDepartmentName;
@Schema(description = "申请人")
private String applyUser;
@Schema(description = "申请人id", example = "20497")
private Long applyUserId;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "28216")
private Long applyDepartmentId;
@Schema(description = "申请时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] applyTime;
@Schema(description = "库管员")
private String warehouseUser;
@Schema(description = "库管员ID", example = "15295")
private Long warehouseUserId;
@Schema(description = "提交状态,用于无申请调拨,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "流程实例id", example = "25006")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "完成状态", example = "1")
private String finishStatus;
@Schema(description = "取消状态", example = "1")
private String cancelStatus;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@@ -0,0 +1,86 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 样品调拨 Response VO")
@Data
@ExcelIgnoreUnannotated
public class BusinessSampleDispatchRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24883")
@ExcelProperty("主键")
private Long id;
@Schema(description = "主管部门id", example = "14119")
@ExcelProperty("主管部门id")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "王五")
@ExcelProperty("主管部门名称")
private String mainDepartmentName;
@Schema(description = "申请人")
@ExcelProperty("申请人")
private String applyUser;
@Schema(description = "申请人id", example = "20497")
@ExcelProperty("申请人id")
private Long applyUserId;
@Schema(description = "申请部门")
@ExcelProperty("申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "28216")
@ExcelProperty("申请部门id")
private Long applyDepartmentId;
@Schema(description = "申请时间")
@ExcelProperty("申请时间")
private LocalDateTime applyTime;
@Schema(description = "库管员")
@ExcelProperty("库管员")
private String warehouseUser;
@Schema(description = "库管员ID", example = "15295")
@ExcelProperty("库管员ID")
private Long warehouseUserId;
@Schema(description = "提交状态,用于无申请调拨,0-未提交1-已提交", example = "2")
@ExcelProperty("提交状态,用于无申请调拨,0-未提交1-已提交")
private String submitStatus;
@Schema(description = "流程实例id", example = "25006")
@ExcelProperty("流程实例id")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
@ExcelProperty("流程审批状态")
private String flowStatus;
@Schema(description = "完成状态", example = "1")
@ExcelProperty("完成状态")
private String finishStatus;
@Schema(description = "取消状态", example = "1")
@ExcelProperty("取消状态")
private String cancelStatus;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,63 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 样品调拨新增/修改 Request VO")
@Data
public class BusinessSampleDispatchSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "24883")
private Long id;
@Schema(description = "主管部门id", example = "14119")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "王五")
private String mainDepartmentName;
@Schema(description = "申请人")
private String applyUser;
@Schema(description = "申请人id", example = "20497")
private Long applyUserId;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "28216")
private Long applyDepartmentId;
@Schema(description = "申请时间")
private LocalDateTime applyTime;
@Schema(description = "库管员")
private String warehouseUser;
@Schema(description = "库管员ID", example = "15295")
private Long warehouseUserId;
@Schema(description = "提交状态,用于无申请调拨,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "流程实例id", example = "25006")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "完成状态", example = "1")
private String finishStatus;
@Schema(description = "取消状态", example = "1")
private String cancelStatus;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,115 @@
package com.zt.plat.module.qms.business.bus.dal.dataobject;
import lombok.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 样品调拨 DO
*
* @author 后台管理
*/
@TableName("t_bsn_smp_dst")
@KeySequence("t_bsn_smp_dst_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class BusinessSampleDispatchDO extends BusinessBaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 主管部门id
*/
@TableField("MAIN_DEPT_ID")
private Long mainDepartmentId;
/**
* 主管部门名称
*/
@TableField("MAIN_DEPT_NAME")
private String mainDepartmentName;
/**
* 申请人
*/
@TableField("APL_USER")
private String applyUser;
/**
* 申请人id
*/
@TableField("APL_USER_ID")
private Long applyUserId;
/**
* 申请部门
*/
@TableField("APL_DEPT")
private String applyDepartment;
/**
* 申请部门id
*/
@TableField("APL_DEPT_ID")
private Long applyDepartmentId;
/**
* 申请时间
*/
@TableField("APL_TM")
private LocalDateTime applyTime;
/**
* 库管员
*/
@TableField("WRH_USER")
private String warehouseUser;
/**
* 库管员ID
*/
@TableField("WRH_USER_ID")
private Long warehouseUserId;
/**
* 提交状态,用于无申请调拨,0-未提交1-已提交
*/
@TableField("SBM_STS")
private String submitStatus;
/**
* 流程实例id
*/
@TableField("FLW_INSC_ID")
private String flowInstanceId;
/**
* 流程审批状态
*/
@TableField("FLW_STS")
private String flowStatus;
/**
* 完成状态
*/
@TableField("FIN_STS")
private String finishStatus;
/**
* 取消状态
*/
@TableField("CNL_STS")
private String cancelStatus;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
}

View File

@@ -0,0 +1,140 @@
package com.zt.plat.module.qms.business.bus.dal.dataobject;
import lombok.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 样品调拨明细 DO
*
* @author 后台管理
*/
@TableName("t_bsn_smp_dst_dtl")
@KeySequence("t_bsn_smp_dst_dtl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class BusinessSampleDispatchDetailDO extends BusinessBaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 主表数据id,支持
*/
@TableField("PRN_ID")
private Long parentId;
/**
* 业务数据ID
*/
@TableField("BSN_SB_SMP_ID")
private Long businessSubSampleId;
/**
* 领用人
*/
@TableField("BRW_USER")
private String borrowUser;
/**
* 领用人id
*/
@TableField("BRW_USER_ID")
private Long borrowUserId;
/**
* 领用时间
*/
@TableField("BRW_TM")
private Long borrowTime;
/**
* 归还人
*/
@TableField("GIV_USER")
private String givebackUser;
/**
* 归还人id
*/
@TableField("GIV_USER_ID")
private Long givebackUserId;
/**
* 归还时间
*/
@TableField("GIV_TM")
private Long givebackTime;
/**
* 申请部门
*/
@TableField("APL_DEPT")
private String applyDepartment;
/**
* 申请部门id
*/
@TableField("APL_DEPT_ID")
private Long applyDepartmentId;
/**
* 申请时间
*/
@TableField("APL_TM")
private LocalDateTime applyTime;
/**
* 提交状态,0-未提交1-已提交
*/
@TableField("SBM_STS")
private String submitStatus;
/**
* 审批状态,0-未审批1-已审批
*/
@TableField("APRV_STS")
private String approvalStatus;
/**
* 使用状态
*/
@TableField("USE_STS")
private String useStatus;
/**
* 表单数据,表单数据
*/
@TableField("FORM_DAT")
private String formData;
/**
* 表单模板,表单编辑器模板
*/
@TableField("FORM_TMPL")
private String formTemplate;
/**
* 流程实例id
*/
@TableField("FLW_INSC_ID")
private String flowInstanceId;
/**
* 流程审批状态
*/
@TableField("FLW_STS")
private String flowStatus;
/**
* 审批意见
*/
@TableField("ONN")
private String opinion;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
}

View File

@@ -0,0 +1,45 @@
package com.zt.plat.module.qms.business.bus.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 样品调拨明细 Mapper
*
* @author 后台管理
*/
@Mapper
public interface BusinessSampleDispatchDetailMapper extends BaseMapperX<BusinessSampleDispatchDetailDO> {
default PageResult<BusinessSampleDispatchDetailDO> selectPage(BusinessSampleDispatchDetailPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessSampleDispatchDetailDO>()
.eqIfPresent(BusinessSampleDispatchDetailDO::getParentId, reqVO.getParentId())
.eqIfPresent(BusinessSampleDispatchDetailDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
.eqIfPresent(BusinessSampleDispatchDetailDO::getBorrowUser, reqVO.getBorrowUser())
.eqIfPresent(BusinessSampleDispatchDetailDO::getBorrowUserId, reqVO.getBorrowUserId())
.betweenIfPresent(BusinessSampleDispatchDetailDO::getBorrowTime, reqVO.getBorrowTime())
.eqIfPresent(BusinessSampleDispatchDetailDO::getGivebackUser, reqVO.getGivebackUser())
.eqIfPresent(BusinessSampleDispatchDetailDO::getGivebackUserId, reqVO.getGivebackUserId())
.betweenIfPresent(BusinessSampleDispatchDetailDO::getGivebackTime, reqVO.getGivebackTime())
.eqIfPresent(BusinessSampleDispatchDetailDO::getApplyDepartment, reqVO.getApplyDepartment())
.eqIfPresent(BusinessSampleDispatchDetailDO::getApplyDepartmentId, reqVO.getApplyDepartmentId())
.betweenIfPresent(BusinessSampleDispatchDetailDO::getApplyTime, reqVO.getApplyTime())
.eqIfPresent(BusinessSampleDispatchDetailDO::getSubmitStatus, reqVO.getSubmitStatus())
.eqIfPresent(BusinessSampleDispatchDetailDO::getApprovalStatus, reqVO.getApprovalStatus())
.eqIfPresent(BusinessSampleDispatchDetailDO::getUseStatus, reqVO.getUseStatus())
.eqIfPresent(BusinessSampleDispatchDetailDO::getFormData, reqVO.getFormData())
.eqIfPresent(BusinessSampleDispatchDetailDO::getFormTemplate, reqVO.getFormTemplate())
.eqIfPresent(BusinessSampleDispatchDetailDO::getFlowInstanceId, reqVO.getFlowInstanceId())
.eqIfPresent(BusinessSampleDispatchDetailDO::getFlowStatus, reqVO.getFlowStatus())
.eqIfPresent(BusinessSampleDispatchDetailDO::getOpinion, reqVO.getOpinion())
.eqIfPresent(BusinessSampleDispatchDetailDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.eqIfPresent(BusinessSampleDispatchDetailDO::getRemark, reqVO.getRemark())
.betweenIfPresent(BusinessSampleDispatchDetailDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessSampleDispatchDetailDO::getId));
}
}

View File

@@ -0,0 +1,40 @@
package com.zt.plat.module.qms.business.bus.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 样品调拨 Mapper
*
* @author 后台管理
*/
@Mapper
public interface BusinessSampleDispatchMapper extends BaseMapperX<BusinessSampleDispatchDO> {
default PageResult<BusinessSampleDispatchDO> selectPage(BusinessSampleDispatchPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessSampleDispatchDO>()
.eqIfPresent(BusinessSampleDispatchDO::getMainDepartmentId, reqVO.getMainDepartmentId())
.likeIfPresent(BusinessSampleDispatchDO::getMainDepartmentName, reqVO.getMainDepartmentName())
.eqIfPresent(BusinessSampleDispatchDO::getApplyUser, reqVO.getApplyUser())
.eqIfPresent(BusinessSampleDispatchDO::getApplyUserId, reqVO.getApplyUserId())
.eqIfPresent(BusinessSampleDispatchDO::getApplyDepartment, reqVO.getApplyDepartment())
.eqIfPresent(BusinessSampleDispatchDO::getApplyDepartmentId, reqVO.getApplyDepartmentId())
.betweenIfPresent(BusinessSampleDispatchDO::getApplyTime, reqVO.getApplyTime())
.eqIfPresent(BusinessSampleDispatchDO::getWarehouseUser, reqVO.getWarehouseUser())
.eqIfPresent(BusinessSampleDispatchDO::getWarehouseUserId, reqVO.getWarehouseUserId())
.eqIfPresent(BusinessSampleDispatchDO::getSubmitStatus, reqVO.getSubmitStatus())
.eqIfPresent(BusinessSampleDispatchDO::getFlowInstanceId, reqVO.getFlowInstanceId())
.eqIfPresent(BusinessSampleDispatchDO::getFlowStatus, reqVO.getFlowStatus())
.eqIfPresent(BusinessSampleDispatchDO::getFinishStatus, reqVO.getFinishStatus())
.eqIfPresent(BusinessSampleDispatchDO::getCancelStatus, reqVO.getCancelStatus())
.eqIfPresent(BusinessSampleDispatchDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.eqIfPresent(BusinessSampleDispatchDO::getRemark, reqVO.getRemark())
.betweenIfPresent(BusinessSampleDispatchDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(BusinessSampleDispatchDO::getId));
}
}

View File

@@ -0,0 +1,64 @@
package com.zt.plat.module.qms.business.bus.service;
import java.util.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailSaveReqVO;
import jakarta.validation.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.framework.common.pojo.PageResult;
/**
* 样品调拨明细 Service 接口
*
* @author 后台管理
*/
public interface BusinessSampleDispatchDetailService {
/**
* 创建样品调拨明细
*
* @param createReqVO 创建信息
* @return 编号
*/
BusinessSampleDispatchDetailRespVO createBusinessSampleDispatchDetail(@Valid BusinessSampleDispatchDetailSaveReqVO createReqVO);
/**
* 更新样品调拨明细
*
* @param updateReqVO 更新信息
*/
void updateBusinessSampleDispatchDetail(@Valid BusinessSampleDispatchDetailSaveReqVO updateReqVO);
/**
* 删除样品调拨明细
*
* @param id 编号
*/
void deleteBusinessSampleDispatchDetail(Long id);
/**
* 批量删除样品调拨明细
*
* @param ids 编号
*/
void deleteBusinessSampleDispatchDetailListByIds(List<Long> ids);
/**
* 获得样品调拨明细
*
* @param id 编号
* @return 样品调拨明细
*/
BusinessSampleDispatchDetailDO getBusinessSampleDispatchDetail(Long id);
/**
* 获得样品调拨明细分页
*
* @param pageReqVO 分页查询
* @return 样品调拨明细分页
*/
PageResult<BusinessSampleDispatchDetailDO> getBusinessSampleDispatchDetailPage(BusinessSampleDispatchDetailPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,92 @@
package com.zt.plat.module.qms.business.bus.service;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailSaveReqVO;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleDispatchDetailMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
* 样品调拨明细 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class BusinessSampleDispatchDetailServiceImpl implements BusinessSampleDispatchDetailService {
@Resource
private BusinessSampleDispatchDetailMapper businessSampleDispatchDetailMapper;
@Override
public BusinessSampleDispatchDetailRespVO createBusinessSampleDispatchDetail(BusinessSampleDispatchDetailSaveReqVO createReqVO) {
// 插入
BusinessSampleDispatchDetailDO businessSampleDispatchDetail = BeanUtils.toBean(createReqVO, BusinessSampleDispatchDetailDO.class);
businessSampleDispatchDetailMapper.insert(businessSampleDispatchDetail);
// 返回
return BeanUtils.toBean(businessSampleDispatchDetail, BusinessSampleDispatchDetailRespVO.class);
}
@Override
public void updateBusinessSampleDispatchDetail(BusinessSampleDispatchDetailSaveReqVO updateReqVO) {
// 校验存在
validateBusinessSampleDispatchDetailExists(updateReqVO.getId());
// 更新
BusinessSampleDispatchDetailDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSampleDispatchDetailDO.class);
businessSampleDispatchDetailMapper.updateById(updateObj);
}
@Override
public void deleteBusinessSampleDispatchDetail(Long id) {
// 校验存在
validateBusinessSampleDispatchDetailExists(id);
// 删除
businessSampleDispatchDetailMapper.deleteById(id);
}
@Override
public void deleteBusinessSampleDispatchDetailListByIds(List<Long> ids) {
// 校验存在
validateBusinessSampleDispatchDetailExists(ids);
// 删除
businessSampleDispatchDetailMapper.deleteByIds(ids);
}
private void validateBusinessSampleDispatchDetailExists(List<Long> ids) {
List<BusinessSampleDispatchDetailDO> list = businessSampleDispatchDetailMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS);
}
}
private void validateBusinessSampleDispatchDetailExists(Long id) {
if (businessSampleDispatchDetailMapper.selectById(id) == null) {
throw exception(BUSINESS_SAMPLE_DISPATCH_DETAIL_NOT_EXISTS);
}
}
@Override
public BusinessSampleDispatchDetailDO getBusinessSampleDispatchDetail(Long id) {
return businessSampleDispatchDetailMapper.selectById(id);
}
@Override
public PageResult<BusinessSampleDispatchDetailDO> getBusinessSampleDispatchDetailPage(BusinessSampleDispatchDetailPageReqVO pageReqVO) {
return businessSampleDispatchDetailMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package com.zt.plat.module.qms.business.bus.service;
import java.util.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
import jakarta.validation.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDO;
import com.zt.plat.framework.common.pojo.PageResult;
/**
* 样品调拨 Service 接口
*
* @author 后台管理
*/
public interface BusinessSampleDispatchService {
/**
* 创建样品调拨
*
* @param createReqVO 创建信息
* @return 编号
*/
BusinessSampleDispatchRespVO createBusinessSampleDispatch(@Valid BusinessSampleDispatchSaveReqVO createReqVO);
/**
* 更新样品调拨
*
* @param updateReqVO 更新信息
*/
void updateBusinessSampleDispatch(@Valid BusinessSampleDispatchSaveReqVO updateReqVO);
/**
* 删除样品调拨
*
* @param id 编号
*/
void deleteBusinessSampleDispatch(Long id);
/**
* 批量删除样品调拨
*
* @param ids 编号
*/
void deleteBusinessSampleDispatchListByIds(List<Long> ids);
/**
* 获得样品调拨
*
* @param id 编号
* @return 样品调拨
*/
BusinessSampleDispatchDO getBusinessSampleDispatch(Long id);
/**
* 获得样品调拨分页
*
* @param pageReqVO 分页查询
* @return 样品调拨分页
*/
PageResult<BusinessSampleDispatchDO> getBusinessSampleDispatchPage(BusinessSampleDispatchPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,92 @@
package com.zt.plat.module.qms.business.bus.service;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleDispatchMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
* 样品调拨 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatchService {
@Resource
private BusinessSampleDispatchMapper businessSampleDispatchMapper;
@Override
public BusinessSampleDispatchRespVO createBusinessSampleDispatch(BusinessSampleDispatchSaveReqVO createReqVO) {
// 插入
BusinessSampleDispatchDO businessSampleDispatch = BeanUtils.toBean(createReqVO, BusinessSampleDispatchDO.class);
businessSampleDispatchMapper.insert(businessSampleDispatch);
// 返回
return BeanUtils.toBean(businessSampleDispatch, BusinessSampleDispatchRespVO.class);
}
@Override
public void updateBusinessSampleDispatch(BusinessSampleDispatchSaveReqVO updateReqVO) {
// 校验存在
validateBusinessSampleDispatchExists(updateReqVO.getId());
// 更新
BusinessSampleDispatchDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSampleDispatchDO.class);
businessSampleDispatchMapper.updateById(updateObj);
}
@Override
public void deleteBusinessSampleDispatch(Long id) {
// 校验存在
validateBusinessSampleDispatchExists(id);
// 删除
businessSampleDispatchMapper.deleteById(id);
}
@Override
public void deleteBusinessSampleDispatchListByIds(List<Long> ids) {
// 校验存在
validateBusinessSampleDispatchExists(ids);
// 删除
businessSampleDispatchMapper.deleteByIds(ids);
}
private void validateBusinessSampleDispatchExists(List<Long> ids) {
List<BusinessSampleDispatchDO> list = businessSampleDispatchMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(BUSINESS_SAMPLE_DISPATCH_NOT_EXISTS);
}
}
private void validateBusinessSampleDispatchExists(Long id) {
if (businessSampleDispatchMapper.selectById(id) == null) {
throw exception(BUSINESS_SAMPLE_DISPATCH_NOT_EXISTS);
}
}
@Override
public BusinessSampleDispatchDO getBusinessSampleDispatch(Long id) {
return businessSampleDispatchMapper.selectById(id);
}
@Override
public PageResult<BusinessSampleDispatchDO> getBusinessSampleDispatchPage(BusinessSampleDispatchPageReqVO pageReqVO) {
return businessSampleDispatchMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.config.controller.admin;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
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 com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigPermissionDO;
import com.zt.plat.module.qms.business.config.service.ConfigPermissionService;
@Tag(name = "管理后台 - 权限配置,通用权限配置")
@RestController
@RequestMapping("/qms/config-permission")
@Validated
public class ConfigPermissionController implements BusinessControllerMarker {
@Resource
private ConfigPermissionService configPermissionService;
@PostMapping("/create")
@Operation(summary = "创建权限配置,通用权限配置")
// @PreAuthorize("@ss.hasPermission('qms:config-permission:create')")
public CommonResult<ConfigPermissionRespVO> createConfigPermission(@Valid @RequestBody ConfigPermissionSaveReqVO createReqVO) {
return success(configPermissionService.createConfigPermission(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新权限配置,通用权限配置")
// @PreAuthorize("@ss.hasPermission('qms:config-permission:update')")
public CommonResult<Boolean> updateConfigPermission(@Valid @RequestBody ConfigPermissionSaveReqVO updateReqVO) {
configPermissionService.updateConfigPermission(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除权限配置,通用权限配置")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:config-permission:delete')")
public CommonResult<Boolean> deleteConfigPermission(@RequestParam("id") Long id) {
configPermissionService.deleteConfigPermission(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除权限配置,通用权限配置")
@PreAuthorize("@ss.hasPermission('qms:config-permission:delete')")
public CommonResult<Boolean> deleteConfigPermissionList(@RequestBody BatchDeleteReqVO req) {
configPermissionService.deleteConfigPermissionListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得权限配置,通用权限配置")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:config-permission:query')")
public CommonResult<ConfigPermissionRespVO> getConfigPermission(@RequestParam("id") Long id) {
ConfigPermissionDO configPermission = configPermissionService.getConfigPermission(id);
return success(BeanUtils.toBean(configPermission, ConfigPermissionRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得权限配置,通用权限配置分页")
// @PreAuthorize("@ss.hasPermission('qms:config-permission:query')")
public CommonResult<PageResult<ConfigPermissionRespVO>> getConfigPermissionPage(@Valid ConfigPermissionPageReqVO pageReqVO) {
PageResult<ConfigPermissionDO> pageResult = configPermissionService.getConfigPermissionPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ConfigPermissionRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出权限配置,通用权限配置 Excel")
@PreAuthorize("@ss.hasPermission('qms:config-permission:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportConfigPermissionExcel(@Valid ConfigPermissionPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ConfigPermissionDO> list = configPermissionService.getConfigPermissionPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "权限配置,通用权限配置.xls", "数据", ConfigPermissionRespVO.class,
BeanUtils.toBean(list, ConfigPermissionRespVO.class));
}
}

View File

@@ -0,0 +1,109 @@
package com.zt.plat.module.qms.business.config.controller.admin;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationSaveReqVO;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
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 com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
import com.zt.plat.module.qms.business.config.service.ConfigWarehouseLocationService;
@Tag(name = "管理后台 - 存放位置")
@RestController
@RequestMapping("/qms/config-warehouse-location")
@Validated
public class ConfigWarehouseLocationController implements BusinessControllerMarker {
@Resource
private ConfigWarehouseLocationService configWarehouseLocationService;
@PostMapping("/create")
@Operation(summary = "创建存放位置")
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:create')")
public CommonResult<ConfigWarehouseLocationRespVO> createConfigWarehouseLocation(@Valid @RequestBody ConfigWarehouseLocationSaveReqVO createReqVO) {
return success(configWarehouseLocationService.createConfigWarehouseLocation(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新存放位置")
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:update')")
public CommonResult<Boolean> updateConfigWarehouseLocation(@Valid @RequestBody ConfigWarehouseLocationSaveReqVO updateReqVO) {
configWarehouseLocationService.updateConfigWarehouseLocation(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除存放位置")
@Parameter(name = "id", description = "编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:delete')")
public CommonResult<Boolean> deleteConfigWarehouseLocation(@RequestParam("id") Long id) {
configWarehouseLocationService.deleteConfigWarehouseLocation(id);
return success(true);
}
@DeleteMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除存放位置")
@PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:delete')")
public CommonResult<Boolean> deleteConfigWarehouseLocationList(@RequestBody BatchDeleteReqVO req) {
configWarehouseLocationService.deleteConfigWarehouseLocationListByIds(req.getIds());
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得存放位置")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:query')")
public CommonResult<ConfigWarehouseLocationRespVO> getConfigWarehouseLocation(@RequestParam("id") Long id) {
ConfigWarehouseLocationDO configWarehouseLocation = configWarehouseLocationService.getConfigWarehouseLocation(id);
return success(BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得存放位置分页")
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:query')")
public CommonResult<PageResult<ConfigWarehouseLocationRespVO>> getConfigWarehouseLocationPage(@Valid ConfigWarehouseLocationPageReqVO pageReqVO) {
PageResult<ConfigWarehouseLocationDO> pageResult = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ConfigWarehouseLocationRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出存放位置 Excel")
@PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportConfigWarehouseLocationExcel(@Valid ConfigWarehouseLocationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<ConfigWarehouseLocationDO> list = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "存放位置.xls", "数据", ConfigWarehouseLocationRespVO.class,
BeanUtils.toBean(list, ConfigWarehouseLocationRespVO.class));
}
}

View File

@@ -0,0 +1,40 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 权限配置,通用权限配置分页 Request VO")
@Data
public class ConfigPermissionPageReqVO extends PageParam {
@Schema(description = "主数据id", example = "31572")
private Long sourceId;
@Schema(description = "主数据类型", example = "1")
private String sourceType;
@Schema(description = "关联id", example = "20071")
private Long targetId;
@Schema(description = "关联数据类型", example = "1")
private String targetType;
@Schema(description = "权限类型", example = "2")
private String permissionType;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,50 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 权限配置,通用权限配置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConfigPermissionRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16806")
@ExcelProperty("ID")
private Long id;
@Schema(description = "主数据id", example = "31572")
@ExcelProperty("主数据id")
private Long sourceId;
@Schema(description = "主数据类型", example = "1")
@ExcelProperty("主数据类型")
private String sourceType;
@Schema(description = "关联id", example = "20071")
@ExcelProperty("关联id")
private Long targetId;
@Schema(description = "关联数据类型", example = "1")
@ExcelProperty("关联数据类型")
private String targetType;
@Schema(description = "权限类型", example = "2")
@ExcelProperty("权限类型")
private String permissionType;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,34 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@Schema(description = "管理后台 - 权限配置,通用权限配置新增/修改 Request VO")
@Data
public class ConfigPermissionSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16806")
private Long id;
@Schema(description = "主数据id", example = "31572")
private Long sourceId;
@Schema(description = "主数据类型", example = "1")
private String sourceType;
@Schema(description = "关联id", example = "20071")
private Long targetId;
@Schema(description = "关联数据类型", example = "1")
private String targetType;
@Schema(description = "权限类型", example = "2")
private String permissionType;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,49 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 存放位置分页 Request VO")
@Data
public class ConfigWarehouseLocationPageReqVO extends PageParam {
@Schema(description = "父ID", example = "31498")
private Long parentId;
@Schema(description = "名称", example = "王五")
private String name;
@Schema(description = "编码")
private String code;
@Schema(description = "排序号")
private Integer sortNo;
@Schema(description = "容量")
private Integer capacity;
@Schema(description = "主管部门id", example = "12738")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "张三")
private String mainDepartmentName;
@Schema(description = "数据类型(仓库、库位)", example = "2")
private String dataType;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,62 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 存放位置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConfigWarehouseLocationRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13212")
@ExcelProperty("ID")
private Long id;
@Schema(description = "父ID", example = "31498")
@ExcelProperty("父ID")
private Long parentId;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@ExcelProperty("名称")
private String name;
@Schema(description = "编码", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("编码")
private String code;
@Schema(description = "排序号")
@ExcelProperty("排序号")
private Integer sortNo;
@Schema(description = "容量", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("容量")
private Integer capacity;
@Schema(description = "主管部门id", example = "12738")
@ExcelProperty("主管部门id")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "张三")
@ExcelProperty("主管部门名称")
private String mainDepartmentName;
@Schema(description = "数据类型(仓库、库位)", example = "2")
@ExcelProperty("数据类型(仓库、库位)")
private String dataType;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间")
private LocalDateTime createTime;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
}

View File

@@ -0,0 +1,47 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
@Schema(description = "管理后台 - 存放位置新增/修改 Request VO")
@Data
public class ConfigWarehouseLocationSaveReqVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13212")
private Long id;
@Schema(description = "父ID", example = "31498")
private Long parentId;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
@NotEmpty(message = "名称不能为空")
private String name;
@Schema(description = "编码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "编码不能为空")
private String code;
@Schema(description = "排序号")
private Integer sortNo;
@Schema(description = "容量", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "容量不能为空")
private Integer capacity;
@Schema(description = "主管部门id", example = "12738")
private Long mainDepartmentId;
@Schema(description = "主管部门名称", example = "张三")
private String mainDepartmentName;
@Schema(description = "数据类型(仓库、库位)", example = "2")
private String dataType;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,67 @@
package com.zt.plat.module.qms.business.config.dal.dataobject;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 权限配置,通用权限配置 DO
*
* @author 后台管理
*/
@TableName("t_cfg_perm")
@KeySequence("t_cfg_perm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ConfigPermissionDO extends BusinessBaseDO {
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 主数据id
*/
@TableField("SRC_ID")
private Long sourceId;
/**
* 主数据类型
*/
@TableField("SRC_TP")
private String sourceType;
/**
* 关联id
*/
@TableField("TGT_ID")
private Long targetId;
/**
* 关联数据类型
*/
@TableField("TGT_TP")
private String targetType;
/**
* 权限类型
*/
@TableField("PERM_TP")
private String permissionType;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
}

View File

@@ -0,0 +1,82 @@
package com.zt.plat.module.qms.business.config.dal.dataobject;
import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/**
* 存放位置 DO
*
* @author 后台管理
*/
@TableName("t_cfg_wrh_loc")
@KeySequence("t_cfg_wrh_loc_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class ConfigWarehouseLocationDO extends BusinessBaseDO {
/**
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 父ID
*/
@TableField("PRN_ID")
private Long parentId;
/**
* 名称
*/
@TableField("NAME")
private String name;
/**
* 编码
*/
@TableField("CD")
private String code;
/**
* 排序号
*/
@TableField("SRT_NO")
private Integer sortNo;
/**
* 容量
*/
@TableField("CPY")
private Integer capacity;
/**
* 主管部门id
*/
@TableField("MAIN_DEPT_ID")
private Long mainDepartmentId;
/**
* 主管部门名称
*/
@TableField("MAIN_DEPT_NAME")
private String mainDepartmentName;
/**
* 数据类型(仓库、库位)
*/
@TableField("DAT_TP")
private String dataType;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
}

View File

@@ -0,0 +1,31 @@
package com.zt.plat.module.qms.business.config.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionPageReqVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigPermissionDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 权限配置,通用权限配置 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ConfigPermissionMapper extends BaseMapperX<ConfigPermissionDO> {
default PageResult<ConfigPermissionDO> selectPage(ConfigPermissionPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ConfigPermissionDO>()
.eqIfPresent(ConfigPermissionDO::getSourceId, reqVO.getSourceId())
.eqIfPresent(ConfigPermissionDO::getSourceType, reqVO.getSourceType())
.eqIfPresent(ConfigPermissionDO::getTargetId, reqVO.getTargetId())
.eqIfPresent(ConfigPermissionDO::getTargetType, reqVO.getTargetType())
.eqIfPresent(ConfigPermissionDO::getPermissionType, reqVO.getPermissionType())
.eqIfPresent(ConfigPermissionDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(ConfigPermissionDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ConfigPermissionDO::getRemark, reqVO.getRemark())
.orderByDesc(ConfigPermissionDO::getId));
}
}

View File

@@ -0,0 +1,34 @@
package com.zt.plat.module.qms.business.config.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 存放位置 Mapper
*
* @author 后台管理
*/
@Mapper
public interface ConfigWarehouseLocationMapper extends BaseMapperX<ConfigWarehouseLocationDO> {
default PageResult<ConfigWarehouseLocationDO> selectPage(ConfigWarehouseLocationPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ConfigWarehouseLocationDO>()
.eqIfPresent(ConfigWarehouseLocationDO::getParentId, reqVO.getParentId())
.likeIfPresent(ConfigWarehouseLocationDO::getName, reqVO.getName())
.eqIfPresent(ConfigWarehouseLocationDO::getCode, reqVO.getCode())
.eqIfPresent(ConfigWarehouseLocationDO::getSortNo, reqVO.getSortNo())
.eqIfPresent(ConfigWarehouseLocationDO::getCapacity, reqVO.getCapacity())
.eqIfPresent(ConfigWarehouseLocationDO::getMainDepartmentId, reqVO.getMainDepartmentId())
.likeIfPresent(ConfigWarehouseLocationDO::getMainDepartmentName, reqVO.getMainDepartmentName())
.eqIfPresent(ConfigWarehouseLocationDO::getDataType, reqVO.getDataType())
.eqIfPresent(ConfigWarehouseLocationDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(ConfigWarehouseLocationDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ConfigWarehouseLocationDO::getRemark, reqVO.getRemark())
.orderByDesc(ConfigWarehouseLocationDO::getId));
}
}

View File

@@ -0,0 +1,64 @@
package com.zt.plat.module.qms.business.config.service;
import java.util.*;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionSaveReqVO;
import jakarta.validation.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigPermissionDO;
import com.zt.plat.framework.common.pojo.PageResult;
/**
* 权限配置,通用权限配置 Service 接口
*
* @author 后台管理
*/
public interface ConfigPermissionService {
/**
* 创建权限配置,通用权限配置
*
* @param createReqVO 创建信息
* @return 编号
*/
ConfigPermissionRespVO createConfigPermission(@Valid ConfigPermissionSaveReqVO createReqVO);
/**
* 更新权限配置,通用权限配置
*
* @param updateReqVO 更新信息
*/
void updateConfigPermission(@Valid ConfigPermissionSaveReqVO updateReqVO);
/**
* 删除权限配置,通用权限配置
*
* @param id 编号
*/
void deleteConfigPermission(Long id);
/**
* 批量删除权限配置,通用权限配置
*
* @param ids 编号
*/
void deleteConfigPermissionListByIds(List<Long> ids);
/**
* 获得权限配置,通用权限配置
*
* @param id 编号
* @return 权限配置,通用权限配置
*/
ConfigPermissionDO getConfigPermission(Long id);
/**
* 获得权限配置,通用权限配置分页
*
* @param pageReqVO 分页查询
* @return 权限配置,通用权限配置分页
*/
PageResult<ConfigPermissionDO> getConfigPermissionPage(ConfigPermissionPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,92 @@
package com.zt.plat.module.qms.business.config.service;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionSaveReqVO;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigPermissionDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigPermissionMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
* 权限配置,通用权限配置 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ConfigPermissionServiceImpl implements ConfigPermissionService {
@Resource
private ConfigPermissionMapper configPermissionMapper;
@Override
public ConfigPermissionRespVO createConfigPermission(ConfigPermissionSaveReqVO createReqVO) {
// 插入
ConfigPermissionDO configPermission = BeanUtils.toBean(createReqVO, ConfigPermissionDO.class);
configPermissionMapper.insert(configPermission);
// 返回
return BeanUtils.toBean(configPermission, ConfigPermissionRespVO.class);
}
@Override
public void updateConfigPermission(ConfigPermissionSaveReqVO updateReqVO) {
// 校验存在
validateConfigPermissionExists(updateReqVO.getId());
// 更新
ConfigPermissionDO updateObj = BeanUtils.toBean(updateReqVO, ConfigPermissionDO.class);
configPermissionMapper.updateById(updateObj);
}
@Override
public void deleteConfigPermission(Long id) {
// 校验存在
validateConfigPermissionExists(id);
// 删除
configPermissionMapper.deleteById(id);
}
@Override
public void deleteConfigPermissionListByIds(List<Long> ids) {
// 校验存在
validateConfigPermissionExists(ids);
// 删除
configPermissionMapper.deleteByIds(ids);
}
private void validateConfigPermissionExists(List<Long> ids) {
List<ConfigPermissionDO> list = configPermissionMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(CONFIG_PERMISSION_NOT_EXISTS);
}
}
private void validateConfigPermissionExists(Long id) {
if (configPermissionMapper.selectById(id) == null) {
throw exception(CONFIG_PERMISSION_NOT_EXISTS);
}
}
@Override
public ConfigPermissionDO getConfigPermission(Long id) {
return configPermissionMapper.selectById(id);
}
@Override
public PageResult<ConfigPermissionDO> getConfigPermissionPage(ConfigPermissionPageReqVO pageReqVO) {
return configPermissionMapper.selectPage(pageReqVO);
}
}

View File

@@ -0,0 +1,64 @@
package com.zt.plat.module.qms.business.config.service;
import java.util.*;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationSaveReqVO;
import jakarta.validation.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
import com.zt.plat.framework.common.pojo.PageResult;
/**
* 存放位置 Service 接口
*
* @author 后台管理
*/
public interface ConfigWarehouseLocationService {
/**
* 创建存放位置
*
* @param createReqVO 创建信息
* @return 编号
*/
ConfigWarehouseLocationRespVO createConfigWarehouseLocation(@Valid ConfigWarehouseLocationSaveReqVO createReqVO);
/**
* 更新存放位置
*
* @param updateReqVO 更新信息
*/
void updateConfigWarehouseLocation(@Valid ConfigWarehouseLocationSaveReqVO updateReqVO);
/**
* 删除存放位置
*
* @param id 编号
*/
void deleteConfigWarehouseLocation(Long id);
/**
* 批量删除存放位置
*
* @param ids 编号
*/
void deleteConfigWarehouseLocationListByIds(List<Long> ids);
/**
* 获得存放位置
*
* @param id 编号
* @return 存放位置
*/
ConfigWarehouseLocationDO getConfigWarehouseLocation(Long id);
/**
* 获得存放位置分页
*
* @param pageReqVO 分页查询
* @return 存放位置分页
*/
PageResult<ConfigWarehouseLocationDO> getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO);
}

View File

@@ -0,0 +1,92 @@
package com.zt.plat.module.qms.business.config.service;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationSaveReqVO;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigWarehouseLocationMapper;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
* 存放位置 Service 实现类
*
* @author 后台管理
*/
@Service
@Validated
public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocationService {
@Resource
private ConfigWarehouseLocationMapper configWarehouseLocationMapper;
@Override
public ConfigWarehouseLocationRespVO createConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO createReqVO) {
// 插入
ConfigWarehouseLocationDO configWarehouseLocation = BeanUtils.toBean(createReqVO, ConfigWarehouseLocationDO.class);
configWarehouseLocationMapper.insert(configWarehouseLocation);
// 返回
return BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class);
}
@Override
public void updateConfigWarehouseLocation(ConfigWarehouseLocationSaveReqVO updateReqVO) {
// 校验存在
validateConfigWarehouseLocationExists(updateReqVO.getId());
// 更新
ConfigWarehouseLocationDO updateObj = BeanUtils.toBean(updateReqVO, ConfigWarehouseLocationDO.class);
configWarehouseLocationMapper.updateById(updateObj);
}
@Override
public void deleteConfigWarehouseLocation(Long id) {
// 校验存在
validateConfigWarehouseLocationExists(id);
// 删除
configWarehouseLocationMapper.deleteById(id);
}
@Override
public void deleteConfigWarehouseLocationListByIds(List<Long> ids) {
// 校验存在
validateConfigWarehouseLocationExists(ids);
// 删除
configWarehouseLocationMapper.deleteByIds(ids);
}
private void validateConfigWarehouseLocationExists(List<Long> ids) {
List<ConfigWarehouseLocationDO> list = configWarehouseLocationMapper.selectByIds(ids);
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
throw exception(CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS);
}
}
private void validateConfigWarehouseLocationExists(Long id) {
if (configWarehouseLocationMapper.selectById(id) == null) {
throw exception(CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS);
}
}
@Override
public ConfigWarehouseLocationDO getConfigWarehouseLocation(Long id) {
return configWarehouseLocationMapper.selectById(id);
}
@Override
public PageResult<ConfigWarehouseLocationDO> getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO) {
return configWarehouseLocationMapper.selectPage(pageReqVO);
}
}

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="com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleDispatchDetailMapper">
<!--
一般情况下,尽可能使用 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="com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleDispatchMapper">
<!--
一般情况下,尽可能使用 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="com.zt.plat.module.qms.business.config.dal.mapper.ConfigPermissionMapper">
<!--
一般情况下,尽可能使用 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="com.zt.plat.module.qms.business.config.dal.mapper.ConfigWarehouseLocationMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>