Browse Source

刀具功能管理

oyq28 2 weeks ago
parent
commit
feca05fd4b

+ 1 - 1
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/MachineCuttingToolService.java

@@ -41,7 +41,7 @@ public interface MachineCuttingToolService extends SuperCacheService<MachineCutt
 
     /**
      * 同步设备刀具
-     * @param param
+     * @param
      */
     void sysCuttingTools(MachineCuttingTool machineCuttingTool) throws Exception;
 

+ 18 - 18
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/productionReadyCenter/service/impl/MachineCuttingToolServiceImpl.java

@@ -76,6 +76,9 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
     @Autowired
     private MsgUtil msgUtil;
 
+    @Autowired
+    private MachineCuttingToolService machineCuttingToolService;
+
     @Override
     @InjectionResult
     public IPage<MachineCuttingTool> findPage(IPage<MachineCuttingTool> page, LbqWrapper<MachineCuttingTool> wrapper) {
@@ -96,17 +99,9 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_JSON);
         for(long resourceId : data.getIds()){
-
-            ZZoneProductionresource zoneProductionresource = zZoneProductionresourceMapper.selectOne(Wraps.<ZZoneProductionresource>lbQ().eq(ZZoneProductionresource::getResourceId,resourceId));
-            ZZone zZone = zoneService.getById(zoneProductionresource.getZoneId());
-            // 判断该节点使用那条线的plc
-            Map<String, String>  plcInfo = DictionaryKey.PLC_CATEGORY.get(zZone.getNo());
-            String paramKey = zZone.getNo() + "_plc";
+            String paramKey = "hostSystemUrl";
             String plcUrl = (null == msgUtil.redis_get(ParameterKey.PARAMETERS)? "": ((Map<String,String>)msgUtil.redis_get(ParameterKey.PARAMETERS)).get(paramKey).toString());
 
-            // TODO 后续删除代码,目前条用模拟接口
-            //plcUrl = plcUrl.replace("8081","8083");
-
             Productionresource productionresource =  productionresourceviewMapper.selectById(resourceId);
             // 访问ccs接口查询设备刀具
             JSONObject jsonObject = new JSONObject();
@@ -130,33 +125,38 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
             productionresource.setToolSynTime(DateUtil.formatTime(Calendar.getInstance().getTime()));
             productionresource.setToolNum(upResult.size());
             productionresourceviewMapper.updateById(productionresource);
+            /*
+            List<MachineCuttingTool> machineCuttingToolList = machineCuttingToolService.list(new LbqWrapper<MachineCuttingTool>().eq(MachineCuttingTool::getMachineId, resourceId));
+            machineCuttingToolList.stream().filter(item -> {
+                
+            }); */
 
-            baseMapper.delete(Wraps.<MachineCuttingTool>lbQ().eq(MachineCuttingTool::getMachineId, resourceId));
+            baseMapper.delete(Wraps.<MachineCuttingTool>lbQ().eq(MachineCuttingTool::getMachineId, resourceId).eq(MachineCuttingTool::getStatus,"0"));
             for(int i = 0; i<upResult.size(); i++){
                 JSONObject tool = upResult.getJSONObject(i);
+                String cuttingToolNo = tool.getString("number");
                 String name = tool.getString("name");
-                CuttingTool cuttingTool = cuttingToolMapper.selectOne(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getCuttingToolName,name).eq(CuttingTool::getCuttingToolNo, resourceId));
+                CuttingTool cuttingTool = cuttingToolMapper.selectOne(Wraps.<CuttingTool>lbQ().eq(CuttingTool::getCuttingToolNo, cuttingToolNo).eq(CuttingTool::getDeviceId, resourceId));
                 MachineCuttingTool machineCuttingTool = new MachineCuttingTool();
                 machineCuttingTool.setMachineId(resourceId);
+                machineCuttingTool.setCuttingToolId(cuttingToolNo);
                 machineCuttingTool.setCuttingToolName(name);
                 if(null != cuttingTool){
                     machineCuttingTool.setCuttingToolPicture(cuttingTool.getCuttingToolPicture());
                     machineCuttingTool.setCuttingToolInstallPicture(cuttingTool.getCuttingToolInstallPicture());
                 }
                 machineCuttingTool.setCuttingToolPosition(tool.getString("position"));
-                machineCuttingTool.setCuttingToolId(tool.getString("number"));
                 String cuttingToolType = tool.getString("monitorType");
                 machineCuttingTool.setCuttingToolType(cuttingToolType);
                 machineCuttingTool.setEarlyWarnning(tool.getString("targetLife"));
-                machineCuttingTool.setUseageCount(tool.getString("workPiece"));
+                //machineCuttingTool.setUseageCount(tool.getString("workPiece"));
                 machineCuttingTool.setSurplusCount(tool.getString("warnLife"));
-                machineCuttingTool.setSisterCuttingToolId(tool.getString("sisterNo"));
-                machineCuttingTool.setKnifeEdgeNumber(tool.getString("toolEdgeNo"));
-                machineCuttingTool.setCuttingToolRadius(tool.getString("toolRadius"));
+                //machineCuttingTool.setSisterCuttingToolId(tool.getString("sisterNo"));
+                //machineCuttingTool.setKnifeEdgeNumber(tool.getString("toolEdgeNo"));
+                //machineCuttingTool.setCuttingToolRadius(tool.getString("toolRadius"));
+                machineCuttingTool.setTl(tool.getString("tl"));
                 baseMapper.insert(machineCuttingTool);
             }
