add(mes): 添加生产投入和产出扫描信息功能

- 新增生产投入扫描信息相关实体、控制器、服务和映射器
- 新增生产产出扫描信息相关实体、控制器、服务和映射器
- 实现了生产投入和产出扫描信息的增删改查功能
- 添加了生产投入和产出扫描信息的导出功能
master
zch 4 months ago
parent f9007e08a8
commit d238ecb502

@ -0,0 +1,117 @@
package org.dromara.mes.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.mes.domain.vo.ProdInputScanInfoVo;
import org.dromara.mes.domain.bo.ProdInputScanInfoBo;
import org.dromara.mes.service.IProdInputScanInfoService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/mes/prodInputScanInfo
*
* @author zch
* @date 2025-03-05
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/prodInputScanInfo")
public class ProdInputScanInfoController extends BaseController {
private final IProdInputScanInfoService prodInputScanInfoService;
/**
*
*/
@SaCheckPermission("mes:prodInputScanInfo:list")
@GetMapping("/list")
public TableDataInfo<ProdInputScanInfoVo> list(ProdInputScanInfoBo bo, PageQuery pageQuery) {
return prodInputScanInfoService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("mes:prodInputScanInfo:export")
@Log(title = "生产投入扫描信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ProdInputScanInfoBo bo, HttpServletResponse response) {
List<ProdInputScanInfoVo> list = prodInputScanInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "生产投入扫描信息", ProdInputScanInfoVo.class, response);
}
/**
*
*
* @param prodInputScanInfoId
*/
@SaCheckPermission("mes:prodInputScanInfo:query")
@GetMapping("/{prodInputScanInfoId}")
public R<ProdInputScanInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long prodInputScanInfoId) {
return R.ok(prodInputScanInfoService.queryById(prodInputScanInfoId));
}
/**
*
*/
@SaCheckPermission("mes:prodInputScanInfo:add")
@Log(title = "生产投入扫描信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ProdInputScanInfoBo bo) {
return toAjax(prodInputScanInfoService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("mes:prodInputScanInfo:edit")
@Log(title = "生产投入扫描信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProdInputScanInfoBo bo) {
return toAjax(prodInputScanInfoService.updateByBo(bo));
}
/**
*
*
* @param prodInputScanInfoIds
*/
@SaCheckPermission("mes:prodInputScanInfo:remove")
@Log(title = "生产投入扫描信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{prodInputScanInfoIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] prodInputScanInfoIds) {
return toAjax(prodInputScanInfoService.deleteWithValidByIds(List.of(prodInputScanInfoIds), true));
}
/**
*
*/
@GetMapping("/getProdInputScanInfoList")
public R<List<ProdInputScanInfoVo>> getProdInputScanInfoList(ProdInputScanInfoBo bo) {
List<ProdInputScanInfoVo> list = prodInputScanInfoService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.mes.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.mes.domain.vo.ProdOutputScanInfoVo;
import org.dromara.mes.domain.bo.ProdOutputScanInfoBo;
import org.dromara.mes.service.IProdOutputScanInfoService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/mes/prodOutputScanInfo
*
* @author LionLi
* @date 2025-03-05
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/prodOutputScanInfo")
public class ProdOutputScanInfoController extends BaseController {
private final IProdOutputScanInfoService prodOutputScanInfoService;
/**
*
*/
@SaCheckPermission("mes:prodOutputScanInfo:list")
@GetMapping("/list")
public TableDataInfo<ProdOutputScanInfoVo> list(ProdOutputScanInfoBo bo, PageQuery pageQuery) {
return prodOutputScanInfoService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("mes:prodOutputScanInfo:export")
@Log(title = "生产产出扫描信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ProdOutputScanInfoBo bo, HttpServletResponse response) {
List<ProdOutputScanInfoVo> list = prodOutputScanInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "生产产出扫描信息", ProdOutputScanInfoVo.class, response);
}
/**
*
*
* @param prodOutputScanInfoId
*/
@SaCheckPermission("mes:prodOutputScanInfo:query")
@GetMapping("/{prodOutputScanInfoId}")
public R<ProdOutputScanInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long prodOutputScanInfoId) {
return R.ok(prodOutputScanInfoService.queryById(prodOutputScanInfoId));
}
/**
*
*/
@SaCheckPermission("mes:prodOutputScanInfo:add")
@Log(title = "生产产出扫描信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ProdOutputScanInfoBo bo) {
return toAjax(prodOutputScanInfoService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("mes:prodOutputScanInfo:edit")
@Log(title = "生产产出扫描信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProdOutputScanInfoBo bo) {
return toAjax(prodOutputScanInfoService.updateByBo(bo));
}
/**
*
*
* @param prodOutputScanInfoIds
*/
@SaCheckPermission("mes:prodOutputScanInfo:remove")
@Log(title = "生产产出扫描信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{prodOutputScanInfoIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] prodOutputScanInfoIds) {
return toAjax(prodOutputScanInfoService.deleteWithValidByIds(List.of(prodOutputScanInfoIds), true));
}
/**
*
*/
@GetMapping("/getProdOutputScanInfoList")
public R<List<ProdOutputScanInfoVo>> getProdOutputScanInfoList(ProdOutputScanInfoBo bo) {
List<ProdOutputScanInfoVo> list = prodOutputScanInfoService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,117 @@
package org.dromara.mes.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.mes.domain.vo.ProdShiftChangeVo;
import org.dromara.mes.domain.bo.ProdShiftChangeBo;
import org.dromara.mes.service.IProdShiftChangeService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/mes/prodShiftChange
*
* @author zch
* @date 2025-03-05
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/prodShiftChange")
public class ProdShiftChangeController extends BaseController {
private final IProdShiftChangeService prodShiftChangeService;
/**
*
*/
@SaCheckPermission("mes:prodShiftChange:list")
@GetMapping("/list")
public TableDataInfo<ProdShiftChangeVo> list(ProdShiftChangeBo bo, PageQuery pageQuery) {
return prodShiftChangeService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("mes:prodShiftChange:export")
@Log(title = "交接班信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ProdShiftChangeBo bo, HttpServletResponse response) {
List<ProdShiftChangeVo> list = prodShiftChangeService.queryList(bo);
ExcelUtil.exportExcel(list, "交接班信息", ProdShiftChangeVo.class, response);
}
/**
*
*
* @param shiftChangeId
*/
@SaCheckPermission("mes:prodShiftChange:query")
@GetMapping("/{shiftChangeId}")
public R<ProdShiftChangeVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long shiftChangeId) {
return R.ok(prodShiftChangeService.queryById(shiftChangeId));
}
/**
*
*/
@SaCheckPermission("mes:prodShiftChange:add")
@Log(title = "交接班信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody ProdShiftChangeBo bo) {
return toAjax(prodShiftChangeService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("mes:prodShiftChange:edit")
@Log(title = "交接班信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody ProdShiftChangeBo bo) {
return toAjax(prodShiftChangeService.updateByBo(bo));
}
/**
*
*
* @param shiftChangeIds
*/
@SaCheckPermission("mes:prodShiftChange:remove")
@Log(title = "交接班信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{shiftChangeIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] shiftChangeIds) {
return toAjax(prodShiftChangeService.deleteWithValidByIds(List.of(shiftChangeIds), true));
}
/**
*
*/
@GetMapping("/getProdShiftChangeList")
public R<List<ProdShiftChangeVo>> getProdShiftChangeList(ProdShiftChangeBo bo) {
List<ProdShiftChangeVo> list = prodShiftChangeService.queryList(bo);
return R.ok(list);
}
}

@ -0,0 +1,76 @@
package org.dromara.mes.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* prod_input_scan_info
*
* @author zch
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("prod_input_scan_info")
public class ProdInputScanInfo extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "prod_input_scan_info_id", type = IdType.AUTO)
private Long prodInputScanInfoId;
/**
* ID
*/
private Long processId;
/**
* ID
*/
private Long machineId;
/**
*
*/
private String vulcanizedBarcode;
/**
*
*/
private String embryoBarcode;
/**
*
*/
private Long toolId;
/**
* ID
*/
private Long materielId;
/**
*
*/
private String scanResult;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,71 @@
package org.dromara.mes.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* prod_output_scan_info
*
* @author LionLi
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("prod_output_scan_info")
public class ProdOutputScanInfo extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "prod_output_scan_info_id", type = IdType.AUTO)
private Long prodOutputScanInfoId;
/**
* ID
*/
private Long processId;
/**
* ID
*/
private Long machineId;
/**
*
*/
private String embryoBarcode;
/**
* ID
*/
private Long toolingId;
/**
* ID
*/
private Long materielId;
/**
*
*/
private String scanResult;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,69 @@
package org.dromara.mes.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial;
import java.util.Date;
/**
* prod_shift_change
*
* @author zch
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("prod_shift_change")
public class ProdShiftChange extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "shift_change_id", type = IdType.AUTO)
private Long shiftChangeId;
/**
*
*/
private Date shiftChangeTime;
/**
* ID
*/
private Long machineId;
/**
* ID
*/
private Long shiftId;
/**
* ID
*/
private Long classTeamId;
/**
* ID
*/
private Long userId;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,74 @@
package org.dromara.mes.domain.bo;
import org.dromara.mes.domain.ProdInputScanInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* prod_input_scan_info
*
* @author zch
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ProdInputScanInfo.class, reverseConvertGenerate = false)
public class ProdInputScanInfoBo extends BaseEntity {
/**
*
*/
private Long prodInputScanInfoId;
/**
* ID
*/
private Long processId;
/**
* ID
*/
private Long machineId;
/**
*
*/
private String vulcanizedBarcode;
/**
*
*/
private String embryoBarcode;
/**
*
*/
private Long toolId;
/**
* ID
*/
private Long materielId;
/**
*
*/
private String scanResult;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,69 @@
package org.dromara.mes.domain.bo;
import org.dromara.mes.domain.ProdOutputScanInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* prod_output_scan_info
*
* @author LionLi
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ProdOutputScanInfo.class, reverseConvertGenerate = false)
public class ProdOutputScanInfoBo extends BaseEntity {
/**
*
*/
private Long prodOutputScanInfoId;
/**
* ID
*/
private Long processId;
/**
* ID
*/
private Long machineId;
/**
*
*/
private String embryoBarcode;
/**
* ID
*/
private Long toolingId;
/**
* ID
*/
private Long materielId;
/**
*
*/
private String scanResult;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,66 @@
package org.dromara.mes.domain.bo;
import org.dromara.mes.domain.ProdShiftChange;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* prod_shift_change
*
* @author zch
* @date 2025-03-05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ProdShiftChange.class, reverseConvertGenerate = false)
public class ProdShiftChangeBo extends BaseEntity {
/**
*
*/
private Long shiftChangeId;
/**
*
*/
private Date shiftChangeTime;
/**
* ID
*/
private Long machineId;
/**
* ID
*/
private Long shiftId;
/**
* ID
*/
private Long classTeamId;
/**
* ID
*/
private Long userId;
/**
*
*/
private String userName;
/**
*
*/
private String remark;
}

@ -0,0 +1,92 @@
package org.dromara.mes.domain.vo;
import org.dromara.mes.domain.ProdInputScanInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* prod_input_scan_info
*
* @author zch
* @date 2025-03-05
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ProdInputScanInfo.class)
public class ProdInputScanInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "主键标识")
private Long prodInputScanInfoId;
/**
* ID
*/
@ExcelProperty(value = "工序ID")
private Long processId;
/**
* ID
*/
@ExcelProperty(value = "机台ID")
private Long machineId;
/**
*
*/
@ExcelProperty(value = "硫化条码")
private String vulcanizedBarcode;
/**
*
*/
@ExcelProperty(value = "胎胚条码")
private String embryoBarcode;
/**
*
*/
@ExcelProperty(value = "生产工具")
private Long toolId;
/**
* ID
*/
@ExcelProperty(value = "物料ID")
private Long materielId;
/**
*
*/
@ExcelProperty(value = "扫描结果")
private String scanResult;
/**
*
*/
@ExcelProperty(value = "记录人名称")
private String userName;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,83 @@
package org.dromara.mes.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.mes.domain.ProdOutputScanInfo;
import java.io.Serial;
import java.io.Serializable;
/**
* prod_output_scan_info
*
* @author LionLi
* @date 2025-03-05
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ProdOutputScanInfo.class)
public class ProdOutputScanInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "主键标识")
private Long prodOutputScanInfoId;
/**
* ID
*/
@ExcelProperty(value = "工序ID")
private Long processId;
/**
* ID
*/
@ExcelProperty(value = "机台ID")
private Long machineId;
/**
*
*/
@ExcelProperty(value = "胎胚条码")
private String embryoBarcode;
/**
* ID
*/
@ExcelProperty(value = "工装ID")
private Long toolingId;
/**
* ID
*/
@ExcelProperty(value = "物料ID")
private Long materielId;
/**
*
*/
@ExcelProperty(value = "扫描结果")
private String scanResult;
/**
*
*/
@ExcelProperty(value = "记录人名称")
private String userName;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,78 @@
package org.dromara.mes.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.mes.domain.ProdShiftChange;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* prod_shift_change
*
* @author zch
* @date 2025-03-05
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ProdShiftChange.class)
public class ProdShiftChangeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "主键标识")
private Long shiftChangeId;
/**
*
*/
@ExcelProperty(value = "接班时间")
private Date shiftChangeTime;
/**
* ID
*/
@ExcelProperty(value = "机台ID")
private Long machineId;
/**
* ID
*/
@ExcelProperty(value = "班次ID")
private Long shiftId;
/**
* ID
*/
@ExcelProperty(value = "班组ID")
private Long classTeamId;
/**
* ID
*/
@ExcelProperty(value = "接班人ID")
private Long userId;
/**
*
*/
@ExcelProperty(value = "接班人名称")
private String userName;
/**
*
*/
@ExcelProperty(value = "备注")
private String remark;
}

