车车 10 ヶ月 前
コミット
71f10e777b

+ 34 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsSopController.java

@@ -1,10 +1,13 @@
 package com.ktg.iscs.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ktg.common.annotation.Log;
 import com.ktg.common.core.controller.BaseController;
+import com.ktg.common.core.domain.entity.SysDictData;
 import com.ktg.common.enums.BusinessType;
 import com.ktg.common.pojo.CommonResult;
+import com.ktg.common.utils.DictUtils;
 import com.ktg.common.utils.poi.ExcelUtil;
 import com.ktg.iscs.domain.IsSop;
 import com.ktg.iscs.domain.dto.sop.AddSopDTO;
@@ -21,7 +24,11 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * SOP信息Controller
@@ -114,4 +121,31 @@ public class IsSopController extends BaseController {
     public CommonResult<Boolean> deleteIsSopBySopIds(String sopIds) {
         return CommonResult.success(isSopService.deleteIsSopBySopIds(sopIds));
     }
+
+    @ApiOperation("获取工艺下的sop类型集合")
+    @Parameter(name = "sopId", description = "sopId")
+    // @PreAuthorize("@ss.hasPermi('iscs:sop:query')")
+    @GetMapping(value = "/selectSopTypeByMachineryId")
+    public CommonResult<List<SysDictData>> selectSopTypeByMachineryId(Long machineryId) {
+        ArrayList<SysDictData> sysDictDatas = new ArrayList<>();
+        List<IsSop> list = isSopService.list(Wrappers.<IsSop>lambdaQuery().eq(IsSop::getMachineryId, machineryId));
+        if (list.size() > 0) {
+            List<String> collect = list.stream().map(IsSop::getSopType).collect(Collectors.toList());
+            if (collect.size() > 0) {
+                // 使用 HashSet 去重
+                Set<String> set = new HashSet<>(collect);
+                ArrayList<String> strings = new ArrayList<>(set);
+                for (String s : strings) {
+                    String sopType = DictUtils.getDictLabel("sop_type", s);
+                    SysDictData sysDictData = new SysDictData();
+                    sysDictData.setDictLabel(sopType);
+                    sysDictData.setDictValue(s);
+                    sysDictData.setDictType("sop_type");
+                    sysDictDatas.add(sysDictData);
+                }
+            }
+        }
+        return CommonResult.success(sysDictDatas);
+    }
+
 }

+ 5 - 1
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsUnitController.java

@@ -54,7 +54,10 @@ public class IsUnitController extends BaseController
     public CommonResult<Page<IsUnit>> getIsUnitPage(Page<IsUnit> page, IsUnit isUnit)
     {
         Page<IsUnit> result = isUnitService.page(page, Wrappers.<IsUnit>lambdaQuery()
+                .eq(isUnit.getUnitId() != null, IsUnit::getUnitId, isUnit.getUnitId())
                 .like(StringUtils.isNotBlank(isUnit.getUnitName()), IsUnit::getUnitName, isUnit.getUnitName())
+                .eq(StringUtils.isNotBlank(isUnit.getStatus()), IsUnit::getStatus, isUnit.getStatus())
+                .orderByAsc(IsUnit::getOrderNum)
                 .orderByDesc(IsUnit::getUnitId));
         return CommonResult.success(result);
     }
