工序头部分

This commit is contained in:
JinLu.Yin 2022-05-11 23:43:19 +08:00
parent 6dccafc999
commit d4680594e7
6 changed files with 639 additions and 0 deletions

View File

@ -0,0 +1,132 @@
package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ktg.common.annotation.Log;
import com.ktg.common.core.controller.BaseController;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.enums.BusinessType;
import com.ktg.mes.pro.domain.ProProcess;
import com.ktg.mes.pro.service.IProProcessService;
import com.ktg.common.utils.poi.ExcelUtil;
import com.ktg.common.core.page.TableDataInfo;
/**
* 生产工序Controller
*
* @author yinjinlu
* @date 2022-05-11
*/
@RestController
@RequestMapping("/pro/process")
public class ProProcessController extends BaseController
{
@Autowired
private IProProcessService proProcessService;
/**
* 查询生产工序列表
*/
@PreAuthorize("@ss.hasPermi('pro:process:list')")
@GetMapping("/list")
public TableDataInfo list(ProProcess proProcess)
{
startPage();
List<ProProcess> list = proProcessService.selectProProcessList(proProcess);
return getDataTable(list);
}
/**
* 查询所有可用工序的清单
* @return
*/
@PreAuthorize("@ss.hasPermi('pro:process:list')")
@GetMapping("/listAll")
public AjaxResult listAll(){
ProProcess process = new ProProcess();
process.setEnableFlag("Y");
List<ProProcess> list =proProcessService.selectProProcessList(process);
return AjaxResult.success(list);
}
/**
* 导出生产工序列表
*/
@PreAuthorize("@ss.hasPermi('pro:process:export')")
@Log(title = "生产工序", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProProcess proProcess)
{
List<ProProcess> list = proProcessService.selectProProcessList(proProcess);
ExcelUtil<ProProcess> util = new ExcelUtil<ProProcess>(ProProcess.class);
util.exportExcel(response, list, "生产工序数据");
}
/**
* 获取生产工序详细信息
*/
@PreAuthorize("@ss.hasPermi('pro:process:query')")
@GetMapping(value = "/{processId}")
public AjaxResult getInfo(@PathVariable("processId") Long processId)
{
return AjaxResult.success(proProcessService.selectProProcessByProcessId(processId));
}
/**
* 新增生产工序
*/
@PreAuthorize("@ss.hasPermi('pro:process:add')")
@Log(title = "生产工序", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProProcess proProcess)
{
if(UserConstants.NOT_UNIQUE.equals(proProcessService.checkProcessCodeUnique(proProcess))){
return AjaxResult.error("工序编码已存在!");
}
if(UserConstants.NOT_UNIQUE.equals(proProcessService.checkProcessNameUnique(proProcess))){
return AjaxResult.error("工序名称已存在!");
}
return toAjax(proProcessService.insertProProcess(proProcess));
}
/**
* 修改生产工序
*/
@PreAuthorize("@ss.hasPermi('pro:process:edit')")
@Log(title = "生产工序", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProProcess proProcess)
{
if(UserConstants.NOT_UNIQUE.equals(proProcessService.checkProcessCodeUnique(proProcess))){
return AjaxResult.error("工序编码已存在!");
}
if(UserConstants.NOT_UNIQUE.equals(proProcessService.checkProcessNameUnique(proProcess))){
return AjaxResult.error("工序名称已存在!");
}
return toAjax(proProcessService.updateProProcess(proProcess));
}
/**
* 删除生产工序
*/
@PreAuthorize("@ss.hasPermi('pro:process:remove')")
@Log(title = "生产工序", businessType = BusinessType.DELETE)
@DeleteMapping("/{processIds}")
public AjaxResult remove(@PathVariable Long[] processIds)
{
return toAjax(proProcessService.deleteProProcessByProcessIds(processIds));
}
}

View File

