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