工艺路线

This commit is contained in:
JinLu.Yin 2022-05-12 23:13:13 +08:00
parent b8b0f0ce94
commit 6f2b77f07d
6 changed files with 610 additions and 0 deletions

View File

@ -0,0 +1,113 @@
package com.ktg.mes.pro.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.StringUtils;
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.ProRoute;
import com.ktg.mes.pro.service.IProRouteService;
import com.ktg.common.utils.poi.ExcelUtil;
import com.ktg.common.core.page.TableDataInfo;
/**
* 工艺路线Controller
*
* @author yinjinlu
* @date 2022-05-12
*/
@RestController
@RequestMapping("/mes/pro/proroute")
public class ProRouteController extends BaseController
{
@Autowired
private IProRouteService proRouteService;
/**
* 查询工艺路线列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:list')")
@GetMapping("/list")
public TableDataInfo list(ProRoute proRoute)
{
startPage();
List<ProRoute> list = proRouteService.selectProRouteList(proRoute);
return getDataTable(list);
}
/**
* 导出工艺路线列表
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:export')")
@Log(title = "工艺路线", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProRoute proRoute)
{
List<ProRoute> list = proRouteService.selectProRouteList(proRoute);
ExcelUtil<ProRoute> util = new ExcelUtil<ProRoute>(ProRoute.class);
util.exportExcel(response, list, "工艺路线数据");
}
/**
* 获取工艺路线详细信息
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:query')")
@GetMapping(value = "/{routeId}")
public AjaxResult getInfo(@PathVariable("routeId") Long routeId)
{
return AjaxResult.success(proRouteService.selectProRouteByRouteId(routeId));
}
/**
* 新增工艺路线
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:add')")
@Log(title = "工艺路线", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProRoute proRoute)
{
if(UserConstants.NOT_UNIQUE.equals(proRouteService.checkRouteCodeUnique(proRoute))){
return AjaxResult.error("工艺路线编号已存在!");
}
return toAjax(proRouteService.insertProRoute(proRoute));
}
/**
* 修改工艺路线
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:edit')")
@Log(title = "工艺路线", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProRoute proRoute)
{
if(UserConstants.NOT_UNIQUE.equals(proRouteService.checkRouteCodeUnique(proRoute))){
return AjaxResult.error("工艺路线编号已存在!");
}
return toAjax(proRouteService.updateProRoute(proRoute));
}
/**
* 删除工艺路线
*/
@PreAuthorize("@ss.hasPermi('mes:pro:proroute:remove')")
@Log(title = "工艺路线", businessType = BusinessType.DELETE)
@DeleteMapping("/{routeIds}")
public AjaxResult remove(@PathVariable Long[] routeIds)
{
return toAjax(proRouteService.deleteProRouteByRouteIds(routeIds));
}
}

View File

