Pārlūkot izejas kodu

设备刀具同步接口增加

yejian 3 gadi atpakaļ
vecāks
revīzija
82c022b847

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

@@ -9,6 +9,8 @@ import com.github.zuihou.business.productionReadyCenter.entity.CuttingTool;
 import com.github.zuihou.business.productionReadyCenter.entity.MachineCuttingTool;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 
+import java.util.Map;
+
 /**
  * <p>
  * 业务接口
@@ -35,4 +37,10 @@ public interface MachineCuttingToolService extends SuperCacheService<MachineCutt
      * @return
      */
     MachineCuttingTool save(MachineCuttingToolSaveDTO data);
+
+    /**
+     * 同步设备刀具
+     * @param param
+     */
+    void sysCuttingTools(Map<String, String> param) throws Exception;
 }

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

@@ -1,29 +1,38 @@
 package com.github.zuihou.business.productionReadyCenter.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.base.service.SuperCacheServiceImpl;
-import com.github.zuihou.business.aps.instance.domain.basicdata.Machine;
-import com.github.zuihou.business.productionReadyCenter.dao.CuttingToolMapper;
 import com.github.zuihou.business.productionReadyCenter.dao.MachineCuttingToolMapper;
-import com.github.zuihou.business.productionReadyCenter.dto.CuttingToolSaveDTO;
-import com.github.zuihou.business.productionReadyCenter.dto.CuttingToolUpdateDTO;
 import com.github.zuihou.business.productionReadyCenter.dto.MachineCuttingToolSaveDTO;
-import com.github.zuihou.business.productionReadyCenter.entity.CuttingTool;
 import com.github.zuihou.business.productionReadyCenter.entity.MachineCuttingTool;
-import com.github.zuihou.business.productionReadyCenter.service.CuttingToolService;
 import com.github.zuihou.business.productionReadyCenter.service.MachineCuttingToolService;
 import com.github.zuihou.common.constant.CacheKey;
+import com.github.zuihou.common.util.DateUtil;
+import com.github.zuihou.context.BaseContextHandler;
 import com.github.zuihou.database.mybatis.auth.DataScope;
-import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.injection.annonation.InjectionResult;
+import com.github.zuihou.tenant.entity.Productionresource;
+import com.github.zuihou.tenant.service.ProductionresourceService;
 import com.github.zuihou.utils.BeanPlusUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.client.RestTemplate;
 
-import static com.github.zuihou.utils.BizAssert.isFalse;
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.Calendar;
+import java.util.Map;
 
 /**
  * <p>
@@ -39,6 +48,13 @@ import static com.github.zuihou.utils.BizAssert.isFalse;
 
 public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<MachineCuttingToolMapper, MachineCuttingTool> implements MachineCuttingToolService {
 
+    @Value("${machineCuttingTools.synUrl}")
+    private String synUrl;
+    @Autowired
+    private ProductionresourceService productionresourceService;
+    @Resource
+    private RestTemplate restTemplate;
+
     @Override
     @InjectionResult
     public IPage<MachineCuttingTool> findPage(IPage<MachineCuttingTool> page, LbqWrapper<MachineCuttingTool> wrapper) {
@@ -53,6 +69,40 @@ public class MachineCuttingToolServiceImpl extends SuperCacheServiceImpl<Machine
         return machineCuttingTool;
     }
 
+    @Override
+    public void sysCuttingTools(Map<String, String> param) throws Exception{
+        BaseContextHandler.setTenant("0000");
+        String[] synIds = param.get("ids").split(",");
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        for(String id : synIds){
+            Productionresource productionresource =  productionresourceService.getById(id);
+            // 访问ccs接口查询设备刀具
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("url",productionresource.getIp());
+            jsonObject.put("port",productionresource.getPort());
+            jsonObject.put("businessType", "tools");
+
+            HttpEntity<String> request = new HttpEntity<>(jsonObject.toJSONString(), headers);
+
+            String synMachineCuttingTolls = "";
+            ResponseEntity<String> postForEntity = restTemplate.postForEntity(synUrl, request, String.class);
+            synMachineCuttingTolls = postForEntity.getBody();
+
+            log.info("设备" + productionresource.getName() + "同步刀具返回{},请求参数{}",synMachineCuttingTolls,jsonObject.toString());
+            JSONObject upResult = JSON.parseObject(synMachineCuttingTolls);
+            if("0".equals(upResult.getString("code"))){
+                productionresource.setToolSynTime(DateUtil.formatTime(Calendar.getInstance().getTime()));
+                productionresourceService.save(productionresource);
+
+                MachineCuttingTool machineCuttingTool = JSONObject.parseObject(synMachineCuttingTolls,MachineCuttingTool.class);
+                machineCuttingTool.setMachineId(Integer.valueOf(id));
+                save(machineCuttingTool);
+            }
+
+        }
+    }
+
     @Override
     protected String getRegion() {
         return CacheKey.USER;

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

@@ -14,9 +14,12 @@ import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 
 /**
  * <p>
@@ -55,4 +58,14 @@ public class MachineCuttingToolController extends SuperCacheController<MachineCu
         MachineCuttingTool machineCuttingTool = baseService.save(model);
         return success(machineCuttingTool);
     }
+    @RequestMapping("sysCuttingTools")
+    public R sysCuttingTools(@RequestBody Map<String,String> param) {
+        try {
+            baseService.sysCuttingTools(param);
+            return success();
+        } catch (Exception e) {
+            log.error("sysCuttingTools error" + e.getMessage());
+            return fail("sysCuttingTools error");
+        }
+    }
 }