-
-
         }
     }
 

+ 3 - 1
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/productionReadyCenter/MachineCuttingToolMapper.xml

@@ -23,12 +23,14 @@
         <result column="cutting_tool_position" jdbcType="VARCHAR" property="cuttingToolPosition"/>
         <result column="machine_cutting_tool_type" jdbcType="VARCHAR" property="machineCuttingToolType"/>
         <result column="machine_id" jdbcType="VARCHAR" property="machineId"/>
+        <result column="tl" jdbcType="VARCHAR" property="tl"/>
+        <result column="status" jdbcType="VARCHAR" property="status"/>
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id,create_user,create_time,update_user,update_time, cutting_tool_name, cutting_tool_type, specifications,cutting_tool_picture,cutting_tool_install_picture,cutting_tool_radius,
-        cutting_tool_monitor_type,useage_count,surplus_count,early_warnning,cutting_tool_id,sister_cutting_tool_id,knife_edge_number,cutting_tool_position,machine_cutting_tool_type,machine_id
+        cutting_tool_monitor_type,useage_count,surplus_count,early_warnning,cutting_tool_id,sister_cutting_tool_id,knife_edge_number,cutting_tool_position,machine_cutting_tool_type,machine_id,tl,status
     </sql>
 
     <select id="findPage" resultMap="BaseResultMap">

+ 1 - 1
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionReadyCenter/MachineCuttingToolController.java

@@ -67,7 +67,7 @@ public class MachineCuttingToolController extends SuperCacheController<MachineCu
             baseService.sysCuttingTools(machineCuttingTool);
             return success();
         } catch (Exception e) {
-            log.error("sysCuttingTools error" + e.getMessage());
+            log.error("设备"+ machineCuttingTool.getMachineId() +"刀具数据同步失败" + e.getMessage());
             return fail("刀具数据同步失败");
         }
     }

+ 31 - 13
imcs-admin-boot/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionResourceCenter/ToolController.java

@@ -2,32 +2,35 @@ package com.github.zuihou.business.controller.productionResourceCenter;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.zuihou.base.R;
+import com.github.zuihou.base.controller.SuperController;
 import com.github.zuihou.base.request.PageParams;
-import com.github.zuihou.business.productionResourceCenter.dao.ToolMapper;
-import com.github.zuihou.business.productionResourceCenter.entity.Tool;
+import com.github.zuihou.business.productionReadyCenter.entity.MachineCuttingTool;
+import com.github.zuihou.business.productionReadyCenter.service.MachineCuttingToolService;
+import com.github.zuihou.business.productionResourceCenter.dto.ToolPageDTO;
 import com.github.zuihou.business.productionResourceCenter.dto.ToolSaveDTO;
 import com.github.zuihou.business.productionResourceCenter.dto.ToolUpdateDTO;
