This commit is contained in:
JinLu.Yin 2022-06-06 23:01:08 +08:00
parent 8aa26b6707
commit d8b2d821b3
6 changed files with 162 additions and 0 deletions

View File

@ -131,4 +131,8 @@ public class UserConstants
public static final String TRANSACTION_TYPE_MISC_RECPT = "MISC_RECPT"; //杂项入库 public static final String TRANSACTION_TYPE_MISC_RECPT = "MISC_RECPT"; //杂项入库
public static final String TRANSACTION_TYPE_MISC_ISSUE = "MISC_ISSUE"; //杂项出库 public static final String TRANSACTION_TYPE_MISC_ISSUE = "MISC_ISSUE"; //杂项出库
public static final String CAL_SHIFT_TYPE_SINGLE="SINGLE";
public static final String CAL_SHIFT_TYPE_TWO="TWO";
public static final String CAL_SHIFT_TYPE_THREE="THREE";
} }

View File

@ -2,6 +2,10 @@ package com.ktg.mes.cal.controller;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.mes.cal.domain.CalPlan;
import com.ktg.mes.cal.service.ICalPlanService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -34,6 +38,9 @@ public class CalShiftController extends BaseController
@Autowired @Autowired
private ICalShiftService calShiftService; private ICalShiftService calShiftService;
@Autowired
private ICalPlanService calPlanService;
/** /**
* 查询计划班次列表 * 查询计划班次列表
*/ */
@ -77,6 +84,18 @@ public class CalShiftController extends BaseController
@PostMapping @PostMapping
public AjaxResult add(@RequestBody CalShift calShift) public AjaxResult add(@RequestBody CalShift calShift)
{ {
int count = calShiftService.checkShiftCount(calShift.getPlanId());
CalPlan plan = calPlanService.selectCalPlanByPlanId(calShift.getPlanId());
if(UserConstants.CAL_SHIFT_TYPE_SINGLE.equals(plan.getShiftType())&&count>0){
return AjaxResult.error("轮班方式为 白班 时只能有一个班次!");
}
if(UserConstants.CAL_SHIFT_TYPE_TWO.equals(plan.getShiftType())&&count>1){
return AjaxResult.error("轮班方式为 白班 时只能有两个班次!");
}
if(UserConstants.CAL_SHIFT_TYPE_THREE.equals(plan.getShiftType())&&count>2){
return AjaxResult.error("轮班方式为 白班 时只能有三个班次!");
}
return toAjax(calShiftService.insertCalShift(calShift)); return toAjax(calShiftService.insertCalShift(calShift));
} }
@ -88,6 +107,17 @@ public class CalShiftController extends BaseController
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody CalShift calShift) public AjaxResult edit(@RequestBody CalShift calShift)
{ {
int count = calShiftService.checkShiftCount(calShift.getPlanId());
CalPlan plan = calPlanService.selectCalPlanByPlanId(calShift.getPlanId());
if(UserConstants.CAL_SHIFT_TYPE_SINGLE.equals(plan.getShiftType())&&count>0){
return AjaxResult.error("轮班方式为 白班 时只能有一个班次!");
}
if(UserConstants.CAL_SHIFT_TYPE_TWO.equals(plan.getShiftType())&&count>1){
return AjaxResult.error("轮班方式为 白班 时只能有两个班次!");
}
if(UserConstants.CAL_SHIFT_TYPE_THREE.equals(plan.getShiftType())&&count>2){
return AjaxResult.error("轮班方式为 白班 时只能有三个班次!");
}
return toAjax(calShiftService.updateCalShift(calShift)); return toAjax(calShiftService.updateCalShift(calShift));
} }

View File

@ -27,6 +27,9 @@ public interface CalShiftMapper
*/ */
public List<CalShift> selectCalShiftList(CalShift calShift); public List<CalShift> selectCalShiftList(CalShift calShift);
public int checkShiftCount(Long planId);
/** /**
* 新增计划班次 * 新增计划班次
* *

View File

@ -27,6 +27,8 @@ public interface ICalShiftService
*/ */
public List<CalShift> selectCalShiftList(CalShift calShift); public List<CalShift> selectCalShiftList(CalShift calShift);
public int checkShiftCount(Long planId);
/** /**
* 新增计划班次 * 新增计划班次
* *

View File

@ -44,6 +44,11 @@ public class CalShiftServiceImpl implements ICalShiftService
return calShiftMapper.selectCalShiftList(calShift); return calShiftMapper.selectCalShiftList(calShift);
} }
@Override
public int checkShiftCount(Long planId) {
return calShiftMapper.checkShiftCount(planId);
}
/** /**
* 新增计划班次 * 新增计划班次
* *

View File

@ -0,0 +1,118 @@
<?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.cal.mapper.CalShiftMapper">
<resultMap type="CalShift" id="CalShiftResult">
<result property="shiftId" column="shift_id" />
<result property="planId" column="plan_id" />
<result property="orderNum" column="order_num" />
<result property="shiftName" column="shift_name" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<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="selectCalShiftVo">
select shift_id, plan_id, order_num, shift_name, start_time, end_time, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from cal_shift
</sql>
<select id="selectCalShiftList" parameterType="CalShift" resultMap="CalShiftResult">
<include refid="selectCalShiftVo"/>
<where>
<if test="planId != null "> and plan_id = #{planId}</if>
<if test="orderNum != null "> and order_num = #{orderNum}</if>
<if test="shiftName != null and shiftName != ''"> and shift_name like concat('%', #{shiftName}, '%')</if>
<if test="startTime != null "> and start_time = #{startTime}</if>
<if test="endTime != null "> and end_time = #{endTime}</if>
</where>
</select>
<select id="selectCalShiftByShiftId" parameterType="Long" resultMap="CalShiftResult">
<include refid="selectCalShiftVo"/>
where shift_id = #{shiftId}
</select>
<select id="checkShiftCount" parameterType="Long" resultType="Integer">
select count(*)
from cal_shift
where plan_id = #{planId}
</select>
<insert id="insertCalShift" parameterType="CalShift" useGeneratedKeys="true" keyProperty="shiftId">
insert into cal_shift
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="planId != null">plan_id,</if>
<if test="orderNum != null">order_num,</if>
<if test="shiftName != null and shiftName != ''">shift_name,</if>
<if test="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</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="planId != null">#{planId},</if>
<if test="orderNum != null">#{orderNum},</if>
<if test="shiftName != null and shiftName != ''">#{shiftName},</if>
<if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</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="updateCalShift" parameterType="CalShift">
update cal_shift
<trim prefix="SET" suffixOverrides=",">
<if test="planId != null">plan_id = #{planId},</if>
<if test="orderNum != null">order_num = #{orderNum},</if>
<if test="shiftName != null and shiftName != ''">shift_name = #{shiftName},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</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 shift_id = #{shiftId}
</update>
<delete id="deleteCalShiftByShiftId" parameterType="Long">
delete from cal_shift where shift_id = #{shiftId}
</delete>
<delete id="deleteCalShiftByShiftIds" parameterType="String">
delete from cal_shift where shift_id in
<foreach item="shiftId" collection="array" open="(" separator="," close=")">
#{shiftId}
</foreach>
</delete>
</mapper>