@@ -100,7 +103,7 @@ public class IsUnitController extends BaseController
     public CommonResult<Boolean> insertIsUnit(@RequestBody @Parameter(name = "isUnit", description = "新增数据类,放到body") IsUnit isUnit)
     {
         // 断言校验
-        Assert.isTrue(StringUtils.isNotBlank(isUnit.getUnitName()), "位名称不可为空!");
+        Assert.isTrue(StringUtils.isNotBlank(isUnit.getUnitName()), "位名称不可为空!");
         IsUnit one =isUnitService.getById(isUnit.getParentId());
         String ancestors;
         if (one != null) {
@@ -121,6 +124,7 @@ public class IsUnitController extends BaseController
     @PostMapping("/updateIsUnit")
     public CommonResult<Boolean> updateIsUnit(@RequestBody @Parameter(name = "isUnit", description = "修改数据类,放到body") IsUnit isUnit)
     {
+
         return CommonResult.success(isUnitService.updateById(isUnit));
     }
 

+ 12 - 0
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsWorkstationController.java

@@ -1,5 +1,6 @@
 package com.ktg.iscs.controller;
 
+import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ktg.common.annotation.Log;
@@ -117,6 +118,17 @@ public class IsWorkstationController extends BaseController {
         return CommonResult.success(isWorkstationService.updateIsWorkstation(isWorkstation) == 1);
     }
 
+    @ApiOperation("修改mars岗位状态")
+    @Log(title = "mars岗位", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateIsWorkstationStatus")
+    public CommonResult<Boolean> updateIsWorkstationStatus(@RequestBody @Parameter(name = "isWorkstation", description = "修改数据类,放到body") IsWorkstation isWorkstation) {
+        Assert.notNull(isWorkstation.getWorkstationId(), "id不可为空!");
+        Assert.notBlank(isWorkstation.getStatus(), "状态不可为空!");
+        return CommonResult.success(isWorkstationService.update(Wrappers.<IsWorkstation>lambdaUpdate()
+                .eq(IsWorkstation::getWorkstationId, isWorkstation.getWorkstationId())
+                .set(IsWorkstation::getStatus, isWorkstation.getStatus())));
+    }
+
     /**
      * 删除mars岗位
      */

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsLotoStation.java

@@ -47,4 +47,7 @@ public class IsLotoStation extends BaseEntity
     @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
     private String delFlag;
 
+    @ApiModelProperty(value = "排序")
+    private Integer orderNum;
+
 }

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/dto/point/PagePointDTO.java

@@ -37,4 +37,7 @@ public class PagePointDTO
     @ApiModelProperty(value = "锁具类型id")
     private Long lockTypeId;
 
+    @ApiModelProperty(value = "岗位id")
+    private Long workstationId;
+
 }

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/loto/IsLotoStationVO.java

@@ -50,5 +50,8 @@ public class IsLotoStationVO extends BaseBean
     @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
     private String delFlag;
 
+    @ApiModelProperty(value = "排序")
+    private Integer orderNum;
+
 
 }

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/points/PointPageVO.java

@@ -83,4 +83,7 @@ public class PointPageVO extends BaseBean
     @ApiModelProperty(value = "锁具类型图片")
     private String locksetTypeImg;
 
+    @ApiModelProperty(value = "岗位名称")
+    private String workstationName;
+
 }

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/workarea/PointsMapVO.java

@@ -27,6 +27,9 @@ public class PointsMapVO implements Serializable {
     @ApiModelProperty(value = "点位Name")
     private String pointName;
 
+    @ApiModelProperty(value = "作用")
+    private String remark;
+
     @ApiModelProperty(value = "前置点位id")
     private Long prePointId;
 

+ 18 - 6
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsJobTicketServiceImpl.java

@@ -28,10 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.ktg.iscs.domain.constant.ErrorCodeConstants.*;
@@ -315,11 +312,26 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
         if (sopId != null) {
             IsSop sop = iIsSopService.getById(sopId);
             Assert.notNull(sop, "sop不存在");
-            jobName = sop.getSopName() + DateUtils.parseDateToStr("yyyy-MM-dd", new Date());
+            jobName = sop.getSopName() + "-" + DateUtils.parseDateToStr("yyyy-MM-dd", new Date());
         } else {
             // 2.如果不是sop生成的,则根据数据自己生成
             IsWorkstation workstation = iIsWorkstationService.getById(workstationId);
             Assert.notNull(workstation, "岗位信息不存在!");
+            String workstationName = workstation.getWorkstationName();
+            // 2.1如果岗位是有父级的,则处理
+            if (!"0".equals(workstation.getAncestors())) {
+                // 使用 split 方法按逗号分隔字符串
+                String[] items = workstation.getAncestors().split(",");
+                // 将数组转换为 List
+                List<String> list = Arrays.asList(items);
+                List<IsWorkstation> isWorkstationList = iIsWorkstationService.list(Wrappers.<IsWorkstation>lambdaQuery()
+                        .in(IsWorkstation::getWorkstationId, list));
+                if (!isWorkstationList.isEmpty()) {
+                    List<String> collect = isWorkstationList.stream().map(IsWorkstation::getWorkstationName).collect(Collectors.toList());
+                    workstationName = String.join("-", collect);
+                }
+
+            }
             IsMachinery machinery = isMachineryService.getById(machineryId);
             Assert.notNull(machinery, "设备工艺信息不存在!");
             String ticketTypeValue;
@@ -328,7 +340,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
             } else {
                 ticketTypeValue = DictUtils.getDictValue("ticket_type", machinery.getMachineryType());
             }
-            jobName = workstation.getWorkstationName() + machinery.getMachineryName() + ticketTypeValue;
+            jobName = workstationName + "-" + machinery.getMachineryName() + "-" + ticketTypeValue;
         }
         // 开始生成文件名称尾缀
         String rname = jobName;

+ 2 - 1
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsJobTicketStepServiceImpl.java

