| | |
| | | package com.jcdm.main.da.opcuaconfig.controller; |
| | | |
| | | import java.util.List; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; |
| | | import com.jcdm.main.da.opcuaconfig.domain.NodeEntity; |
| | | import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | | import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | | import com.jcdm.main.plcserver.sub.OPCUaSubscription; |
| | | import com.kangaroohy.milo.model.ReadWriteEntity; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.jcdm.common.annotation.Log; |
| | | import com.jcdm.common.core.controller.BaseController; |
| | | import com.jcdm.common.core.domain.AjaxResult; |
| | | import com.jcdm.common.core.page.TableDataInfo; |
| | | import com.jcdm.common.enums.BusinessType; |
| | | import com.jcdm.common.utils.poi.ExcelUtil; |
| | | import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; |
| | | import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.jcdm.common.core.page.TableDataInfo; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService; |
| | | |
| | | /** |
| | | * OPCUA参数设置Controller |
| | | * 交互信号配置Controller |
| | | * |
| | | * @author yyt |
| | | * @date 2023-12-22 |
| | | * @date 2024-01-23 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/da/opcuaconfig") |
| | |
| | | { |
| | | @Autowired |
| | | private IDaOpcuaConfigService daOpcuaConfigService; |
| | | |
| | | @Autowired |
| | | private IDaParamCollectionService daParamCollectionService; |
| | | |
| | | /** |
| | | * 查询OPCUA参数设置列表 |
| | | * 查询交互信号配置列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:list')") |
| | | @GetMapping("/list") |
| | |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:getconfig')") |
| | | @GetMapping("/getconfig") |
| | | public List<DaOpcuaConfig> getconfig(DaOpcuaConfig daOpcuaConfig) |
| | | { |
| | | return daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig); |
| | | } |
| | | |
| | | /** |
| | | * 导出OPCUA参数设置列表 |
| | | * 导出交互信号配置列表 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:export')") |
| | | @Log(title = "OPCUA参数设置", businessType = BusinessType.EXPORT) |
| | | @Log(title = "交互信号配置", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, DaOpcuaConfig daOpcuaConfig) |
| | | { |
| | | List<DaOpcuaConfig> list = daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig); |
| | | ExcelUtil<DaOpcuaConfig> util = new ExcelUtil<DaOpcuaConfig>(DaOpcuaConfig.class); |
| | | util.exportExcel(response, list, "OPCUA参数设置数据"); |
| | | util.exportExcel(response, list, "交互信号配置数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取OPCUA参数设置详细信息 |
| | | * 获取交互信号配置详细信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") |
| | | @GetMapping(value = "/{id}") |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增OPCUA参数设置 |
| | | * 新增交互信号配置 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:add')") |
| | | @Log(title = "OPCUA参数设置", businessType = BusinessType.INSERT) |
| | | @Log(title = "交互信号配置", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody DaOpcuaConfig daOpcuaConfig) |
| | | { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改OPCUA参数设置 |
| | | * 修改交互信号配置 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:edit')") |
| | | @Log(title = "OPCUA参数设置", businessType = BusinessType.UPDATE) |
| | | @Log(title = "交互信号配置", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody DaOpcuaConfig daOpcuaConfig) |
| | | { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 删除OPCUA参数设置 |
| | | * 删除交互信号配置 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:remove')") |
| | | @Log(title = "OPCUA参数设置", businessType = BusinessType.DELETE) |
| | | @Log(title = "交互信号配置", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | return toAjax(daOpcuaConfigService.deleteDaOpcuaConfigByIds(ids)); |
| | | } |
| | | |
| | | /** |
| | | * 获取交互信号配置详细信息 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") |
| | | @GetMapping(value = "/SNCode/{SNCode}/{locationCode}") |
| | | public AjaxResult setSNCode(@PathVariable("SNCode") String SNCode,@PathVariable("locationCode") String locationCode) { |
| | | ReadWriteEntity entity = new ReadWriteEntity("CFL4HX."+locationCode+".SNCode", SNCode); |
| | | Boolean out= true; |
| | | try { |
| | | miloService.writeToOpcUa(entity);//写SN |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return toAjax(out); |
| | | } |
| | | |
| | | /** |
| | | * 配瓦扫码 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") |
| | | @GetMapping(value = "/barcode/{barcode}/{locationCode}") |
| | | public AjaxResult setBarcode(@PathVariable("barcode") String barcode,@PathVariable("locationCode") String locationCode) { |
| | | Boolean out= true; |
| | | try { |
| | | Object SNCodeObject = miloService.readFromOpcUa("CFL4HX."+locationCode+".Code1").getValue(); |
| | | if (null == SNCodeObject){ |
| | | SNCodeObject = miloService.readFromOpcUa("CFL4HX."+locationCode+ ".Code").getValue(); |
| | | } |
| | | if (null != SNCodeObject){ |
| | | String SNCode = SNCodeObject.toString(); |
| | | //插入数据 |
| | | DaParamCollection saveData = new DaParamCollection(); |
| | | saveData.setSfcCode(SNCode); |
| | | saveData.setParamValue(barcode); |
| | | saveData.setLocationCode(locationCode); |
| | | saveData.setParamCode("XTM"); |
| | | saveData.setParamName("曲轴码"); |
| | | daParamCollectionService.insertDaParamCollection(saveData); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return toAjax(out); |
| | | } |
| | | } |