生产计划记录列表

This commit is contained in:
cjw 2024-02-22 09:02:45 +08:00
parent 6be2ec8054
commit 7a5adfa0f6
9 changed files with 95 additions and 151 deletions

View File

@ -1,18 +1,12 @@
package com.ruoyi.mts.domain; package com.ruoyi.mts.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.TreeEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; 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.TreeEntity;
/** /**
* 生产计划明细对象 mes_plan_detail * 生产计划明细对象 mes_plan_detail
* *
@ -43,30 +37,6 @@ public class MesPlanDetail extends TreeEntity<MesPlanDetail> {
* 名称 * 名称
*/ */
private String name; private String name;
/**
* 计划开始时间
*/
private Date planStartDate;
/**
* 计划结束时间
*/
private Date planEndDate;
/**
* 实际开始时间
*/
private Date actualStartDate;
/**
* 实际结束时间
*/
private Date actualEndDate;
/**
* 甘特图颜色
*/
private String ganttColor;
/** /**
* 删除标志(0存在2删除) * 删除标志(0存在2删除)
*/ */

View File

@ -1,15 +1,13 @@
package com.ruoyi.mts.domain; package com.ruoyi.mts.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* 生产计划明细日期记录对象 mes_plan_record * 生产计划明细日期记录对象 mes_plan_record
@ -22,7 +20,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
@TableName("mes_plan_record") @TableName("mes_plan_record")
public class MesPlanRecord extends BaseEntity { public class MesPlanRecord extends BaseEntity {
private static final long serialVersionUID=1L; private static final long serialVersionUID = 1L;
/** /**
* 主键 * 主键
@ -38,13 +36,9 @@ public class MesPlanRecord extends BaseEntity {
*/ */
private String remark; private String remark;
/** /**
* 开始时间 * 记录日期
*/ */
private Date startDate; private Date recordDate;
/**
* 结束时间
*/
private Date endDate;
/** /**
* oss_id * oss_id
*/ */
@ -55,4 +49,8 @@ public class MesPlanRecord extends BaseEntity {
@TableLogic @TableLogic
private String delFlag; private String delFlag;
private String ganttColor;
private String flag;
} }

View File

@ -1,19 +1,15 @@
package com.ruoyi.mts.domain.bo; package com.ruoyi.mts.domain.bo;
import com.ruoyi.common.core.domain.TreeEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.*; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.TreeEntity;
/** /**
* 生产计划明细业务对象 mes_plan_detail * 生产计划明细业务对象 mes_plan_detail
* *
@ -58,18 +54,4 @@ public class MesPlanDetailBo extends TreeEntity<MesPlanDetailBo> {
*/ */
private Date planEndDate; private Date planEndDate;
/**
* 实际开始时间
*/
private Date actualStartDate;
/**
* 实际结束时间
*/
private Date actualEndDate;
/**
* 甘特图颜色
*/
private String ganttColor;
} }

View File

@ -1,17 +1,15 @@
package com.ruoyi.mts.domain.bo; package com.ruoyi.mts.domain.bo;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* 生产计划明细日期记录业务对象 mes_plan_record * 生产计划明细日期记录业务对象 mes_plan_record
* *
@ -44,15 +42,11 @@ public class MesPlanRecordBo extends BaseEntity {
/** /**
* 开始时间 * 开始时间
*/ */
@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "记录日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date startDate; private Date recordDate;
/**
* 结束时间
*/
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date endDate;
private String flag;
/** /**
* oss_id * oss_id
*/ */

View File

@ -1,19 +1,11 @@
package com.ruoyi.mts.domain.vo; package com.ruoyi.mts.domain.vo;
import java.util.Date;
import cn.hutool.core.date.DatePattern;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data; import lombok.Data;
import org.apache.http.ssl.PrivateKeyStrategy;
import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* 生产计划明细视图对象 mes_plan_detail * 生产计划明细视图对象 mes_plan_detail
@ -56,32 +48,14 @@ public class MesPlanDetailVo implements Serializable {
@ExcelProperty(value = "名称") @ExcelProperty(value = "名称")
private String name; private String name;
/** private String flag;
* 计划开始时间
*/
@JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
private Date planStartDate;
/** private List<MesPlanRecordVo> record;
* 计划结束时间
*/
@JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
private Date planEndDate;
/** // @Override
* 实际开始时间 // protected MesPlanDetailVo clone() throws CloneNotSupportedException {
*/ // MesPlanDetailVo cloned = (MesPlanDetailVo) super.clone();
@JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN) // // 执行其他深拷贝操作复制对象的属性
private Date actualStartDate; // return cloned;
// }
/**
* 实际结束时间
*/
@JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
private Date actualEndDate;
/**
* 甘特图颜色
*/
private String ganttColor;
} }