@@ -67,7 +67,8 @@ public class IsJobTicketStepServiceImpl extends ServiceImpl<IsJobTicketStepMappe
         List<IsJobTicketPoints> pointList = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
                 .eq(IsJobTicketPoints::getTicketId, ticketId));
         List<IsJobTicketUser> userList = iIsJobTicketUserService.list(Wrappers.<IsJobTicketUser>lambdaQuery()
-                .eq(IsJobTicketUser::getTicketId, ticketId));
+                .eq(IsJobTicketUser::getTicketId, ticketId)
+                .ne(IsJobTicketUser::getUserRole, "jtlocker"));
         // 1.1读取第三步的计数
         int oneLockNum = pointList.size();
         int oneUserNum = userList.size();

+ 1 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsLotoStationServiceImpl.java

@@ -98,6 +98,7 @@ public class IsLotoStationServiceImpl extends ServiceImpl<IsLotoStationMapper, I
                                 o.setPowerTypeName(pointDetailVO.getPowerTypeName());
                                 o.setPointIcon(pointDetailVO.getPointIcon());
                                 o.setPointPicture(pointDetailVO.getPointPicture());
+                                o.setRemark(pointDetailVO.getRemark());
                             }
                         }
                     }

+ 22 - 5
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMarsSopServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -87,8 +88,8 @@ public class IsMarsSopServiceImpl extends ServiceImpl<IsSopMapper, IsSop> implem
         // 1.判断工艺必选
         Assert.notNull(dto.getWorkstationId(), "岗位id不可为空!");
         // Assert.notNull(dto.getMachineryId(), "设备工艺id不可为空!");
-        List<IsSop> list = list(Wrappers.<IsSop>lambdaQuery().eq(IsSop::getSopCode, dto.getSopCode()));
-        Assert.isTrue(list.isEmpty(), "该SOP编号已被使用!");
+        // List<IsSop> list = list(Wrappers.<IsSop>lambdaQuery().eq(IsSop::getSopCode, dto.getSopCode()));
+        // Assert.isTrue(list.isEmpty(), "该SOP编号已被使用!");
         // 1.1开始生成默认名称
         String sopName = generateName(dto.getWorkstationId(), dto.getMachineryId(), dto.getSopType(), dto.getSopId());
         dto.setSopName(sopName);
@@ -113,10 +114,10 @@ public class IsMarsSopServiceImpl extends ServiceImpl<IsSopMapper, IsSop> implem
         Assert.notNull(dto.getSopId(), "sopId不可为空!");
         Assert.isTrue(StringUtils.isNotBlank(dto.getSopName()), "SOP名称不可为空!");
         // Assert.isTrue(StringUtils.isNotBlank(dto.getSopCode()), "SOP编号名称不可为空!");
-        List<IsSop> list = list(Wrappers.<IsSop>lambdaQuery()
+        /*List<IsSop> list = list(Wrappers.<IsSop>lambdaQuery()
                 .eq(IsSop::getSopCode, dto.getSopCode())
                 .ne(IsSop::getSopId, dto.getSopId()));
-        Assert.isTrue(list.isEmpty(), "该SOP编号已被使用!");
+        Assert.isTrue(list.isEmpty(), "该SOP编号已被使用!");*/
         // 1.判断工艺必选
         Assert.notNull(dto.getMachineryId(), "设备工艺id不可为空!");
         // 1.1开始生成默认名称
@@ -144,8 +145,24 @@ public class IsMarsSopServiceImpl extends ServiceImpl<IsSopMapper, IsSop> implem
         Assert.notNull(workstation, "岗位信息不存在!");
         IsMachinery machinery = isMachineryService.getById(machineryId);
         Assert.notNull(machinery, "设备工艺信息不存在!");
+        // 如果岗位是多级
+        Assert.notNull(workstation, "岗位信息不存在!");
+        String workstationName = workstation.getWorkstationName();
+        // 2.1如果岗位是有父级的,则处理
+        if (!"0".equals(workstation.getAncestors())) {
+            // 使用 split 方法按逗号分隔字符串
+            String[] items = workstation.getAncestors().split(",");
+            // 将数组转换为 List
+            List<String> list = Arrays.asList(items);
+            List<IsWorkstation> isWorkstationList = iIsWorkstationService.list(Wrappers.<IsWorkstation>lambdaQuery()
+                    .in(IsWorkstation::getWorkstationId, list));
+            if (!isWorkstationList.isEmpty()) {
+                List<String> collect = isWorkstationList.stream().map(IsWorkstation::getWorkstationName).collect(Collectors.toList());
+                workstationName = String.join("-", collect);
+            }
+        }
         String sopTypeValue = DictUtils.getDictLabel("sop_type", sopType);
-        String sopName = workstation.getWorkstationName() + machinery.getMachineryName() + sopTypeValue;
+        String sopName = workstationName + "-" + workstation.getWorkstationName() + "-" + machinery.getMachineryName() + "-" + sopTypeValue;
         List<IsSop> listName = list(Wrappers.<IsSop>lambdaQuery()
                 .eq(IsSop::getSopName, sopName)
                 .ne(sopId != null, IsSop::getSopId, sopId));

+ 10 - 8
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsWorkstationServiceImpl.java

@@ -67,10 +67,11 @@ public class IsWorkstationServiceImpl extends ServiceImpl<IsWorkstationMapper, I
     {
         // 断言校验
         Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationName()), "岗位名称不可为空!");