@ -0,0 +1,150 @@
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_route
*
* @author yinjinlu
* @date 2022-05-12
*/
public class ProRoute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 工艺路线ID */
private Long routeId;
/** 工艺路线编号 */
@Excel(name = "工艺路线编号")
private String routeCode;
/** 工艺路线名称 */
@Excel(name = "工艺路线名称")
private String routeName;
/** 工艺路线说明 */
@Excel(name = "工艺路线说明")
private String routeDesc;
/** 是否启用 */
@Excel(name = "是否启用")
private String enableFlag;
/** 预留字段1 */
private String attr1;
/** 预留字段2 */
private String attr2;
/** 预留字段3 */
private Long attr3;
/** 预留字段4 */
private Long attr4;
public void setRouteId(Long routeId)
{
this.routeId = routeId;
}
public Long getRouteId()
{
return routeId;
}
public void setRouteCode(String routeCode)
{
this.routeCode = routeCode;
}
public String getRouteCode()
{
return routeCode;
}
public void setRouteName(String routeName)
{
this.routeName = routeName;
}
public String getRouteName()
{
return routeName;
}
public void setRouteDesc(String routeDesc)
{
this.routeDesc = routeDesc;
}
public String getRouteDesc()
{
return routeDesc;
}
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("routeId", getRouteId())
.append("routeCode", getRouteCode())
.append("routeName", getRouteName())
.append("routeDesc", getRouteDesc())
.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,63 @@
package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProRoute;
/**
* 工艺路线Mapper接口
*
* @author yinjinlu
* @date 2022-05-12
*/
public interface ProRouteMapper
{
/**
* 查询工艺路线
*
* @param routeId 工艺路线主键
* @return 工艺路线
*/
public ProRoute selectProRouteByRouteId(Long routeId);
/**
* 查询工艺路线列表
*
* @param proRoute 工艺路线
* @return 工艺路线集合
*/
public List<ProRoute> selectProRouteList(ProRoute proRoute);
public ProRoute checkRouteCodeUnique(ProRoute proRoute);
/**
* 新增工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
public int insertProRoute(ProRoute proRoute);
/**
* 修改工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
public int updateProRoute(ProRoute proRoute);
/**
* 删除工艺路线
*
* @param routeId 工艺路线主键
* @return 结果
*/
public int deleteProRouteByRouteId(Long routeId);
/**
* 批量删除工艺路线
*
* @param routeIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProRouteByRouteIds(Long[] routeIds);
}

View File

@ -0,0 +1,63 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.mes.pro.domain.ProRoute;
/**
* 工艺路线Service接口
*
* @author yinjinlu
* @date 2022-05-12
*/
public interface IProRouteService
{
/**
* 查询工艺路线
*
* @param routeId 工艺路线主键
* @return 工艺路线
*/
public ProRoute selectProRouteByRouteId(Long routeId);
/**
* 查询工艺路线列表
*
* @param proRoute 工艺路线
* @return 工艺路线集合
*/
public List<ProRoute> selectProRouteList(ProRoute proRoute);
public String checkRouteCodeUnique(ProRoute proRoute);
/**
* 新增工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
public int insertProRoute(ProRoute proRoute);
/**
* 修改工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
public int updateProRoute(ProRoute proRoute);
/**
* 批量删除工艺路线
*
* @param routeIds 需要删除的工艺路线主键集合
* @return 结果
*/
public int deleteProRouteByRouteIds(Long[] routeIds);
/**
* 删除工艺路线信息
*
* @param routeId 工艺路线主键
* @return 结果
*/
public int deleteProRouteByRouteId(Long routeId);
}

View File

@ -0,0 +1,109 @@
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.ProRouteMapper;
import com.ktg.mes.pro.domain.ProRoute;
import com.ktg.mes.pro.service.IProRouteService;
/**
* 工艺路线Service业务层处理
*
* @author yinjinlu
* @date 2022-05-12
*/
@Service
public class ProRouteServiceImpl implements IProRouteService
{
@Autowired
private ProRouteMapper proRouteMapper;
/**
* 查询工艺路线
*
* @param routeId 工艺路线主键
* @return 工艺路线
*/
@Override
public ProRoute selectProRouteByRouteId(Long routeId)
{
return proRouteMapper.selectProRouteByRouteId(routeId);
}
/**
* 查询工艺路线列表
*
* @param proRoute 工艺路线
* @return 工艺路线
*/
@Override
public List<ProRoute> selectProRouteList(ProRoute proRoute)
{
return proRouteMapper.selectProRouteList(proRoute);
}
@Override
public String checkRouteCodeUnique(ProRoute proRoute) {
ProRoute route = proRouteMapper.checkRouteCodeUnique(proRoute);
Long routeId = proRoute.getRouteId()==null?-1L:proRoute.getRouteId();
if(StringUtils.isNotNull(route) && route.getRouteId().longValue() != routeId.longValue()){
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
/**
* 新增工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
@Override
public int insertProRoute(ProRoute proRoute)
{
proRoute.setCreateTime(DateUtils.getNowDate());
return proRouteMapper.insertProRoute(proRoute);
}
/**
* 修改工艺路线
*
* @param proRoute 工艺路线
* @return 结果
*/
@Override
public int updateProRoute(ProRoute proRoute)
{
proRoute.setUpdateTime(DateUtils.getNowDate());
return proRouteMapper.updateProRoute(proRoute);
}
/**
* 批量删除工艺路线
*
* @param routeIds 需要删除的工艺路线主键
* @return 结果
*/
@Override
public int deleteProRouteByRouteIds(Long[] routeIds)
{
return proRouteMapper.deleteProRouteByRouteIds(routeIds);
}
/**
* 删除工艺路线信息
*
* @param routeId 工艺路线主键
* @return 结果
*/
@Override
public int deleteProRouteByRouteId(Long routeId)
{
return proRouteMapper.deleteProRouteByRouteId(routeId);
}
}

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.ProRouteMapper">
<resultMap type="ProRoute" id="ProRouteResult">
<result property="routeId" column="route_id" />
<result property="routeCode" column="route_code" />
<result property="routeName" column="route_name" />
<result property="routeDesc" column="route_desc" />
<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="selectProRouteVo">
select route_id, route_code, route_name, route_desc, enable_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_route
</sql>
<select id="selectProRouteList" parameterType="ProRoute" resultMap="ProRouteResult">
<include refid="selectProRouteVo"/>
<where>
<if test="routeCode != null and routeCode != ''"> and route_code = #{routeCode}</if>
<if test="routeName != null and routeName != ''"> and route_name like concat('%', #{routeName}, '%')</if>
<if test="routeDesc != null and routeDesc != ''"> and route_desc = #{routeDesc}</if>
<if test="enableFlag != null and enableFlag != ''"> and enable_flag = #{enableFlag}</if>
</where>
</select>
<select id="selectProRouteByRouteId" parameterType="Long" resultMap="ProRouteResult">
<include refid="selectProRouteVo"/>
where route_id = #{routeId}
</select>
<select id="checkRouteCodeUnique" parameterType="ProRoute" resultMap="ProRouteResult">
<include refid="selectProRouteVo"/>
where route_code = #{routeCode} limit 1
</select>
<insert id="insertProRoute" parameterType="ProRoute" useGeneratedKeys="true" keyProperty="routeId">
insert into pro_route
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="routeCode != null and routeCode != ''">route_code,</if>
<if test="routeName != null and routeName != ''">route_name,</if>
<if test="routeDesc != null">route_desc,</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="routeCode != null and routeCode != ''">#{routeCode},</if>
<if test="routeName != null and routeName != ''">#{routeName},</if>
<if test="routeDesc != null">#{routeDesc},</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="updateProRoute" parameterType="ProRoute">
update pro_route
<trim prefix="SET" suffixOverrides=",">
<if test="routeCode != null and routeCode != ''">route_code = #{routeCode},</if>
<if test="routeName != null and routeName != ''">route_name = #{routeName},</if>
<if test="routeDesc != null">route_desc = #{routeDesc},</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 route_id = #{routeId}
</update>
<delete id="deleteProRouteByRouteId" parameterType="Long">
delete from pro_route where route_id = #{routeId}
</delete>
<delete id="deleteProRouteByRouteIds" parameterType="String">
delete from pro_route where route_id in
<foreach item="routeId" collection="array" open="(" separator="," close=")">
#{routeId}
</foreach>
</delete>
</mapper>