View File

@ -3,6 +3,7 @@ package com.ruoyi.mts.mapper;
import com.ruoyi.mts.domain.MesPlanRecord; import com.ruoyi.mts.domain.MesPlanRecord;
import com.ruoyi.mts.domain.vo.MesPlanRecordVo; import com.ruoyi.mts.domain.vo.MesPlanRecordVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus; import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Mapper;
/** /**
* 生产计划明细日期记录Mapper接口 * 生产计划明细日期记录Mapper接口
@ -10,6 +11,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
* @author jiangzhe * @author jiangzhe
* @date 2024-02-20 * @date 2024-02-20
*/ */
@Mapper
public interface MesPlanRecordMapper extends BaseMapperPlus<MesPlanRecordMapper, MesPlanRecord, MesPlanRecordVo> { public interface MesPlanRecordMapper extends BaseMapperPlus<MesPlanRecordMapper, MesPlanRecord, MesPlanRecordVo> {
} }

View File

@ -2,22 +2,25 @@ package com.ruoyi.mts.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.domain.TreeEntity;
import com.ruoyi.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.mts.domain.vo.AncestorsVO; import com.ruoyi.common.core.domain.TreeEntity;
import com.ruoyi.mts.domain.vo.GanttVO; import com.ruoyi.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.mts.domain.bo.MesPlanDetailBo;
import com.ruoyi.mts.domain.vo.MesPlanDetailVo;
import com.ruoyi.mts.domain.MesPlanDetail; import com.ruoyi.mts.domain.MesPlanDetail;
import com.ruoyi.mts.domain.bo.MesPlanDetailBo;
import com.ruoyi.mts.domain.bo.MesPlanRecordBo;
import com.ruoyi.mts.domain.vo.GanttVO;
import com.ruoyi.mts.domain.vo.MesPlanDetailVo;
import com.ruoyi.mts.domain.vo.MesPlanRecordVo;
import com.ruoyi.mts.mapper.MesPlanDetailMapper; import com.ruoyi.mts.mapper.MesPlanDetailMapper;
import com.ruoyi.mts.service.IMesPlanDetailService; import com.ruoyi.mts.service.IMesPlanDetailService;
import com.ruoyi.mts.service.IMesPlanRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.*; import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
/** /**
* 生产计划明细Service业务层处理 * 生产计划明细Service业务层处理
@ -31,7 +34,9 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService {
private final MesPlanDetailMapper baseMapper; private final MesPlanDetailMapper baseMapper;
public static final String TAB_PREFIX = " "; private final IMesPlanRecordService recordService;
// public static final String TAB_PREFIX = " ";
/** /**
* 查询生产计划明细 * 查询生产计划明细
@ -50,7 +55,6 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService {
bo.setParentId(0L); bo.setParentId(0L);
LambdaQueryWrapper<MesPlanDetail> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<MesPlanDetail> lqw = buildQueryWrapper(bo);
List<MesPlanDetailVo> list = baseMapper.selectVoList(lqw); List<MesPlanDetailVo> list = baseMapper.selectVoList(lqw);
LinkedList<MesPlanDetailVo> res = new LinkedList<>(); LinkedList<MesPlanDetailVo> res = new LinkedList<>();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
MesPlanDetailVo vo = list.get(i); MesPlanDetailVo vo = list.get(i);
@ -62,7 +66,32 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService {
res.addAll(i + 1, children); res.addAll(i + 1, children);
} }
} }
return res; LinkedList<MesPlanDetailVo> data = new LinkedList<>();
for (int i = 0; i < res.size(); i++) {
//默认第一个为计划数据
MesPlanDetailVo planVo = res.get(i);
Long id = planVo.getId();
planVo.setFlag("plan");
MesPlanRecordBo record = new MesPlanRecordBo();
record.setDetailId(id);
record.setFlag("plan");
List<MesPlanRecordVo> mesPlanRecordVos = recordService.queryList(record);
planVo.setRecord(mesPlanRecordVos);
data.add(planVo);
//处理实际数据
MesPlanDetailVo actualVo = new MesPlanDetailVo();
actualVo.setId(planVo.getId());
actualVo.setName(planVo.getName());
actualVo.setAncestors(planVo.getAncestors());
actualVo.setParentId(planVo.getParentId());
actualVo.setMainId(planVo.getMainId());
actualVo.setFlag("actual");
record.setFlag("actual");
mesPlanRecordVos = recordService.queryList(record);
actualVo.setRecord(mesPlanRecordVos);
data.add(actualVo);
}
return data;
} }
/** /**
@ -73,19 +102,19 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService {
*/ */
@Override @Override
public List<GanttVO> queryGanttList(MesPlanDetailBo bo) { public List<GanttVO> queryGanttList(MesPlanDetailBo bo) {
List<GanttVO> ganttVOS = baseMapper.queryGanttList(bo); // List<GanttVO> ganttVOS = baseMapper.queryGanttList(bo);
return ganttVOS; // return ganttVOS;
return null;
} }
private LambdaQueryWrapper<MesPlanDetail> buildQueryWrapper(MesPlanDetailBo bo) { private LambdaQueryWrapper<MesPlanDetail> buildQueryWrapper(MesPlanDetailBo bo) {
Map<String, Object> params = bo.getParams(); // Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<MesPlanDetail> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<MesPlanDetail> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getParentId() != null, MesPlanDetail::getParentId, bo.getParentId()); lqw.eq(bo.getParentId() != null, MesPlanDetail::getParentId, bo.getParentId());
lqw.eq(bo.getAncestors() != null, MesPlanDetail::getAncestors, bo.getAncestors()); lqw.eq(bo.getAncestors() != null, MesPlanDetail::getAncestors, bo.getAncestors());
lqw.eq(bo.getMainId() != null, MesPlanDetail::getMainId, bo.getMainId()); lqw.eq(bo.getMainId() != null, MesPlanDetail::getMainId, bo.getMainId());
lqw.like(StringUtils.isNotBlank(bo.getName()), MesPlanDetail::getName, bo.getName()); lqw.like(StringUtils.isNotBlank(bo.getName()), MesPlanDetail::getName, bo.getName());
lqw.eq(bo.getPlanStartDate() != null, MesPlanDetail::getPlanStartDate, bo.getPlanStartDate()); lqw.orderByAsc(MesPlanDetail::getId);
lqw.eq(bo.getPlanEndDate() != null, MesPlanDetail::getPlanEndDate, bo.getPlanEndDate());
return lqw; return lqw;
} }
@ -100,6 +129,7 @@ public class MesPlanDetailServiceImpl implements IMesPlanDetailService {
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
} }
//todo
return flag; return flag;
} }