@ -0,0 +1,15 @@
package org.dromara.mes.mapper;
import org.dromara.mes.domain.ProdInputScanInfo;
import org.dromara.mes.domain.vo.ProdInputScanInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author zch
* @date 2025-03-05
*/
public interface ProdInputScanInfoMapper extends BaseMapperPlus<ProdInputScanInfo, ProdInputScanInfoVo> {
}

@ -0,0 +1,15 @@
package org.dromara.mes.mapper;
import org.dromara.mes.domain.ProdOutputScanInfo;
import org.dromara.mes.domain.vo.ProdOutputScanInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author LionLi
* @date 2025-03-05
*/
public interface ProdOutputScanInfoMapper extends BaseMapperPlus<ProdOutputScanInfo, ProdOutputScanInfoVo> {
}

@ -0,0 +1,15 @@
package org.dromara.mes.mapper;
import org.dromara.mes.domain.ProdShiftChange;
import org.dromara.mes.domain.vo.ProdShiftChangeVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author zch
* @date 2025-03-05
*/
public interface ProdShiftChangeMapper extends BaseMapperPlus<ProdShiftChange, ProdShiftChangeVo> {
}

@ -0,0 +1,69 @@
package org.dromara.mes.service;
import org.dromara.mes.domain.ProdInputScanInfo;
import org.dromara.mes.domain.vo.ProdInputScanInfoVo;
import org.dromara.mes.domain.bo.ProdInputScanInfoBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author zch
* @date 2025-03-05
*/
public interface IProdInputScanInfoService {
/**
*
*
* @param prodInputScanInfoId
* @return
*/
ProdInputScanInfoVo queryById(Long prodInputScanInfoId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<ProdInputScanInfoVo> queryPageList(ProdInputScanInfoBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<ProdInputScanInfoVo> queryList(ProdInputScanInfoBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(ProdInputScanInfoBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(ProdInputScanInfoBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.mes.service;
import org.dromara.mes.domain.ProdOutputScanInfo;
import org.dromara.mes.domain.vo.ProdOutputScanInfoVo;
import org.dromara.mes.domain.bo.ProdOutputScanInfoBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author LionLi
* @date 2025-03-05
*/
public interface IProdOutputScanInfoService {
/**
*
*
* @param prodOutputScanInfoId
* @return
*/
ProdOutputScanInfoVo queryById(Long prodOutputScanInfoId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<ProdOutputScanInfoVo> queryPageList(ProdOutputScanInfoBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<ProdOutputScanInfoVo> queryList(ProdOutputScanInfoBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(ProdOutputScanInfoBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(ProdOutputScanInfoBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,69 @@
package org.dromara.mes.service;
import org.dromara.mes.domain.ProdShiftChange;
import org.dromara.mes.domain.vo.ProdShiftChangeVo;
import org.dromara.mes.domain.bo.ProdShiftChangeBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author zch
* @date 2025-03-05
*/
public interface IProdShiftChangeService {
/**
*
*
* @param shiftChangeId
* @return
*/
ProdShiftChangeVo queryById(Long shiftChangeId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<ProdShiftChangeVo> queryPageList(ProdShiftChangeBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<ProdShiftChangeVo> queryList(ProdShiftChangeBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(ProdShiftChangeBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(ProdShiftChangeBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -0,0 +1,140 @@
package org.dromara.mes.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.mes.domain.bo.ProdInputScanInfoBo;
import org.dromara.mes.domain.vo.ProdInputScanInfoVo;
import org.dromara.mes.domain.ProdInputScanInfo;
import org.dromara.mes.mapper.ProdInputScanInfoMapper;
import org.dromara.mes.service.IProdInputScanInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author zch
* @date 2025-03-05
*/
@RequiredArgsConstructor
@Service
public class ProdInputScanInfoServiceImpl implements IProdInputScanInfoService {
private final ProdInputScanInfoMapper baseMapper;
/**
*
*
* @param prodInputScanInfoId
* @return
*/
@Override
public ProdInputScanInfoVo queryById(Long prodInputScanInfoId){
return baseMapper.selectVoById(prodInputScanInfoId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<ProdInputScanInfoVo> queryPageList(ProdInputScanInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ProdInputScanInfo> lqw = buildQueryWrapper(bo);
Page<ProdInputScanInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<ProdInputScanInfoVo> queryList(ProdInputScanInfoBo bo) {
MPJLambdaWrapper<ProdInputScanInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<ProdInputScanInfo> buildQueryWrapper(ProdInputScanInfoBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<ProdInputScanInfo> lqw = JoinWrappers.lambda(ProdInputScanInfo.class)
.selectAll(ProdInputScanInfo.class)
.eq(bo.getProdInputScanInfoId() != null, ProdInputScanInfo::getProdInputScanInfoId, bo.getProdInputScanInfoId())
.eq(bo.getProcessId() != null, ProdInputScanInfo::getProcessId, bo.getProcessId())
.eq(bo.getMachineId() != null, ProdInputScanInfo::getMachineId, bo.getMachineId())
.eq(StringUtils.isNotBlank(bo.getVulcanizedBarcode()), ProdInputScanInfo::getVulcanizedBarcode, bo.getVulcanizedBarcode())
.eq(StringUtils.isNotBlank(bo.getEmbryoBarcode()), ProdInputScanInfo::getEmbryoBarcode, bo.getEmbryoBarcode())
.eq(bo.getToolId() != null, ProdInputScanInfo::getToolId, bo.getToolId())
.eq(bo.getMaterielId() != null, ProdInputScanInfo::getMaterielId, bo.getMaterielId())
.eq(StringUtils.isNotBlank(bo.getScanResult()), ProdInputScanInfo::getScanResult, bo.getScanResult())
.like(StringUtils.isNotBlank(bo.getUserName()), ProdInputScanInfo::getUserName, bo.getUserName())
.orderByDesc(ProdInputScanInfo::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(ProdInputScanInfoBo bo) {
ProdInputScanInfo add = MapstructUtils.convert(bo, ProdInputScanInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setProdInputScanInfoId(add.getProdInputScanInfoId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(ProdInputScanInfoBo bo) {
ProdInputScanInfo update = MapstructUtils.convert(bo, ProdInputScanInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(ProdInputScanInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,139 @@
package org.dromara.mes.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.mes.domain.bo.ProdOutputScanInfoBo;
import org.dromara.mes.domain.vo.ProdOutputScanInfoVo;
import org.dromara.mes.domain.ProdOutputScanInfo;
import org.dromara.mes.mapper.ProdOutputScanInfoMapper;
import org.dromara.mes.service.IProdOutputScanInfoService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author LionLi
* @date 2025-03-05
*/
@RequiredArgsConstructor
@Service
public class ProdOutputScanInfoServiceImpl implements IProdOutputScanInfoService {
private final ProdOutputScanInfoMapper baseMapper;
/**
*
*
* @param prodOutputScanInfoId
* @return
*/
@Override
public ProdOutputScanInfoVo queryById(Long prodOutputScanInfoId){
return baseMapper.selectVoById(prodOutputScanInfoId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<ProdOutputScanInfoVo> queryPageList(ProdOutputScanInfoBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ProdOutputScanInfo> lqw = buildQueryWrapper(bo);
Page<ProdOutputScanInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<ProdOutputScanInfoVo> queryList(ProdOutputScanInfoBo bo) {
MPJLambdaWrapper<ProdOutputScanInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<ProdOutputScanInfo> buildQueryWrapper(ProdOutputScanInfoBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<ProdOutputScanInfo> lqw = JoinWrappers.lambda(ProdOutputScanInfo.class)
.selectAll(ProdOutputScanInfo.class)
.eq(bo.getProdOutputScanInfoId() != null, ProdOutputScanInfo::getProdOutputScanInfoId, bo.getProdOutputScanInfoId())
.eq(bo.getProcessId() != null, ProdOutputScanInfo::getProcessId, bo.getProcessId())
.eq(bo.getMachineId() != null, ProdOutputScanInfo::getMachineId, bo.getMachineId())
.eq(StringUtils.isNotBlank(bo.getEmbryoBarcode()), ProdOutputScanInfo::getEmbryoBarcode, bo.getEmbryoBarcode())
.eq(bo.getToolingId() != null, ProdOutputScanInfo::getToolingId, bo.getToolingId())
.eq(bo.getMaterielId() != null, ProdOutputScanInfo::getMaterielId, bo.getMaterielId())
.eq(StringUtils.isNotBlank(bo.getScanResult()), ProdOutputScanInfo::getScanResult, bo.getScanResult())
.like(StringUtils.isNotBlank(bo.getUserName()), ProdOutputScanInfo::getUserName, bo.getUserName())
.orderByDesc(ProdOutputScanInfo::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(ProdOutputScanInfoBo bo) {
ProdOutputScanInfo add = MapstructUtils.convert(bo, ProdOutputScanInfo.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setProdOutputScanInfoId(add.getProdOutputScanInfoId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(ProdOutputScanInfoBo bo) {
ProdOutputScanInfo update = MapstructUtils.convert(bo, ProdOutputScanInfo.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(ProdOutputScanInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,142 @@
package org.dromara.mes.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.mes.domain.ProdShiftChange;
import org.dromara.mes.domain.bo.ProdShiftChangeBo;
import org.dromara.mes.domain.vo.ProdShiftChangeVo;
import org.dromara.mes.mapper.ProdShiftChangeMapper;
import org.dromara.mes.service.IProdShiftChangeService;
import org.dromara.system.api.RemoteUserService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* Service
*
* @author zch
* @date 2025-03-05
*/
@RequiredArgsConstructor
@Service
public class ProdShiftChangeServiceImpl implements IProdShiftChangeService {
private final ProdShiftChangeMapper baseMapper;
private final RemoteUserService remoteUserService;//dubbo远程调用用户服务获取用户信息
/**
*
*
* @param shiftChangeId
* @return
*/
@Override
public ProdShiftChangeVo queryById(Long shiftChangeId){
ProdShiftChangeVo prodShiftChangeVo = baseMapper.selectVoById(shiftChangeId);
return prodShiftChangeVo;
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<ProdShiftChangeVo> queryPageList(ProdShiftChangeBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<ProdShiftChange> lqw = buildQueryWrapper(bo);
Page<ProdShiftChangeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<ProdShiftChangeVo> queryList(ProdShiftChangeBo bo) {
MPJLambdaWrapper<ProdShiftChange> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<ProdShiftChange> buildQueryWrapper(ProdShiftChangeBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<ProdShiftChange> lqw = JoinWrappers.lambda(ProdShiftChange.class)
.selectAll(ProdShiftChange.class)
.eq(bo.getShiftChangeId() != null, ProdShiftChange::getShiftChangeId, bo.getShiftChangeId())
.eq(bo.getShiftChangeTime() != null, ProdShiftChange::getShiftChangeTime, bo.getShiftChangeTime())
.eq(bo.getMachineId() != null, ProdShiftChange::getMachineId, bo.getMachineId())
.eq(bo.getShiftId() != null, ProdShiftChange::getShiftId, bo.getShiftId())
.eq(bo.getClassTeamId() != null, ProdShiftChange::getClassTeamId, bo.getClassTeamId())
.eq(bo.getUserId() != null, ProdShiftChange::getUserId, bo.getUserId())
.like(StringUtils.isNotBlank(bo.getUserName()), ProdShiftChange::getUserName, bo.getUserName())
.orderByDesc(ProdShiftChange::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(ProdShiftChangeBo bo) {
ProdShiftChange add = MapstructUtils.convert(bo, ProdShiftChange.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setShiftChangeId(add.getShiftChangeId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(ProdShiftChangeBo bo) {
ProdShiftChange update = MapstructUtils.convert(bo, ProdShiftChange.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(ProdShiftChange entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -0,0 +1,7 @@
<?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="org.dromara.mes.mapper.ProdInputScanInfoMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.mes.mapper.ProdOutputScanInfoMapper">
</mapper>

@ -0,0 +1,7 @@
<?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="org.dromara.mes.mapper.ProdShiftChangeMapper">
</mapper>
Loading…
Cancel
Save