package com.jcdm.main.da.tileMatchRules.controller;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import com.jcdm.common.core.domain.R;
|
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
|
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
|
import com.jcdm.main.da.tileMatchCollection.domain.DaTileMatchCollection;
|
import com.jcdm.main.da.tileMatchCollection.service.IDaTileMatchCollectionService;
|
import com.jcdm.main.da.tileMatchMiddleware.domain.DaTileMatchMiddleware;
|
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.enums.BusinessType;
|
import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules;
|
import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService;
|
import com.jcdm.common.utils.poi.ExcelUtil;
|
import com.jcdm.common.core.page.TableDataInfo;
|
|
import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService;
|
|
/**
|
* 配瓦规则Controller
|
*
|
* @author jiang
|
* @date 2024-01-24
|
*/
|
@RestController
|
@RequestMapping("/da/tileMatchRules")
|
public class DaTileMatchRulesController extends BaseController
|
{
|
@Autowired
|
private IDaTileMatchRulesService daTileMatchRulesService;
|
|
@Autowired
|
public IDaParamCollectionService daParamCollectionService;
|
@Resource
|
private IDaTileMatchCollectionService daTileMatchCollectionService;
|
|
/**
|
* 查询配瓦规则列表()
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(DaTileMatchRules daTileMatchRules) {
|
startPage();
|
List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
|
return getDataTable(list);
|
}
|
|
/**
|
* 曲轴配瓦
|
*/
|
@GetMapping("/list2")
|
public TableDataInfo list2(DaTileMatchRules daTileMatchRules) throws Exception
|
{
|
startPage();
|
List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
|
//这里取第一行的数据发送颜色信号
|
if (CollUtil.isNotEmpty(list)){
|
DaTileMatchRules daTileMatchRules1 = list.get(0);
|
String tileColor = daTileMatchRules1.getTileColor();
|
//1绿色 2黑色 3红色 4蓝色
|
Integer colorInt = null;
|
if ("#008000".equals(tileColor)){
|
colorInt = 1;
|
} else if ("#000000".equals(tileColor)){
|
colorInt = 2;
|
} else if ("#FF0000".equals(tileColor)){
|
colorInt = 3;
|
} else if ("#0000FF".equals(tileColor)){
|
colorInt = 4;
|
}
|
if (ObjectUtil.isNotEmpty(colorInt)){
|
ReadWriteEntity entity = new ReadWriteEntity("CFL4LJ.OP001.Color", colorInt);
|
miloService.writeToOpcByte(entity);
|
}
|
}
|
return getDataTable(list);
|
}
|
|
/**
|
* 连杆配瓦
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:list')")
|
@GetMapping("/list4")
|
public TableDataInfo list4(DaTileMatchRules daTileMatchRules)
|
{
|
startPage();
|
List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
|
return getDataTable(list);
|
}
|
|
/**
|
* 平衡轴配瓦
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:list')")
|
@GetMapping("/list3")
|
public TableDataInfo list3(DaTileMatchRules daTileMatchRules)
|
{
|
startPage();
|
List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出配瓦规则列表
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:export')")
|
@Log(title = "配瓦规则", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, DaTileMatchRules daTileMatchRules)
|
{
|
List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
|
ExcelUtil<DaTileMatchRules> util = new ExcelUtil<DaTileMatchRules>(DaTileMatchRules.class);
|
util.exportExcel(response, list, "配瓦规则数据");
|
}
|
|
/**
|
* 获取配瓦规则详细信息
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id)
|
{
|
return success(daTileMatchRulesService.selectDaTileMatchRulesById(id));
|
}
|
|
/**
|
* 新增配瓦规则
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:add')")
|
@Log(title = "配瓦规则", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody DaTileMatchRules daTileMatchRules)
|
{
|
return toAjax(daTileMatchRulesService.insertDaTileMatchRules(daTileMatchRules));
|
}
|
|
/**
|
* 修改配瓦规则
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:edit')")
|
@Log(title = "配瓦规则", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody DaTileMatchRules daTileMatchRules)
|
{
|
return toAjax(daTileMatchRulesService.updateDaTileMatchRules(daTileMatchRules));
|
}
|
|
/**
|
* 删除配瓦规则
|
*/
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:remove')")
|
@Log(title = "配瓦规则", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids)
|
{
|
return toAjax(daTileMatchRulesService.deleteDaTileMatchRulesByIds(ids));
|
}
|
|
@PreAuthorize("@ss.hasPermi('da:tileMatchRules:query')")
|
@GetMapping(value = "/barcode")
|
public String setBarcode(String barcode,String locationCode) {
|
String XT="";
|
try {
|
//Object SNCodeObject = miloService.readFromOpcUa("CFL4HX."+locationCode+".Code1").getValue();
|
Object SNCodeObject = miloService.readFromOpcUa("CFL4HX.HOP040.Code1").getValue();
|
if (null == SNCodeObject){
|
//SNCodeObject = miloService.readFromOpcUa("CFL4HX."+locationCode+ ".Code").getValue();
|
SNCodeObject = miloService.readFromOpcUa("CFL4HX.HOP040.Code").getValue();
|
}
|
if (null != SNCodeObject){
|
String SNCode = SNCodeObject.toString();
|
|
//插入数据
|
DaParamCollection saveData = new DaParamCollection();
|
saveData.setSfcCode(SNCode);
|
saveData.setParamValue(barcode);
|
saveData.setLocationCode(locationCode);
|
saveData.setParamCode("PHZ");
|
saveData.setParamName("平衡轴");
|
daParamCollectionService.insertDaParamCollection(saveData);
|
|
DaTileMatchCollection MatchCollection = new DaTileMatchCollection();
|
MatchCollection.setSfcCode(SNCode);
|
MatchCollection.setParamValue(barcode);
|
MatchCollection.setLocationCode(locationCode);
|
MatchCollection.setParamCode("PHZ");
|
MatchCollection.setParamName("平衡轴");
|
daTileMatchCollectionService.insertDaTileMatchCollection(MatchCollection);
|
|
DaParamCollection ParamCollection = new DaParamCollection();
|
ParamCollection.setSfcCode(SNCode);
|
List<DaParamCollection> DaParamCollectionlist=daParamCollectionService.selectDaParamCollectionList(ParamCollection);
|
List<DaParamCollection> XTParamCollection = DaParamCollectionlist.stream().filter(x -> "箱体".equals(x.getParamName())).collect(Collectors.toList());
|
if (CollUtil.isNotEmpty(XTParamCollection)){
|
DaParamCollection lastOne = XTParamCollection.get(0);
|
XT = lastOne.getParamValue();
|
}
|
|
ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.HOP040.Partcode", 1);
|
miloService.writeToOpcByte(entity6);
|
}
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
return XT;
|
}
|
|
|
@GetMapping("/getCheckData")
|
public R getCheckData(String SNCode, String XT, String CZ){
|
List<DaTileMatchRules> daTileMatchRulesList = daTileMatchRulesService.checkData(SNCode, XT, CZ);
|
return R.ok(daTileMatchRulesList);
|
}
|
}
|