Fancy
2024-06-25 7165632fcb7b3b782b8959cfe1e7e1c51872e228
station used list and delete
3个文件已修改
3个文件已添加
319 ■■■■■ 已修改文件
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaAssemblyWorkLastMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-station/src/main/java/com/dy/pmsStation/workOrder/QueryVo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
}
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
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/QueryVo.java
New file
@@ -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;
}
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationCtl.java
New file
@@ -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);
    }
    /**
     * 删除正在被使用的工站信息,将工站闲置
     * @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);
        }
    }
}
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/workStation/WorkStationSv.java
New file
@@ -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;
    }
}
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;
    /**
     * 组装生产任务实体编号
     */