From e1b6e08dd8687330f63b20c28679f2d734986d85 Mon Sep 17 00:00:00 2001 From: userName <244140623@qq.com> Date: Wed, 21 Feb 2024 09:08:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MesPlanRecordController.java | 108 +++++++++++++++++ .../com/ruoyi/mts/domain/MesPlanRecord.java | 58 +++++++++ .../ruoyi/mts/domain/bo/MesPlanRecordBo.java | 63 ++++++++++ .../ruoyi/mts/domain/vo/MesPlanRecordVo.java | 63 ++++++++++ .../ruoyi/mts/mapper/MesPlanRecordMapper.java | 15 +++ .../mts/service/IMesPlanRecordService.java | 49 ++++++++ .../impl/MesPlanRecordServiceImpl.java | 112 ++++++++++++++++++ .../mapper/mts/MesPlanRecordMapper.xml | 22 ++++ .../src/views/mts/planDetail/index.vue | 83 +++++++++---- 9 files changed, 547 insertions(+), 26 deletions(-) create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/controller/MesPlanRecordController.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanRecord.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanRecordBo.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanRecordVo.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanRecordMapper.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/service/IMesPlanRecordService.java create mode 100644 ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanRecordServiceImpl.java create mode 100644 ruoyi-demo/src/main/resources/mapper/mts/MesPlanRecordMapper.xml diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/controller/MesPlanRecordController.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/controller/MesPlanRecordController.java new file mode 100644 index 0000000..848abfd --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/controller/MesPlanRecordController.java @@ -0,0 +1,108 @@ +package com.ruoyi.mts.controller; + +import java.util.List; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.core.validate.QueryGroup; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.mts.domain.vo.MesPlanRecordVo; +import com.ruoyi.mts.domain.bo.MesPlanRecordBo; +import com.ruoyi.mts.service.IMesPlanRecordService; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 生产计划明细日期记录 + * + * @author jiangzhe + * @date 2024-02-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/mts/planRecord") +public class MesPlanRecordController extends BaseController { + + private final IMesPlanRecordService iMesPlanRecordService; + + /** + * 查询生产计划明细日期记录列表 + */ + @SaCheckPermission("mts:planRecord:list") + @GetMapping("/list") + public TableDataInfo list(MesPlanRecordBo bo, PageQuery pageQuery) { + return iMesPlanRecordService.queryPageList(bo, pageQuery); + } + + /** + * 导出生产计划明细日期记录列表 + */ + @SaCheckPermission("mts:planRecord:export") + @Log(title = "生产计划明细日期记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(MesPlanRecordBo bo, HttpServletResponse response) { + List list = iMesPlanRecordService.queryList(bo); + ExcelUtil.exportExcel(list, "生产计划明细日期记录", MesPlanRecordVo.class, response); + } + + /** + * 获取生产计划明细日期记录详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("mts:planRecord:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(iMesPlanRecordService.queryById(id)); + } + + /** + * 新增生产计划明细日期记录 + */ + @SaCheckPermission("mts:planRecord:add") + @Log(title = "生产计划明细日期记录", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody MesPlanRecordBo bo) { + return toAjax(iMesPlanRecordService.insertByBo(bo)); + } + + /** + * 修改生产计划明细日期记录 + */ + @SaCheckPermission("mts:planRecord:edit") + @Log(title = "生产计划明细日期记录", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody MesPlanRecordBo bo) { + return toAjax(iMesPlanRecordService.updateByBo(bo)); + } + + /** + * 删除生产计划明细日期记录 + * + * @param ids 主键串 + */ + @SaCheckPermission("mts:planRecord:remove") + @Log(title = "生产计划明细日期记录", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(iMesPlanRecordService.deleteWithValidByIds(Arrays.asList(ids), true)); + } +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanRecord.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanRecord.java new file mode 100644 index 0000000..672d958 --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/MesPlanRecord.java @@ -0,0 +1,58 @@ +package com.ruoyi.mts.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 生产计划明细日期记录对象 mes_plan_record + * + * @author jiangzhe + * @date 2024-02-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("mes_plan_record") +public class MesPlanRecord extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + /** + * 任务id + */ + private Long detailId; + /** + * 备注 + */ + private String remark; + /** + * 开始时间 + */ + private Date startDate; + /** + * 结束时间 + */ + private Date endDate; + /** + * oss_id + */ + private Long ossId; + /** + * 删除标志(0存在,2删除) + */ + @TableLogic + private String delFlag; + +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanRecordBo.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanRecordBo.java new file mode 100644 index 0000000..55e1377 --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/bo/MesPlanRecordBo.java @@ -0,0 +1,63 @@ +package com.ruoyi.mts.domain.bo; + +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.util.Date; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 生产计划明细日期记录业务对象 mes_plan_record + * + * @author jiangzhe + * @date 2024-02-20 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class MesPlanRecordBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 任务id + */ + @NotNull(message = "任务id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long detailId; + + /** + * 备注 + */ + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) + private String remark; + + /** + * 开始时间 + */ + @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date startDate; + + /** + * 结束时间 + */ + @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date endDate; + + /** + * oss_id + */ + @NotNull(message = "oss_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long ossId; + + +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanRecordVo.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanRecordVo.java new file mode 100644 index 0000000..3b28c00 --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/domain/vo/MesPlanRecordVo.java @@ -0,0 +1,63 @@ +package com.ruoyi.mts.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.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; +import lombok.Data; +import java.util.Date; + +import java.io.Serializable; + +/** + * 生产计划明细日期记录视图对象 mes_plan_record + * + * @author jiangzhe + * @date 2024-02-20 + */ +@Data +@ExcelIgnoreUnannotated +public class MesPlanRecordVo implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 任务id + */ + @ExcelProperty(value = "任务id") + private Long detailId; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 开始时间 + */ + @ExcelProperty(value = "开始时间") + private Date startDate; + + /** + * 结束时间 + */ + @ExcelProperty(value = "结束时间") + private Date endDate; + + /** + * oss_id + */ + @ExcelProperty(value = "oss_id") + private Long ossId; + + +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanRecordMapper.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanRecordMapper.java new file mode 100644 index 0000000..05dea5a --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/mapper/MesPlanRecordMapper.java @@ -0,0 +1,15 @@ +package com.ruoyi.mts.mapper; + +import com.ruoyi.mts.domain.MesPlanRecord; +import com.ruoyi.mts.domain.vo.MesPlanRecordVo; +import com.ruoyi.common.core.mapper.BaseMapperPlus; + +/** + * 生产计划明细日期记录Mapper接口 + * + * @author jiangzhe + * @date 2024-02-20 + */ +public interface MesPlanRecordMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/service/IMesPlanRecordService.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/IMesPlanRecordService.java new file mode 100644 index 0000000..1afe01d --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/IMesPlanRecordService.java @@ -0,0 +1,49 @@ +package com.ruoyi.mts.service; + +import com.ruoyi.mts.domain.MesPlanRecord; +import com.ruoyi.mts.domain.vo.MesPlanRecordVo; +import com.ruoyi.mts.domain.bo.MesPlanRecordBo; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 生产计划明细日期记录Service接口 + * + * @author jiangzhe + * @date 2024-02-20 + */ +public interface IMesPlanRecordService { + + /** + * 查询生产计划明细日期记录 + */ + MesPlanRecordVo queryById(Long id); + + /** + * 查询生产计划明细日期记录列表 + */ + TableDataInfo queryPageList(MesPlanRecordBo bo, PageQuery pageQuery); + + /** + * 查询生产计划明细日期记录列表 + */ + List queryList(MesPlanRecordBo bo); + + /** + * 新增生产计划明细日期记录 + */ + Boolean insertByBo(MesPlanRecordBo bo); + + /** + * 修改生产计划明细日期记录 + */ + Boolean updateByBo(MesPlanRecordBo bo); + + /** + * 校验并批量删除生产计划明细日期记录信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanRecordServiceImpl.java b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanRecordServiceImpl.java new file mode 100644 index 0000000..ac27ad6 --- /dev/null +++ b/ruoyi-demo/src/main/java/com/ruoyi/mts/service/impl/MesPlanRecordServiceImpl.java @@ -0,0 +1,112 @@ +package com.ruoyi.mts.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.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 lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.ruoyi.mts.domain.bo.MesPlanRecordBo; +import com.ruoyi.mts.domain.vo.MesPlanRecordVo; +import com.ruoyi.mts.domain.MesPlanRecord; +import com.ruoyi.mts.mapper.MesPlanRecordMapper; +import com.ruoyi.mts.service.IMesPlanRecordService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 生产计划明细日期记录Service业务层处理 + * + * @author jiangzhe + * @date 2024-02-20 + */ +@RequiredArgsConstructor +@Service +public class MesPlanRecordServiceImpl implements IMesPlanRecordService { + + private final MesPlanRecordMapper baseMapper; + + /** + * 查询生产计划明细日期记录 + */ + @Override + public MesPlanRecordVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询生产计划明细日期记录列表 + */ + @Override + public TableDataInfo queryPageList(MesPlanRecordBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询生产计划明细日期记录列表 + */ + @Override + public List queryList(MesPlanRecordBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(MesPlanRecordBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getDetailId() != null, MesPlanRecord::getDetailId, bo.getDetailId()); + lqw.eq(bo.getStartDate() != null, MesPlanRecord::getStartDate, bo.getStartDate()); + lqw.eq(bo.getEndDate() != null, MesPlanRecord::getEndDate, bo.getEndDate()); + lqw.eq(bo.getOssId() != null, MesPlanRecord::getOssId, bo.getOssId()); + return lqw; + } + + /** + * 新增生产计划明细日期记录 + */ + @Override + public Boolean insertByBo(MesPlanRecordBo bo) { + MesPlanRecord add = BeanUtil.toBean(bo, MesPlanRecord.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改生产计划明细日期记录 + */ + @Override + public Boolean updateByBo(MesPlanRecordBo bo) { + MesPlanRecord update = BeanUtil.toBean(bo, MesPlanRecord.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(MesPlanRecord entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除生产计划明细日期记录 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-demo/src/main/resources/mapper/mts/MesPlanRecordMapper.xml b/ruoyi-demo/src/main/resources/mapper/mts/MesPlanRecordMapper.xml new file mode 100644 index 0000000..a82887c --- /dev/null +++ b/ruoyi-demo/src/main/resources/mapper/mts/MesPlanRecordMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue b/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue index b1008b5..078a041 100644 --- a/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue +++ b/ruoyi-ui-vue3/src/views/mts/planDetail/index.vue @@ -30,14 +30,29 @@ - - + +