feat(is): 添加检验委托单、检验任务和样品库存相关功能- 新增检验委托单、检验任务和样品库存的实体类、BO、VO
- 实现检验委托单、检验任务和样品库存的增删查改功能 - 添加检验任务与委托单的关联查询
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
package com.klp.mes.is.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionCommissionVo;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionCommissionBo;
|
||||
import com.klp.mes.is.service.IIsInspectionCommissionService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 检验委托单表
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/is/inspectionCommission")
|
||||
public class IsInspectionCommissionController extends BaseController {
|
||||
|
||||
private final IIsInspectionCommissionService iIsInspectionCommissionService;
|
||||
|
||||
/**
|
||||
* 查询检验委托单表列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<IsInspectionCommissionVo> list(IsInspectionCommissionBo bo, PageQuery pageQuery) {
|
||||
return iIsInspectionCommissionService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出检验委托单表列表
|
||||
*/
|
||||
@Log(title = "检验委托单表", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(IsInspectionCommissionBo bo, HttpServletResponse response) {
|
||||
List<IsInspectionCommissionVo> list = iIsInspectionCommissionService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "检验委托单表", IsInspectionCommissionVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检验委托单表详细信息
|
||||
*
|
||||
* @param commissionId 主键
|
||||
*/
|
||||
@GetMapping("/{commissionId}")
|
||||
public R<IsInspectionCommissionVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long commissionId) {
|
||||
return R.ok(iIsInspectionCommissionService.queryById(commissionId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增检验委托单表
|
||||
*/
|
||||
@Log(title = "检验委托单表", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody IsInspectionCommissionBo bo) {
|
||||
return toAjax(iIsInspectionCommissionService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验委托单表
|
||||
*/
|
||||
@Log(title = "检验委托单表", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody IsInspectionCommissionBo bo) {
|
||||
return toAjax(iIsInspectionCommissionService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验委托单表
|
||||
*
|
||||
* @param commissionIds 主键串
|
||||
*/
|
||||
@Log(title = "检验委托单表", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{commissionIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] commissionIds) {
|
||||
return toAjax(iIsInspectionCommissionService.deleteWithValidByIds(Arrays.asList(commissionIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.mes.is.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionTaskVo;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionTaskBo;
|
||||
import com.klp.mes.is.service.IIsInspectionTaskService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 检验任务表
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/is/inspectionTask")
|
||||
public class IsInspectionTaskController extends BaseController {
|
||||
|
||||
private final IIsInspectionTaskService iIsInspectionTaskService;
|
||||
|
||||
/**
|
||||
* 查询检验任务表列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<IsInspectionTaskVo> list(IsInspectionTaskBo bo, PageQuery pageQuery) {
|
||||
return iIsInspectionTaskService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出检验任务表列表
|
||||
*/
|
||||
@Log(title = "检验任务表", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(IsInspectionTaskBo bo, HttpServletResponse response) {
|
||||
List<IsInspectionTaskVo> list = iIsInspectionTaskService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "检验任务表", IsInspectionTaskVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取检验任务表详细信息
|
||||
*
|
||||
* @param taskId 主键
|
||||
*/
|
||||
@GetMapping("/{taskId}")
|
||||
public R<IsInspectionTaskVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long taskId) {
|
||||
return R.ok(iIsInspectionTaskService.queryById(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增检验任务表
|
||||
*/
|
||||
@Log(title = "检验任务表", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody IsInspectionTaskBo bo) {
|
||||
return toAjax(iIsInspectionTaskService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验任务表
|
||||
*/
|
||||
@Log(title = "检验任务表", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody IsInspectionTaskBo bo) {
|
||||
return toAjax(iIsInspectionTaskService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除检验任务表
|
||||
*
|
||||
* @param taskIds 主键串
|
||||
*/
|
||||
@Log(title = "检验任务表", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{taskIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] taskIds) {
|
||||
return toAjax(iIsInspectionTaskService.deleteWithValidByIds(Arrays.asList(taskIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.klp.mes.is.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.klp.common.annotation.RepeatSubmit;
|
||||
import com.klp.common.annotation.Log;
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.common.enums.BusinessType;
|
||||
import com.klp.common.utils.poi.ExcelUtil;
|
||||
import com.klp.mes.is.domain.vo.IsSampleInventoryVo;
|
||||
import com.klp.mes.is.domain.bo.IsSampleInventoryBo;
|
||||
import com.klp.mes.is.service.IIsSampleInventoryService;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 样品库存表
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/is/sampleInventory")
|
||||
public class IsSampleInventoryController extends BaseController {
|
||||
|
||||
private final IIsSampleInventoryService iIsSampleInventoryService;
|
||||
|
||||
/**
|
||||
* 查询样品库存表列表
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<IsSampleInventoryVo> list(IsSampleInventoryBo bo, PageQuery pageQuery) {
|
||||
return iIsSampleInventoryService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出样品库存表列表
|
||||
*/
|
||||
@Log(title = "样品库存表", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(IsSampleInventoryBo bo, HttpServletResponse response) {
|
||||
List<IsSampleInventoryVo> list = iIsSampleInventoryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "样品库存表", IsSampleInventoryVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取样品库存表详细信息
|
||||
*
|
||||
* @param sampleId 主键
|
||||
*/
|
||||
@GetMapping("/{sampleId}")
|
||||
public R<IsSampleInventoryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long sampleId) {
|
||||
return R.ok(iIsSampleInventoryService.queryById(sampleId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增样品库存表
|
||||
*/
|
||||
@Log(title = "样品库存表", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody IsSampleInventoryBo bo) {
|
||||
return toAjax(iIsSampleInventoryService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改样品库存表
|
||||
*/
|
||||
@Log(title = "样品库存表", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody IsSampleInventoryBo bo) {
|
||||
return toAjax(iIsSampleInventoryService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除样品库存表
|
||||
*
|
||||
* @param sampleIds 主键串
|
||||
*/
|
||||
@Log(title = "样品库存表", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{sampleIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] sampleIds) {
|
||||
return toAjax(iIsSampleInventoryService.deleteWithValidByIds(Arrays.asList(sampleIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.klp.mes.is.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 检验委托单表对象 is_inspection_commission
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("is_inspection_commission")
|
||||
public class IsInspectionCommission extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 委托单ID
|
||||
*/
|
||||
@TableId(value = "commission_id")
|
||||
private Long commissionId;
|
||||
/**
|
||||
* 委托单号
|
||||
*/
|
||||
private String commissionNo;
|
||||
/**
|
||||
* 委托单位ID(外键关联客户表)
|
||||
*/
|
||||
private Long clientId;
|
||||
/**
|
||||
* 样品名称
|
||||
*/
|
||||
private String sampleName;
|
||||
/**
|
||||
* 样品类型
|
||||
*/
|
||||
private String sampleType;
|
||||
/**
|
||||
* 样品数量
|
||||
*/
|
||||
private Long quantity;
|
||||
/**
|
||||
* 检验项目(JSON数组)
|
||||
*/
|
||||
private String inspectionItems;
|
||||
/**
|
||||
* 委托日期
|
||||
*/
|
||||
private Date commissionDate;
|
||||
/**
|
||||
* 要求完成日期
|
||||
*/
|
||||
private Date deadline;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 删除标志(0=正常,1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.klp.mes.is.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 检验任务表对象 is_inspection_task
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("is_inspection_task")
|
||||
public class IsInspectionTask extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
@TableId(value = "task_id")
|
||||
private Long taskId;
|
||||
/**
|
||||
* 任务单号
|
||||
*/
|
||||
private String taskNo;
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
private Long commissionId;
|
||||
/**
|
||||
* 负责人(用户ID)
|
||||
*/
|
||||
private Long assignedTo;
|
||||
/**
|
||||
* 任务开始时间
|
||||
*/
|
||||
private Date startTime;
|
||||
/**
|
||||
* 任务完成时间
|
||||
*/
|
||||
private Date endTime;
|
||||
/**
|
||||
* 检验结果
|
||||
*/
|
||||
private String result;
|
||||
/**
|
||||
* 检验结论
|
||||
*/
|
||||
private String conclusion;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 优先级(1-普通, 2-紧急)
|
||||
*/
|
||||
private Long priority;
|
||||
/**
|
||||
* 删除标志(0=正常,1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.klp.mes.is.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 样品库存表对象 is_sample_inventory
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("is_sample_inventory")
|
||||
public class IsSampleInventory extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 样品ID
|
||||
*/
|
||||
@TableId(value = "sample_id")
|
||||
private Long sampleId;
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
private Long commissionId;
|
||||
/**
|
||||
* 存放位置(如:A区-3排-2架)
|
||||
*/
|
||||
private String location;
|
||||
/**
|
||||
* 当前库存量
|
||||
*/
|
||||
private Long currentQuantity;
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
private Date storageTime;
|
||||
/**
|
||||
* 有效期至
|
||||
*/
|
||||
private Date expirationDate;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 操作人(用户ID)
|
||||
*/
|
||||
private Long operatorId;
|
||||
/**
|
||||
* 最后更新时间
|
||||
*/
|
||||
private Date lastUpdate;
|
||||
/**
|
||||
* 删除标志(0=正常,1=删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.klp.mes.is.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 检验委托单表业务对象 is_inspection_commission
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IsInspectionCommissionBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 委托单ID
|
||||
*/
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 委托单号
|
||||
*/
|
||||
private String commissionNo;
|
||||
|
||||
/**
|
||||
* 委托单位ID(外键关联客户表)
|
||||
*/
|
||||
private Long clientId;
|
||||
|
||||
/**
|
||||
* 样品名称
|
||||
*/
|
||||
private String sampleName;
|
||||
|
||||
/**
|
||||
* 样品类型
|
||||
*/
|
||||
private String sampleType;
|
||||
|
||||
/**
|
||||
* 样品数量
|
||||
*/
|
||||
private Long quantity;
|
||||
|
||||
/**
|
||||
* 检验项目(JSON数组)
|
||||
*/
|
||||
private String inspectionItems;
|
||||
|
||||
/**
|
||||
* 委托日期
|
||||
*/
|
||||
private Date commissionDate;
|
||||
|
||||
/**
|
||||
* 要求完成日期
|
||||
*/
|
||||
private Date deadline;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.klp.mes.is.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 检验任务表业务对象 is_inspection_task
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IsInspectionTaskBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 任务单号
|
||||
*/
|
||||
private String taskNo;
|
||||
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 负责人(用户ID)
|
||||
*/
|
||||
private Long assignedTo;
|
||||
|
||||
/**
|
||||
* 任务开始时间
|
||||
*/
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 任务完成时间
|
||||
*/
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 检验结果
|
||||
*/
|
||||
private String result;
|
||||
|
||||
/**
|
||||
* 检验结论
|
||||
*/
|
||||
private String conclusion;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 优先级(1-普通, 2-紧急)
|
||||
*/
|
||||
private Long priority;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.klp.mes.is.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
/**
|
||||
* 样品库存表业务对象 is_sample_inventory
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class IsSampleInventoryBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 样品ID
|
||||
*/
|
||||
private Long sampleId;
|
||||
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 存放位置(如:A区-3排-2架)
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 当前库存量
|
||||
*/
|
||||
private Long currentQuantity;
|
||||
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
private Date storageTime;
|
||||
|
||||
/**
|
||||
* 有效期至
|
||||
*/
|
||||
private Date expirationDate;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 操作人(用户ID)
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 最后更新时间
|
||||
*/
|
||||
private Date lastUpdate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.klp.mes.is.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 检验委托单表视图对象 is_inspection_commission
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class IsInspectionCommissionVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 委托单ID
|
||||
*/
|
||||
@ExcelProperty(value = "委托单ID")
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 委托单号
|
||||
*/
|
||||
@ExcelProperty(value = "委托单号")
|
||||
private String commissionNo;
|
||||
|
||||
/**
|
||||
* 委托单位ID(外键关联客户表)
|
||||
*/
|
||||
@ExcelProperty(value = "委托单位ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "外=键关联客户表")
|
||||
private Long clientId;
|
||||
|
||||
/**
|
||||
* 样品名称
|
||||
*/
|
||||
@ExcelProperty(value = "样品名称")
|
||||
private String sampleName;
|
||||
|
||||
/**
|
||||
* 样品类型
|
||||
*/
|
||||
@ExcelProperty(value = "样品类型")
|
||||
private String sampleType;
|
||||
|
||||
/**
|
||||
* 样品数量
|
||||
*/
|
||||
@ExcelProperty(value = "样品数量")
|
||||
private Long quantity;
|
||||
|
||||
/**
|
||||
* 检验项目(JSON数组)
|
||||
*/
|
||||
@ExcelProperty(value = "检验项目", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "J=SON数组")
|
||||
private String inspectionItems;
|
||||
|
||||
/**
|
||||
* 委托日期
|
||||
*/
|
||||
@ExcelProperty(value = "委托日期")
|
||||
private Date commissionDate;
|
||||
|
||||
/**
|
||||
* 要求完成日期
|
||||
*/
|
||||
@ExcelProperty(value = "要求完成日期")
|
||||
private Date deadline;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.klp.mes.is.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 检验任务表视图对象 is_inspection_task
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class IsInspectionTaskVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
@ExcelProperty(value = "任务ID")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 任务单号
|
||||
*/
|
||||
@ExcelProperty(value = "任务单号")
|
||||
private String taskNo;
|
||||
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联委托单ID")
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 负责人(用户ID)
|
||||
*/
|
||||
@ExcelProperty(value = "负责人", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "用=户ID")
|
||||
private Long assignedTo;
|
||||
|
||||
/**
|
||||
* 任务开始时间
|
||||
*/
|
||||
@ExcelProperty(value = "任务开始时间")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 任务完成时间
|
||||
*/
|
||||
@ExcelProperty(value = "任务完成时间")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 检验结果
|
||||
*/
|
||||
@ExcelProperty(value = "检验结果")
|
||||
private String result;
|
||||
|
||||
/**
|
||||
* 检验结论
|
||||
*/
|
||||
@ExcelProperty(value = "检验结论")
|
||||
private String conclusion;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 优先级(1-普通, 2-紧急)
|
||||
*/
|
||||
@ExcelProperty(value = "优先级", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "1=-普通,,2=-紧急")
|
||||
private Long priority;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
package com.klp.mes.is.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.klp.common.annotation.ExcelDictFormat;
|
||||
import com.klp.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* 样品库存表视图对象 is_sample_inventory
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class IsSampleInventoryVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 样品ID
|
||||
*/
|
||||
@ExcelProperty(value = "样品ID")
|
||||
private Long sampleId;
|
||||
|
||||
/**
|
||||
* 关联委托单ID
|
||||
*/
|
||||
@ExcelProperty(value = "关联委托单ID")
|
||||
private Long commissionId;
|
||||
|
||||
/**
|
||||
* 存放位置(如:A区-3排-2架)
|
||||
*/
|
||||
@ExcelProperty(value = "存放位置", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:A区-3排-2架")
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 当前库存量
|
||||
*/
|
||||
@ExcelProperty(value = "当前库存量")
|
||||
private Long currentQuantity;
|
||||
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
@ExcelProperty(value = "入库时间")
|
||||
private Date storageTime;
|
||||
|
||||
/**
|
||||
* 有效期至
|
||||
*/
|
||||
@ExcelProperty(value = "有效期至")
|
||||
private Date expirationDate;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 操作人(用户ID)
|
||||
*/
|
||||
@ExcelProperty(value = "操作人", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "用=户ID")
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 最后更新时间
|
||||
*/
|
||||
@ExcelProperty(value = "最后更新时间")
|
||||
private Date lastUpdate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.klp.mes.is.mapper;
|
||||
|
||||
import com.klp.mes.is.domain.IsInspectionCommission;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionCommissionVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 检验委托单表Mapper接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IsInspectionCommissionMapper extends BaseMapperPlus<IsInspectionCommissionMapper, IsInspectionCommission, IsInspectionCommissionVo> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.klp.mes.is.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.klp.mes.is.domain.IsInspectionTask;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionTaskBo;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionTaskVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 检验任务表Mapper接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IsInspectionTaskMapper extends BaseMapperPlus<IsInspectionTaskMapper, IsInspectionTask, IsInspectionTaskVo> {
|
||||
|
||||
Page<IsInspectionTaskVo> selectVoPagePlus(Page<Object> build, IsInspectionTaskBo bo);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.klp.mes.is.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.klp.mes.is.domain.IsSampleInventory;
|
||||
import com.klp.mes.is.domain.bo.IsSampleInventoryBo;
|
||||
import com.klp.mes.is.domain.vo.IsSampleInventoryVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 样品库存表Mapper接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IsSampleInventoryMapper extends BaseMapperPlus<IsSampleInventoryMapper, IsSampleInventory, IsSampleInventoryVo> {
|
||||
|
||||
Page<IsSampleInventoryVo> selectVoPagePlus(Page<Object> build, IsSampleInventoryBo bo);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.mes.is.service;
|
||||
|
||||
import com.klp.mes.is.domain.IsInspectionCommission;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionCommissionVo;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionCommissionBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检验委托单表Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IIsInspectionCommissionService {
|
||||
|
||||
/**
|
||||
* 查询检验委托单表
|
||||
*/
|
||||
IsInspectionCommissionVo queryById(Long commissionId);
|
||||
|
||||
/**
|
||||
* 查询检验委托单表列表
|
||||
*/
|
||||
TableDataInfo<IsInspectionCommissionVo> queryPageList(IsInspectionCommissionBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询检验委托单表列表
|
||||
*/
|
||||
List<IsInspectionCommissionVo> queryList(IsInspectionCommissionBo bo);
|
||||
|
||||
/**
|
||||
* 新增检验委托单表
|
||||
*/
|
||||
Boolean insertByBo(IsInspectionCommissionBo bo);
|
||||
|
||||
/**
|
||||
* 修改检验委托单表
|
||||
*/
|
||||
Boolean updateByBo(IsInspectionCommissionBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除检验委托单表信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.mes.is.service;
|
||||
|
||||
import com.klp.mes.is.domain.IsInspectionTask;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionTaskVo;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionTaskBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检验任务表Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IIsInspectionTaskService {
|
||||
|
||||
/**
|
||||
* 查询检验任务表
|
||||
*/
|
||||
IsInspectionTaskVo queryById(Long taskId);
|
||||
|
||||
/**
|
||||
* 查询检验任务表列表
|
||||
*/
|
||||
TableDataInfo<IsInspectionTaskVo> queryPageList(IsInspectionTaskBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询检验任务表列表
|
||||
*/
|
||||
List<IsInspectionTaskVo> queryList(IsInspectionTaskBo bo);
|
||||
|
||||
/**
|
||||
* 新增检验任务表
|
||||
*/
|
||||
Boolean insertByBo(IsInspectionTaskBo bo);
|
||||
|
||||
/**
|
||||
* 修改检验任务表
|
||||
*/
|
||||
Boolean updateByBo(IsInspectionTaskBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除检验任务表信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.klp.mes.is.service;
|
||||
|
||||
import com.klp.mes.is.domain.IsSampleInventory;
|
||||
import com.klp.mes.is.domain.vo.IsSampleInventoryVo;
|
||||
import com.klp.mes.is.domain.bo.IsSampleInventoryBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 样品库存表Service接口
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
public interface IIsSampleInventoryService {
|
||||
|
||||
/**
|
||||
* 查询样品库存表
|
||||
*/
|
||||
IsSampleInventoryVo queryById(Long sampleId);
|
||||
|
||||
/**
|
||||
* 查询样品库存表列表
|
||||
*/
|
||||
TableDataInfo<IsSampleInventoryVo> queryPageList(IsSampleInventoryBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询样品库存表列表
|
||||
*/
|
||||
List<IsSampleInventoryVo> queryList(IsSampleInventoryBo bo);
|
||||
|
||||
/**
|
||||
* 新增样品库存表
|
||||
*/
|
||||
Boolean insertByBo(IsSampleInventoryBo bo);
|
||||
|
||||
/**
|
||||
* 修改样品库存表
|
||||
*/
|
||||
Boolean updateByBo(IsSampleInventoryBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除样品库存表信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
package com.klp.mes.is.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionCommissionBo;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionCommissionVo;
|
||||
import com.klp.mes.is.domain.IsInspectionCommission;
|
||||
import com.klp.mes.is.mapper.IsInspectionCommissionMapper;
|
||||
import com.klp.mes.is.service.IIsInspectionCommissionService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 检验委托单表Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class IsInspectionCommissionServiceImpl implements IIsInspectionCommissionService {
|
||||
|
||||
private final IsInspectionCommissionMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询检验委托单表
|
||||
*/
|
||||
@Override
|
||||
public IsInspectionCommissionVo queryById(Long commissionId){
|
||||
return baseMapper.selectVoById(commissionId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验委托单表列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<IsInspectionCommissionVo> queryPageList(IsInspectionCommissionBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<IsInspectionCommission> lqw = buildQueryWrapper(bo);
|
||||
Page<IsInspectionCommissionVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验委托单表列表
|
||||
*/
|
||||
@Override
|
||||
public List<IsInspectionCommissionVo> queryList(IsInspectionCommissionBo bo) {
|
||||
LambdaQueryWrapper<IsInspectionCommission> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<IsInspectionCommission> buildQueryWrapper(IsInspectionCommissionBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<IsInspectionCommission> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCommissionNo()), IsInspectionCommission::getCommissionNo, bo.getCommissionNo());
|
||||
lqw.eq(bo.getClientId() != null, IsInspectionCommission::getClientId, bo.getClientId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getSampleName()), IsInspectionCommission::getSampleName, bo.getSampleName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSampleType()), IsInspectionCommission::getSampleType, bo.getSampleType());
|
||||
lqw.eq(bo.getQuantity() != null, IsInspectionCommission::getQuantity, bo.getQuantity());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getInspectionItems()), IsInspectionCommission::getInspectionItems, bo.getInspectionItems());
|
||||
lqw.eq(bo.getCommissionDate() != null, IsInspectionCommission::getCommissionDate, bo.getCommissionDate());
|
||||
lqw.eq(bo.getDeadline() != null, IsInspectionCommission::getDeadline, bo.getDeadline());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), IsInspectionCommission::getStatus, bo.getStatus());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增检验委托单表
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(IsInspectionCommissionBo bo) {
|
||||
IsInspectionCommission add = BeanUtil.toBean(bo, IsInspectionCommission.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setCommissionId(add.getCommissionId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验委托单表
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(IsInspectionCommissionBo bo) {
|
||||
IsInspectionCommission update = BeanUtil.toBean(bo, IsInspectionCommission.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(IsInspectionCommission entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除检验委托单表
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.klp.mes.is.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.mes.is.domain.bo.IsInspectionTaskBo;
|
||||
import com.klp.mes.is.domain.vo.IsInspectionTaskVo;
|
||||
import com.klp.mes.is.domain.IsInspectionTask;
|
||||
import com.klp.mes.is.mapper.IsInspectionTaskMapper;
|
||||
import com.klp.mes.is.service.IIsInspectionTaskService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 检验任务表Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class IsInspectionTaskServiceImpl implements IIsInspectionTaskService {
|
||||
|
||||
private final IsInspectionTaskMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询检验任务表
|
||||
*/
|
||||
@Override
|
||||
public IsInspectionTaskVo queryById(Long taskId){
|
||||
return baseMapper.selectVoById(taskId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验任务表列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<IsInspectionTaskVo> queryPageList(IsInspectionTaskBo bo, PageQuery pageQuery) {
|
||||
Page<IsInspectionTaskVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), bo);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询检验任务表列表
|
||||
*/
|
||||
@Override
|
||||
public List<IsInspectionTaskVo> queryList(IsInspectionTaskBo bo) {
|
||||
LambdaQueryWrapper<IsInspectionTask> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<IsInspectionTask> buildQueryWrapper(IsInspectionTaskBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<IsInspectionTask> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTaskNo()), IsInspectionTask::getTaskNo, bo.getTaskNo());
|
||||
lqw.eq(bo.getCommissionId() != null, IsInspectionTask::getCommissionId, bo.getCommissionId());
|
||||
lqw.eq(bo.getAssignedTo() != null, IsInspectionTask::getAssignedTo, bo.getAssignedTo());
|
||||
lqw.eq(bo.getStartTime() != null, IsInspectionTask::getStartTime, bo.getStartTime());
|
||||
lqw.eq(bo.getEndTime() != null, IsInspectionTask::getEndTime, bo.getEndTime());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getResult()), IsInspectionTask::getResult, bo.getResult());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getConclusion()), IsInspectionTask::getConclusion, bo.getConclusion());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), IsInspectionTask::getStatus, bo.getStatus());
|
||||
lqw.eq(bo.getPriority() != null, IsInspectionTask::getPriority, bo.getPriority());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增检验任务表
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(IsInspectionTaskBo bo) {
|
||||
IsInspectionTask add = BeanUtil.toBean(bo, IsInspectionTask.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setTaskId(add.getTaskId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改检验任务表
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(IsInspectionTaskBo bo) {
|
||||
IsInspectionTask update = BeanUtil.toBean(bo, IsInspectionTask.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(IsInspectionTask entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除检验任务表
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.klp.mes.is.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.mes.is.domain.bo.IsSampleInventoryBo;
|
||||
import com.klp.mes.is.domain.vo.IsSampleInventoryVo;
|
||||
import com.klp.mes.is.domain.IsSampleInventory;
|
||||
import com.klp.mes.is.mapper.IsSampleInventoryMapper;
|
||||
import com.klp.mes.is.service.IIsSampleInventoryService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 样品库存表Service业务层处理
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-08-15
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class IsSampleInventoryServiceImpl implements IIsSampleInventoryService {
|
||||
|
||||
private final IsSampleInventoryMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询样品库存表
|
||||
*/
|
||||
@Override
|
||||
public IsSampleInventoryVo queryById(Long sampleId){
|
||||
return baseMapper.selectVoById(sampleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询样品库存表列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<IsSampleInventoryVo> queryPageList(IsSampleInventoryBo bo, PageQuery pageQuery) {
|
||||
Page<IsSampleInventoryVo> result = baseMapper.selectVoPagePlus(pageQuery.build(), bo);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询样品库存表列表
|
||||
*/
|
||||
@Override
|
||||
public List<IsSampleInventoryVo> queryList(IsSampleInventoryBo bo) {
|
||||
LambdaQueryWrapper<IsSampleInventory> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<IsSampleInventory> buildQueryWrapper(IsSampleInventoryBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<IsSampleInventory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getCommissionId() != null, IsSampleInventory::getCommissionId, bo.getCommissionId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), IsSampleInventory::getLocation, bo.getLocation());
|
||||
lqw.eq(bo.getCurrentQuantity() != null, IsSampleInventory::getCurrentQuantity, bo.getCurrentQuantity());
|
||||
lqw.eq(bo.getStorageTime() != null, IsSampleInventory::getStorageTime, bo.getStorageTime());
|
||||
lqw.eq(bo.getExpirationDate() != null, IsSampleInventory::getExpirationDate, bo.getExpirationDate());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), IsSampleInventory::getStatus, bo.getStatus());
|
||||
lqw.eq(bo.getOperatorId() != null, IsSampleInventory::getOperatorId, bo.getOperatorId());
|
||||
lqw.eq(bo.getLastUpdate() != null, IsSampleInventory::getLastUpdate, bo.getLastUpdate());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增样品库存表
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(IsSampleInventoryBo bo) {
|
||||
IsSampleInventory add = BeanUtil.toBean(bo, IsSampleInventory.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setSampleId(add.getSampleId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改样品库存表
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(IsSampleInventoryBo bo) {
|
||||
IsSampleInventory update = BeanUtil.toBean(bo, IsSampleInventory.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(IsSampleInventory entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除样品库存表
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?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.klp.mes.is.mapper.IsInspectionCommissionMapper">
|
||||
|
||||
<resultMap type="com.klp.mes.is.domain.IsInspectionCommission" id="IsInspectionCommissionResult">
|
||||
<result property="commissionId" column="commission_id"/>
|
||||
<result property="commissionNo" column="commission_no"/>
|
||||
<result property="clientId" column="client_id"/>
|
||||
<result property="sampleName" column="sample_name"/>
|
||||
<result property="sampleType" column="sample_type"/>
|
||||
<result property="quantity" column="quantity"/>
|
||||
<result property="inspectionItems" column="inspection_items"/>
|
||||
<result property="commissionDate" column="commission_date"/>
|
||||
<result property="deadline" column="deadline"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?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.klp.mes.is.mapper.IsInspectionTaskMapper">
|
||||
|
||||
<resultMap type="com.klp.mes.is.domain.IsInspectionTask" id="IsInspectionTaskResult">
|
||||
<result property="taskId" column="task_id"/>
|
||||
<result property="taskNo" column="task_no"/>
|
||||
<result property="commissionId" column="commission_id"/>
|
||||
<result property="assignedTo" column="assigned_to"/>
|
||||
<result property="startTime" column="start_time"/>
|
||||
<result property="endTime" column="end_time"/>
|
||||
<result property="result" column="result"/>
|
||||
<result property="conclusion" column="conclusion"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="priority" column="priority"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
<select id="selectVoPagePlus" resultType="com.klp.mes.is.domain.vo.IsInspectionTaskVo">
|
||||
SELECT
|
||||
t.task_id,
|
||||
t.task_no,
|
||||
t.commission_id,
|
||||
c.commission_no,
|
||||
t.assigned_to,
|
||||
t.start_time,
|
||||
t.end_time,
|
||||
t.result,
|
||||
t.conclusion,
|
||||
t.status,
|
||||
t.priority,
|
||||
t.del_flag,
|
||||
t.create_time,
|
||||
t.create_by,
|
||||
t.update_time,
|
||||
t.update_by,
|
||||
t.remark
|
||||
FROM is_inspection_task t
|
||||
LEFT JOIN is_inspection_commission c ON t.commission_id = c.commission_id AND c.del_flag = 0
|
||||
<where>
|
||||
t.del_flag = 0
|
||||
<if test="taskNo != null and taskNo != ''">
|
||||
AND t.task_no = #{taskNo}
|
||||
</if>
|
||||
<if test="commissionId != null">
|
||||
AND t.commission_id = #{commissionId}
|
||||
</if>
|
||||
<if test="assignedTo != null">
|
||||
AND t.assigned_to = #{assignedTo}
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
AND t.start_time = #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND t.end_time = #{endTime}
|
||||
</if>
|
||||
<if test="result != null and result != ''">
|
||||
AND t.result = #{result}
|
||||
</if>
|
||||
<if test="conclusion != null and conclusion != ''">
|
||||
AND t.conclusion = #{conclusion}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND t.status = #{status}
|
||||
</if>
|
||||
<if test="priority != null">
|
||||
AND t.priority = #{priority}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?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.klp.mes.is.mapper.IsSampleInventoryMapper">
|
||||
|
||||
<resultMap type="com.klp.mes.is.domain.IsSampleInventory" id="IsSampleInventoryResult">
|
||||
<result property="sampleId" column="sample_id"/>
|
||||
<result property="commissionId" column="commission_id"/>
|
||||
<result property="location" column="location"/>
|
||||
<result property="currentQuantity" column="current_quantity"/>
|
||||
<result property="storageTime" column="storage_time"/>
|
||||
<result property="expirationDate" column="expiration_date"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="operatorId" column="operator_id"/>
|
||||
<result property="lastUpdate" column="last_update"/>
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="remark" column="remark"/>
|
||||
</resultMap>
|
||||
<select id="selectVoPagePlus" resultType="com.klp.mes.is.domain.vo.IsSampleInventoryVo">
|
||||
SELECT
|
||||
s.sample_id,
|
||||
s.commission_id,
|
||||
c.commission_no,
|
||||
s.location,
|
||||
s.current_quantity,
|
||||
s.storage_time,
|
||||
s.expiration_date,
|
||||
s.status,
|
||||
s.operator_id,
|
||||
s.last_update,
|
||||
s.del_flag,
|
||||
s.create_time,
|
||||
s.create_by,
|
||||
s.update_time,
|
||||
s.update_by,
|
||||
s.remark
|
||||
FROM is_sample_inventory s
|
||||
LEFT JOIN is_inspection_commission c ON s.commission_id = c.commission_id AND c.del_flag = 0
|
||||
<where>
|
||||
s.del_flag = 0
|
||||
<if test="commissionId != null">
|
||||
AND s.commission_id = #{commissionId}
|
||||
</if>
|
||||
<if test="location != null and location != ''">
|
||||
AND s.location = #{location}
|
||||
</if>
|
||||
<if test="currentQuantity != null">
|
||||
AND s.current_quantity = #{currentQuantity}
|
||||
</if>
|
||||
<if test="storageTime != null">
|
||||
AND s.storage_time = #{storageTime}
|
||||
</if>
|
||||
<if test="expirationDate != null">
|
||||
AND s.expiration_date = #{expirationDate}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
AND s.status = #{status}
|
||||
</if>
|
||||
<if test="operatorId != null">
|
||||
AND s.operator_id = #{operatorId}
|
||||
</if>
|
||||
<if test="lastUpdate != null">
|
||||
AND s.last_update = #{lastUpdate}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user