From 7165632fcb7b3b782b8959cfe1e7e1c51872e228 Mon Sep 17 00:00:00 2001 From: Fancy <Fancy.fx@outlook.com> Date: 星期二, 25 六月 2024 16:34:18 +0800 Subject: [PATCH] station used list and delete --- pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java | 3 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java | 65 ++++++++++ pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java | 43 +++++++ pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml | 147 ++++++++++++++++++++++++ pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java | 56 +++++++++ pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java | 5 6 files changed, 316 insertions(+), 3 deletions(-) diff --git a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java index 82d532f..b228f00 100644 --- a/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java +++ b/pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Options; import java.util.List; +import java.util.Map; /** * @author User @@ -29,4 +30,8 @@ int updateByPrimaryKey(StaAssemblyWorkLast record); List<StaAssemblyWorkLast> selectList(StaAssemblyWorkLast record); + + Long selectSomeCount(Map<String, Object> params); + + List<StaAssemblyWorkLast> selectSome(Map<String, Object> params); } diff --git a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml index fc2e21a..44d81c0 100644 --- a/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml +++ b/pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml @@ -37,7 +37,20 @@ node_id,dt,status, start_time,end_time,assistants </sql> - + <sql id="part_Column_List"> + ${alias}.id, + ${alias}.user_id, + ${alias}.line_id, + ${alias}.station_id, + ${alias}.plan_id, + ${alias}.process_id, + ${alias}.node_id, + ${alias}.dt, + ${alias}.status, + ${alias}.start_time, + ${alias}.end_time, + ${alias}.assistants + </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> @@ -98,7 +111,7 @@ <if test="startTime != null and startTime !=''"> and start_time = #{startTime,jdbcType=TIMESTAMP}, </if> - <if test="endTime != null and userId !=''"> + <if test="endTime != null and endTime !=''"> and end_time = #{endTime,jdbcType=TIMESTAMP}, </if> <if test="assistants != null and assistants !=''"> @@ -107,6 +120,136 @@ </where> order by id desc </select> + <select id="selectSome" resultMap="BaseResultMap"> + select + <include refid="part_Column_List" > + <property name="alias" value="l"/> + </include> + from sta_assembly_work_last l + left join ba_user u on l.user_id = u.id + left join plt_station s on l.station_id = s.id + left join pr_assembly_plan p on l.plan_id = p.id + left join pr_production_process pp on l.process_id = pp.id + left join pr_production_node n on l.node_id = n.id + left join plt_production_line ll on l.line_id = ll.id + <where> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + <if test="stationName != null and stationName != '' "> + and s.name like concat('%', #{stationName}, '%') + </if> + <if test="planName != null and planName != '' "> + and p.name like concat('%', #{planName}, '%') + </if> + <if test="processName != null and processName != '' "> + and pp.name like concat('%', #{processName}, '%') + </if> + <if test="nodeName != null and nodeName != '' "> + and n.content like concat('%', #{nodeName}, '%') + </if> + <if test="lineName != null and lineName != '' "> + and ll.name like concat('%', #{lineName}, '%') + </if> + <if test="startTime != null and startTime !=''"> + and l.start_time <![CDATA[ > ]]> #{startTime} + </if> + <if test="endTime != null and endTime !=''"> + and l.start_time <![CDATA[ < ]]> #{endTime} + </if> + <if test="userId != null and userId !=''"> + and l.user_id = #{userId,jdbcType=BIGINT} + </if> + <if test="lineId != null and lineId !=''"> + and l.line_id = #{lineId,jdbcType=BIGINT} + </if> + <if test="stationId != null and stationId !=''"> + and l.station_id = #{stationId,jdbcType=BIGINT} + </if> + <if test="planId != null and planId !=''"> + and l.plan_id = #{planId,jdbcType=BIGINT} + </if> + <if test="processId != null and processId !=''"> + and l.process_id = #{processId,jdbcType=BIGINT} + </if> + <if test="nodeId != null and nodeId !=''"> + and l.node_id = #{nodeId,jdbcType=BIGINT} + </if> + <if test="status != null and status !=''"> + and l.status = #{status,jdbcType=TINYINT} + </if> + <if test="assistants != null and assistants !=''"> + and l.assistants = #{assistants,jdbcType=VARCHAR} + </if> + </where> + order by id desc + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start}, #{count} + </if> + </trim> + </select> + + <select id="selectSomeCount" resultType="java.lang.Long"> + select count(1) + from sta_assembly_work_last l + left join ba_user u on l.user_id = u.id + left join plt_station s on l.station_id = s.id + left join pr_assembly_plan p on l.plan_id = p.id + left join pr_production_process pp on l.process_id = pp.id + left join pr_production_node n on l.node_id = n.id + left join plt_production_line ll on l.line_id = ll.id + <where> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + <if test="stationName != null and stationName != '' "> + and s.name like concat('%', #{stationName}, '%') + </if> + <if test="planName != null and planName != '' "> + and p.name like concat('%', #{planName}, '%') + </if> + <if test="processName != null and processName != '' "> + and pp.name like concat('%', #{processName}, '%') + </if> + <if test="nodeName != null and nodeName != '' "> + and n.content like concat('%', #{nodeName}, '%') + </if> + <if test="lineName != null and lineName != '' "> + and ll.name like concat('%', #{lineName}, '%') + </if> + <if test="startTime != null and startTime !=''"> + and l.start_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP} + </if> + <if test="endTime != null and endTime !=''"> + and l.start_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP} + </if> + <if test="userId != null and userId !=''"> + and l.user_id = #{userId,jdbcType=BIGINT} + </if> + <if test="lineId != null and lineId !=''"> + and l.line_id = #{lineId,jdbcType=BIGINT} + </if> + <if test="stationId != null and stationId !=''"> + and l.station_id = #{stationId,jdbcType=BIGINT} + </if> + <if test="planId != null and planId !=''"> + and l.plan_id = #{planId,jdbcType=BIGINT} + </if> + <if test="processId != null and processId !=''"> + and l.process_id = #{processId,jdbcType=BIGINT} + </if> + <if test="nodeId != null and nodeId !=''"> + and l.node_id = #{nodeId,jdbcType=BIGINT} + </if> + <if test="status != null and status !=''"> + and l.status = #{status,jdbcType=TINYINT} + </if> + <if test="assistants != null and assistants !=''"> + and l.assistants = #{assistants,jdbcType=VARCHAR} + </if> + </where> + </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> delete from sta_assembly_work_last diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java new file mode 100644 index 0000000..5ac6c54 --- /dev/null +++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java @@ -0,0 +1,43 @@ +package com.dy.pmsProduct.workStation; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.alibaba.fastjson2.writer.ObjectWriterImplToString; +import com.baomidou.mybatisplus.annotation.TableField; +import com.dy.common.webUtil.QueryConditionVo; +import jakarta.validation.constraints.NotNull; +import lombok.*; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@ToString(callSuper = true) +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class QueryVo extends QueryConditionVo { + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long id; + public String userId; + public String userName; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long lineId; + public String lineName; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long stationId; + public String stationName; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long planId; + public String planName; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long processId; + public String processName; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long nodeId; + public String nodeName; + public Date dt; + public Integer status; + public String startTime; + public String endTime; + public String assistants; +} diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java new file mode 100644 index 0000000..2acc575 --- /dev/null +++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java @@ -0,0 +1,56 @@ +package com.dy.pmsProduct.workStation; + +import com.dy.common.aop.SsoPowerAop; +import com.dy.common.webUtil.BaseResponse; +import com.dy.common.webUtil.BaseResponseUtils; +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pmsGlobal.aop.Log; +import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast; +import com.dy.pmsProduct.workStation.QueryVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; +/** + * 宸ョ珯浣跨敤鎯呭喌 + */ +@Slf4j +@RestController +@RequestMapping(path="workStation") +public class WorkStationCtl { + private WorkStationSv sv; + @Autowired + public void setSv(WorkStationSv workStationSv){ + sv = workStationSv; + } + /** + * 鍒嗛〉鏌ヨ + * @param vo + * @return + */ + @PostMapping(path="some") + @SsoPowerAop(power = "-1") + @Log("鍒嗛〉鏌ヨ宸ョ珯浣跨敤鎯呭喌") + public BaseResponse<QueryResultVo<List<StaAssemblyWorkLast>>> some(@RequestBody QueryVo vo){ + QueryResultVo<List<StaAssemblyWorkLast>> list = sv.selectSome(vo) ; + return BaseResponseUtils.buildSuccess(list); + } + /** + * 鍒犻櫎姝e湪琚娇鐢ㄧ殑宸ョ珯淇℃伅,灏嗗伐绔欓棽缃� + * @param id + * @return + */ + @GetMapping(path="delete") + @SsoPowerAop(power = "10300001") + @Log("鍒犻櫎浜у搧淇℃伅") + public BaseResponse<Boolean> delete(String id){ + int count = sv.delete(Long.parseLong(id)); + if (count <= 0) { + return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�"); + } else { + return BaseResponseUtils.buildSuccess(true); + } + } +} \ No newline at end of file diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java new file mode 100644 index 0000000..40e67b6 --- /dev/null +++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java @@ -0,0 +1,65 @@ +package com.dy.pmsProduct.workStation; + +import com.dy.common.webUtil.QueryResultVo; +import com.dy.pmsGlobal.daoSta.StaAssemblyWorkHistoryMapper; +import com.dy.pmsGlobal.daoSta.StaAssemblyWorkLastMapper; +import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkHistory; +import com.dy.pmsGlobal.pojoSta.StaAssemblyWorkLast; +import com.dy.pmsProduct.workStation.QueryVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.common.utils.PojoUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Map; +@Slf4j +@Service +public class WorkStationSv { + private StaAssemblyWorkLastMapper assemblyWorkLastDao; + private StaAssemblyWorkHistoryMapper assemblyWorkHistoryDao; + @Autowired + private void setStaAssemblyWorkHistoryDao(StaAssemblyWorkHistoryMapper assemblyWorkHistoryDao){ + this.assemblyWorkHistoryDao = assemblyWorkHistoryDao; + } + @Autowired + private void setStaAssemblyWorkLastDao(StaAssemblyWorkLastMapper assemblyWorkLastDao){ + this.assemblyWorkLastDao = assemblyWorkLastDao; + } + public QueryResultVo<List<StaAssemblyWorkLast>> selectSome(QueryVo queryVo){ + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + + //鏌ヨ绗﹀悎鏉′欢鐨勮褰曟�绘暟 + Long itemTotal = assemblyWorkLastDao.selectSomeCount(params); + + QueryResultVo<List<StaAssemblyWorkLast>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr) ; + //璁$畻鍒嗛〉绛変俊鎭� + rsVo.calculateAndSet(itemTotal, params); + + //鏌ヨ绗﹀悎鏉′欢鐨勮褰� + rsVo.obj = assemblyWorkLastDao.selectSome(params); + return rsVo ; + } + @Transactional + public int delete(Long id){ + //鎵惧埌鐧诲綍璁板綍 + StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(id); + if(workLast == null){ + throw new RuntimeException("绯荤粺涓病鏈夎鏉$櫥褰曚俊鎭�,璇峰埛鏂伴〉闈�"); + } + //鏇存柊鐧诲綍璁板綍 + workLast.setStatus(2); + workLast.setEndTime(new Date()); + // 淇濆瓨history + StaAssemblyWorkHistory history = new StaAssemblyWorkHistory(); + BeanUtils.copyProperties(workLast,history); + history.setId(null); + int count = assemblyWorkHistoryDao.insertSelective(history); + //鍒犻櫎last + assemblyWorkLastDao.deleteByPrimaryKey(id); + return count; + } +} \ No newline at end of file diff --git a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java index d5abea5..14bcea8 100644 --- a/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java +++ b/pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java @@ -32,7 +32,8 @@ * 宸ョ珯瀹炰綋缂栧彿 */ @NotNull(message="[宸ョ珯瀹炰綋缂栧彿]涓嶈兘涓虹┖") - public String stationId; + @JSONField(serializeUsing= ObjectWriterImplToString.class) + public Long stationId; /** * 缁勮鐢熶骇浠诲姟瀹炰綋缂栧彿 */ -- Gitblit v1.8.0