-        Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
-        List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
-                .eq(IsWorkstation::getWorkstationCode, isWorkstation.getWorkstationCode()));
-        Assert.isTrue(list.isEmpty(), "该岗位编号已被使用!");
+        // Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
+        /*List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
+                .eq(IsWorkstation::getWorkstationName, isWorkstation.getWorkstationName())
+                .eq(IsWorkstation::getParentId, isWorkstation.getParentId()));
+        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");*/
         IsWorkstation one =getById(isWorkstation.getParentId());
         String ancestors;
         if (one != null) {
@@ -94,11 +95,12 @@ public class IsWorkstationServiceImpl extends ServiceImpl<IsWorkstationMapper, I
         // 断言校验
         Assert.notNull(isWorkstation.getWorkstationId(), "岗位ID不可为空!");
         Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationName()), "岗位名称不可为空!");
-        Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
-        List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
-                .eq(IsWorkstation::getWorkstationCode, isWorkstation.getWorkstationCode())
+        // Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
+        /*List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
+                .eq(IsWorkstation::getWorkstationName, isWorkstation.getWorkstationName())
+                .eq(IsWorkstation::getParentId, isWorkstation.getParentId())
                 .ne(IsWorkstation::getWorkstationId, isWorkstation.getWorkstationId()));
-        Assert.isTrue(list.isEmpty(), "该岗位编号已被使用!");
+        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");*/
         isWorkstation.setUpdateTime(DateUtils.getNowDate());
         return isWorkstationMapper.updateIsWorkstation(isWorkstation);
     }

+ 6 - 1
ktg-iscs/src/main/resources/mapper/IsIsolationPointMapper.xml

@@ -170,10 +170,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             l.lock_type_icon,
             l.lock_type_img,
             t.lockset_type_img,
-            s.loto_name
+            s.loto_name,
+            w.workstation_name
         FROM is_isolation_point p
         LEFT JOIN is_lock_type l ON l.lock_type_id = p.lock_type_id
         LEFT JOIN is_lockset_type t ON t.lockset_type_id = p.lockset_type_id
+        LEFT JOIN is_workstation w ON w.workstation_id = p.workstation_id
         LEFT JOIN is_loto_station s ON s.loto_id = p.loto_id
         <where>
             <if test="dto.pointCode != null and dto.pointCode.trim != ''">
@@ -200,6 +202,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="dto.lockTypeId != null">
                 and p.lock_type_id = #{dto.lockTypeId}
             </if>
+            <if test="dto.workstationId != null">
+                and p.workstation_id = #{dto.workstationId}
+            </if>
         </where>
             order by p.point_id desc
     </select>

+ 4 - 0
ktg-iscs/src/main/resources/mapper/IsLotoStationMapper.xml

@@ -23,8 +23,12 @@
             <if test="isLotoStation.workstationId != null">
                 and l.workstation_id = #{isLotoStation.workstationId}
             </if>
+            <if test="isLotoStation.lotoId != null">
+                and l.loto_id = #{isLotoStation.lotoId}
+            </if>
             ${isLotoStation.paramMap.workstationScope}
         ORDER BY
+            l.order_num asc,
         l.loto_id DESC
     </select>
 </mapper>

+ 3 - 0
ktg-iscs/src/main/resources/mapper/IsMachineryMapper.xml

@@ -14,6 +14,9 @@
         LEFT JOIN is_workstation w ON w.workstation_id = t.workstation_id
         LEFT JOIN is_loto_station l ON l.loto_id = t.loto_id
         <where>
+            <if test="isMachinery.machineryId != null">
+                and t.machinery_id = #{isMachinery.machineryId}
+            </if>
             <if test="isMachinery.machineryName != null and isMachinery.machineryName.trim != ''">
                 and t.machinery_name like concat('%',#{isMachinery.machineryName},'%')
             </if>

+ 2 - 2
ktg-iscs/src/main/resources/mapper/IsWorkstationMapper.xml

@@ -123,14 +123,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 and w.status = #{isWorkstation.status}
             </if>
             <if test="ids.size > 0">
-                w.workstation_id in
+                and w.workstation_id in
                 <foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
                     #{item}
                 </foreach>
             </if>
             ${isWorkstation.paramMap.workstationScope}
         </where>
-        order by w.workstation_id desc
+        order by w.order_num asc, w.workstation_id desc
     </select>
 
 </mapper>