View File

@ -1,23 +1,22 @@
package com.ruoyi.mts.service.impl; package com.ruoyi.mts.service.impl;
import cn.hutool.core.bean.BeanUtil; 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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service; import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.mts.domain.MesPlanRecord;
import com.ruoyi.mts.domain.bo.MesPlanRecordBo; import com.ruoyi.mts.domain.bo.MesPlanRecordBo;
import com.ruoyi.mts.domain.vo.MesPlanRecordVo; import com.ruoyi.mts.domain.vo.MesPlanRecordVo;
import com.ruoyi.mts.domain.MesPlanRecord;
import com.ruoyi.mts.mapper.MesPlanRecordMapper; import com.ruoyi.mts.mapper.MesPlanRecordMapper;
import com.ruoyi.mts.service.IMesPlanRecordService; import com.ruoyi.mts.service.IMesPlanRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Collection;
/** /**
* 生产计划明细日期记录Service业务层处理 * 生产计划明细日期记录Service业务层处理
@ -35,7 +34,7 @@ public class MesPlanRecordServiceImpl implements IMesPlanRecordService {
* 查询生产计划明细日期记录 * 查询生产计划明细日期记录
*/ */
@Override @Override
public MesPlanRecordVo queryById(Long id){ public MesPlanRecordVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -62,9 +61,9 @@ public class MesPlanRecordServiceImpl implements IMesPlanRecordService {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<MesPlanRecord> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<MesPlanRecord> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getDetailId() != null, MesPlanRecord::getDetailId, bo.getDetailId()); 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()); lqw.eq(bo.getOssId() != null, MesPlanRecord::getOssId, bo.getOssId());
lqw.eq(bo.getFlag() != null, MesPlanRecord::getFlag, bo.getFlag());
lqw.orderByAsc(MesPlanRecord::getId);
return lqw; return lqw;
} }
@ -95,7 +94,7 @@ public class MesPlanRecordServiceImpl implements IMesPlanRecordService {
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(MesPlanRecord entity){ private void validEntityBeforeSave(MesPlanRecord entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -104,7 +103,7 @@ public class MesPlanRecordServiceImpl implements IMesPlanRecordService {
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;

View File

@ -10,11 +10,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="ancestors" column="ancestors"/> <result property="ancestors" column="ancestors"/>
<result property="mainId" column="main_id"/> <result property="mainId" column="main_id"/>
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="planStartDate" column="plan_start_date"/>
<result property="planEndDate" column="plan_end_date"/>
<result property="actualStartDate" column="actual_start_date"/>
<result property="actualEndDate" column="actual_end_date"/>
<result property="ganttColor" column="gantt_color"/>
<result property="createBy" column="create_by"/> <result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>