@ -0,0 +1,136 @@
package com.ktg.mes.pro.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.BaseEntity;
/**
* 生产工序对象 pro_process
*
* @author yinjinlu
* @date 2022-05-11
*/
public class ProProcess extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 工序ID */
private Long processId;
/** 工序编码 */
@Excel(name = "工序编码")
private String processCode;
/** 工序名称 */
@Excel(name = "工序名称")
private String processName;
/** 是否启用 */
@Excel(name = "是否启用")
private String enableFlag;
/** 预留字段1 */
private String attr1;
/** 预留字段2 */
private String attr2;
/** 预留字段3 */
private Long attr3;
/** 预留字段4 */
private Long attr4;
public void setProcessId(Long processId)
{
this.processId = processId;
}
public Long getProcessId()
{
return processId;
}
public void setProcessCode(String processCode)
{
this.processCode = processCode;
}
public String getProcessCode()
{
return processCode;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setEnableFlag(String enableFlag)
{
this.enableFlag = enableFlag;
}
public String getEnableFlag()
{
return enableFlag;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(Long attr3)
{
this.attr3 = attr3;
}
public Long getAttr3()
{
return attr3;
}
public void setAttr4(Long attr4)
{
this.attr4 = attr4;
}
public Long getAttr4()
{
return attr4;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("processId", getProcessId())
.append("processCode", getProcessCode())
.append("processName", getProcessName())
.append("enableFlag", getEnableFlag())
.append("remark", getRemark())
.append("attr1", getAttr1())
.append("attr2", getAttr2())
.append("attr3", getAttr3())
.append("attr4", getAttr4())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,65 @@
package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProProcess;
/**
* 生产工序Mapper接口
*
* @author yinjinlu
* @date 2022-05-11
*/
public interface ProProcessMapper
{
/**
* 查询生产工序
*
* @param processId 生产工序主键
* @return 生产工序
*/
public ProProcess selectProProcessByProcessId(Long processId);
/**
* 查询生产工序列表
*
* @param proProcess 生产工序
* @return 生产工序集合
*/
public List<ProProcess> selectProProcessList(ProProcess proProcess);
public ProProcess checkProcessCodeUnique(ProProcess proProcess);
public ProProcess checkProcessNameUnique(ProProcess proProcess);
/**
* 新增生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
public int insertProProcess(ProProcess proProcess);
/**
* 修改生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
public int updateProProcess(ProProcess proProcess);
/**
* 删除生产工序
*
* @param processId 生产工序主键
* @return 结果
*/
public int deleteProProcessByProcessId(Long processId);
/**
* 批量删除生产工序
*
* @param processIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProProcessByProcessIds(Long[] processIds);
}

View File

@ -0,0 +1,64 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.mes.pro.domain.ProProcess;
/**
* 生产工序Service接口
*
* @author yinjinlu
* @date 2022-05-11
*/
public interface IProProcessService
{
/**
* 查询生产工序
*
* @param processId 生产工序主键
* @return 生产工序
*/
public ProProcess selectProProcessByProcessId(Long processId);
/**
* 查询生产工序列表
*
* @param proProcess 生产工序
* @return 生产工序集合
*/
public List<ProProcess> selectProProcessList(ProProcess proProcess);
public String checkProcessCodeUnique(ProProcess proProcess);
public String checkProcessNameUnique(ProProcess proProcess);
/**
* 新增生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
public int insertProProcess(ProProcess proProcess);
/**
* 修改生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
public int updateProProcess(ProProcess proProcess);
/**
* 批量删除生产工序
*
* @param processIds 需要删除的生产工序主键集合
* @return 结果
*/
public int deleteProProcessByProcessIds(Long[] processIds);
/**
* 删除生产工序信息
*
* @param processId 生产工序主键
* @return 结果
*/
public int deleteProProcessByProcessId(Long processId);
}

View File

@ -0,0 +1,130 @@
package com.ktg.mes.pro.service.impl;
import java.util.List;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.DateUtils;
import com.ktg.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProProcessMapper;
import com.ktg.mes.pro.domain.ProProcess;
import com.ktg.mes.pro.service.IProProcessService;
/**
* 生产工序Service业务层处理
*
* @author yinjinlu
* @date 2022-05-11
*/
@Service
public class ProProcessServiceImpl implements IProProcessService
{
@Autowired
private ProProcessMapper proProcessMapper;
/**
* 查询生产工序
*
* @param processId 生产工序主键
* @return 生产工序
*/
@Override
public ProProcess selectProProcessByProcessId(Long processId)
{
return proProcessMapper.selectProProcessByProcessId(processId);
}
/**
* 查询生产工序列表
*
* @param proProcess 生产工序
* @return 生产工序
*/
@Override
public List<ProProcess> selectProProcessList(ProProcess proProcess)
{
return proProcessMapper.selectProProcessList(proProcess);
}
/**
* 检查工序编码是否唯一
* @param proProcess
* @return
*/
@Override
public String checkProcessCodeUnique(ProProcess proProcess) {
ProProcess process = proProcessMapper.checkProcessCodeUnique(proProcess);
Long processId = proProcess.getProcessId()==null?-1L:proProcess.getProcessId();
if(StringUtils.isNotNull(process) && process.getProcessId().longValue() != processId.longValue()){
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* 检查工序名称是否唯一
* @param proProcess
* @return
*/
@Override
public String checkProcessNameUnique(ProProcess proProcess) {
ProProcess process = proProcessMapper.checkProcessNameUnique(proProcess);
Long processId = proProcess.getProcessId()==null?-1L:proProcess.getProcessId();
if(StringUtils.isNotNull(process) && process.getProcessId().longValue() != processId.longValue()){
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* 新增生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
@Override
public int insertProProcess(ProProcess proProcess)
{
proProcess.setCreateTime(DateUtils.getNowDate());
return proProcessMapper.insertProProcess(proProcess);
}
/**
* 修改生产工序
*
* @param proProcess 生产工序
* @return 结果
*/
@Override
public int updateProProcess(ProProcess proProcess)
{
proProcess.setUpdateTime(DateUtils.getNowDate());
return proProcessMapper.updateProProcess(proProcess);
}
/**
* 批量删除生产工序
*
* @param processIds 需要删除的生产工序主键
* @return 结果
*/
@Override
public int deleteProProcessByProcessIds(Long[] processIds)
{
return proProcessMapper.deleteProProcessByProcessIds(processIds);
}
/**
* 删除生产工序信息
*
* @param processId 生产工序主键
* @return 结果
*/
@Override
public int deleteProProcessByProcessId(Long processId)
{
return proProcessMapper.deleteProProcessByProcessId(processId);
}
}

View File

@ -0,0 +1,112 @@
<?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.ktg.mes.pro.mapper.ProProcessMapper">
<resultMap type="ProProcess" id="ProProcessResult">
<result property="processId" column="process_id" />
<result property="processCode" column="process_code" />
<result property="processName" column="process_name" />
<result property="enableFlag" column="enable_flag" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectProProcessVo">
select process_id, process_code, process_name, enable_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_process
</sql>
<select id="selectProProcessList" parameterType="ProProcess" resultMap="ProProcessResult">
<include refid="selectProProcessVo"/>
<where>
<if test="processCode != null and processCode != ''"> and process_code = #{processCode}</if>
<if test="processName != null and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
<if test="enableFlag != null and enableFlag != ''"> and enable_flag = #{enableFlag}</if>
</where>
</select>
<select id="selectProProcessByProcessId" parameterType="Long" resultMap="ProProcessResult">
<include refid="selectProProcessVo"/>
where process_id = #{processId}
</select>
<select id="checkProcessCodeUnique" parameterType="ProProcess" resultMap="ProProcessResult">
<include refid="selectProProcessVo"/>
where process_code = #{processCode} limit 1
</select>
<select id="checkProcessNameUnique" parameterType="ProProcess" resultMap="ProProcessResult">
<include refid="selectProProcessVo"/>
where process_name = #{processName} limit 1
</select>
<insert id="insertProProcess" parameterType="ProProcess" useGeneratedKeys="true" keyProperty="processId">
insert into pro_process
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="processCode != null and processCode != ''">process_code,</if>
<if test="processName != null and processName != ''">process_name,</if>
<if test="enableFlag != null and enableFlag != ''">enable_flag,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="processCode != null and processCode != ''">#{processCode},</if>
<if test="processName != null and processName != ''">#{processName},</if>
<if test="enableFlag != null and enableFlag != ''">#{enableFlag},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateProProcess" parameterType="ProProcess">
update pro_process
<trim prefix="SET" suffixOverrides=",">
<if test="processCode != null and processCode != ''">process_code = #{processCode},</if>
<if test="processName != null and processName != ''">process_name = #{processName},</if>
<if test="enableFlag != null and enableFlag != ''">enable_flag = #{enableFlag},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where process_id = #{processId}
</update>
<delete id="deleteProProcessByProcessId" parameterType="Long">
delete from pro_process where process_id = #{processId}
</delete>
<delete id="deleteProProcessByProcessIds" parameterType="String">
delete from pro_process where process_id in
<foreach item="processId" collection="array" open="(" separator="," close=")">
#{processId}
</foreach>
</delete>
</mapper>