-import com.github.zuihou.business.productionResourceCenter.dto.ToolPageDTO;
+import com.github.zuihou.business.productionResourceCenter.entity.Productionresource;
+import com.github.zuihou.business.productionResourceCenter.entity.Tool;
+import com.github.zuihou.business.productionResourceCenter.service.ProductionresourceBizService;
 import com.github.zuihou.business.productionResourceCenter.service.ToolService;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import com.github.zuihou.base.controller.SuperController;
-import com.github.zuihou.base.R;
-import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import com.github.zuihou.log.annotation.SysLog;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-import com.github.zuihou.security.annotation.PreAuth;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -46,6 +49,13 @@ import org.springframework.web.bind.annotation.RestController;
 @SysLog(enabled = true)
 public class ToolController extends SuperController<ToolService, Long, Tool, ToolPageDTO, ToolSaveDTO, ToolUpdateDTO> {
 
+    @Autowired
+    private ProductionresourceBizService productionresourceBizService;
+
+    @Autowired
+    private MachineCuttingToolService machineCuttingToolService;
+
+
     @Override
     public void query(PageParams<ToolPageDTO> params, IPage<Tool> page, Long defSize) {
         ToolPageDTO data = params.getModel();
@@ -80,12 +90,20 @@ public class ToolController extends SuperController<ToolService, Long, Tool, Too
         return success(tool);
     }
 
-    //
+    //刀具定时任务处理
+    @Scheduled(cron = "0 0/2 * * * *")
     @ApiOperation(value = "同步刀具", notes = "同步刀具")
     @PostMapping("/synchronousTool")
-    public R<Boolean> synchronousTool(@RequestBody Tool model) {
+    public R<Boolean> synchronousTool() throws Exception {
+        List<Productionresource> dataList = productionresourceBizService.list(new LbqWrapper<Productionresource>().eq(Productionresource::getStatus, "1").ne(Productionresource::getOnlineStatus,"0").isNotNull(Productionresource::getModeSpecification));
+        List<Long> ids = dataList.stream().map(Productionresource::getId).collect(Collectors.toList());
+        MachineCuttingTool machineCuttingTool = new MachineCuttingTool();
+        machineCuttingTool.setIds(ids);
+        //同步更新处理
+        machineCuttingToolService.sysCuttingTools(machineCuttingTool);
+        //同步添加天轨处理订单
 
-        return success(baseService.synchronousTool(model));
+        return R.success();
     }
 
 }

+ 12 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/dto/MachineCuttingToolPageDTO.java

@@ -143,4 +143,16 @@ public class MachineCuttingToolPageDTO implements Serializable {
     @ApiModelProperty(value = "设备id")
     private long machineId;
 
+    /**
+     * 锁定状态
+     */
+    @ApiModelProperty(value = "锁定状态")
+    private String tl;
+
+    /**
+     * 锁定运行状态
+     */
+    @ApiModelProperty(value = "锁定运行状态")
+    private String status;
+
 }

+ 5 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/dto/MachineCuttingToolSaveDTO.java

@@ -142,4 +142,9 @@ public class MachineCuttingToolSaveDTO implements Serializable {
     @ApiModelProperty(value = "设备id")
     private long machineId;
 
+    /**
+     * 锁定运行状态
+     */
+    @ApiModelProperty(value = "锁定运行状态")
+    private String status;
 }

+ 16 - 0
imcs-admin-boot/imcs-business-entity/src/main/java/com/github/zuihou/business/productionReadyCenter/entity/MachineCuttingTool.java

@@ -184,6 +184,22 @@ public class MachineCuttingTool extends Entity<Long> {
     @Excel(name = "设备id")
     private long machineId;
 
+    /**
+     * 锁定状态
+     */
+    @ApiModelProperty(value = "锁定状态(0-未锁定 L-锁定)")
+    @TableField(value = "tl", condition = EQUAL)
+    @Excel(name = "锁定状态")
+    private String tl;
+
+    /**
+     * 锁定运行状态
+     */
+    @ApiModelProperty(value = "锁定运行状态(0-未运行 1-运行中)")
+    @TableField(value = "status", condition = EQUAL)
+    @Excel(name = "锁定运行状态")
+    private String status;
+
     @TableField(exist = false)
     private List<Long> ids;
 }