package com.szwl.controller; import cn.com.crbank.ommo.bean.ResultMessage; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage; import com.szwl.constant.ResponseCodesEnum; import com.szwl.model.bean.CommonParamVo; import com.szwl.model.bo.R; import com.szwl.model.bo.ResponseModel; import com.szwl.model.entity.TEquipment; import com.szwl.model.entity.TEquipmentDesc; import com.szwl.model.entity.TParameters; import com.szwl.model.entity.TProduct; import com.szwl.model.utils.PushUtils; import com.szwl.service.TEquipmentDescService; import com.szwl.service.TEquipmentService; import com.szwl.service.TParametersService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; import java.util.Objects; /** *

* 机器参数表 前端控制器 *

* * @author wuhs * @since 2022-04-23 */ @Api(value = "/tParameters", tags = {"参数"}) @RestController @RequestMapping("/tParameters") public class TParametersController { @Autowired private TParametersService tParametersService; @Autowired private TEquipmentService tEquipmentService; @Resource private TEquipmentDescService equipmentDescService; /** * 获取设备参数 * * @param * @return */ @PostMapping("/getParameters") public ResponseEntity getParameters(@RequestBody TParameters parameters) { Long equipmentId = parameters.getId(); String status = parameters.getStatus(); String clientId = parameters.getClientId(); LambdaQueryWrapper query = Wrappers.lambdaQuery(); query.eq(TParameters::getEquipmentId, equipmentId); query.eq(TParameters::getClientId, clientId); query.eq(TParameters::getStatus, status); List parametersList = tParametersService.list(query); if (parametersList.size() == 0) { return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(false) .setData(parametersList) .setMessage("暂无参数数据")); } return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData(parametersList) .setMessage("SUCCESS")); } /** * 推送设备共同以及/设备参数 * * @param * @return */ @PostMapping("/updateParameters") public ResponseEntity updateCommonParam(@RequestBody CommonParamVo commonParamVo) { String equipmentId = commonParamVo.getId(); TEquipment equipment = tEquipmentService.getById(Long.valueOf(equipmentId)); tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("Param", commonParamVo.getName() + ":" + commonParamVo.getVal()).toString()); return ResponseEntity .status(HttpStatus.OK) .body(new ResultMessage() .setCode(true) .setData("SUCCESS") .setMessage("SUCCESS")); } // @ApiOperation(value = "启用物料监控") // @PostMapping("/enableMaterial") // public ResponseModel enableMaterial(@RequestBody TParameters parameters) { // Long equipmentId = parameters.getEquipmentId(); // if (equipmentId == null) { // return R.fail(ResponseCodesEnum.A0001, "设备id不能为空"); // } //// TParameters tParameters = tParametersService.getById(equipmentId); //// if (Objects.isNull(tParameters)) { //// TParameters tParameters1 = new TParameters(); //// } // TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipmentId); // if (Objects.isNull(equipmentDesc)) { // TEquipmentDesc tEquipmentDesc = new TEquipmentDesc(); // tEquipmentDesc.setEquipmentId(equipmentId); // tEquipmentDesc.setIsMaterialUse("1"); // equipmentDescService.saveOrUpdate(tEquipmentDesc); // } else { // String isMaterialUse = equipmentDesc.getIsMaterialUse(); // if (StringUtils.isNotEmpty(isMaterialUse) && "1".equals(isMaterialUse)) { // return R.ok(ResponseCodesEnum.ALL_OK, "已开启ENABLED"); // } // equipmentDesc.setIsMaterialUse("1"); // equipmentDescService.saveOrUpdate(equipmentDesc); // } // // TEquipment equipment = tEquipmentService.getById(equipmentId); // tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("Param", "M502" + ":" + "1").toString()); // // return R.ok(ResponseCodesEnum.ALL_OK, "已发送Send"); // } @ApiOperation(value = "物料监控") @PostMapping("/enableMaterial") public ResponseModel enableMaterial(@RequestBody TParameters parameters) { Long equipmentId = parameters.getEquipmentId(); if (equipmentId == null) { return R.fail(ResponseCodesEnum.A0001, "设备id不能为空"); } String materialMonitorStatus = parameters.getMaterialMonitorStatus(); TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipmentId); if (Objects.isNull(equipmentDesc)) { TEquipmentDesc tEquipmentDesc = new TEquipmentDesc(); tEquipmentDesc.setEquipmentId(equipmentId); tEquipmentDesc.setIsMaterialUse("0"); // 默认未启用 equipmentDescService.saveOrUpdate(tEquipmentDesc); } TEquipment equipment = tEquipmentService.getById(equipmentId); if ("1".equals(materialMonitorStatus)) { // 当前是开启状态,用户点击后通知关闭 // equipmentDesc.setIsMaterialUse("0"); tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("Param", "M502" + ":" + "0").toString()); return R.ok(ResponseCodesEnum.ALL_OK, "已通知关闭"); } else { // 当前是未开启状态,用户点击后通知启用 // equipmentDesc.setIsMaterialUse("1"); tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("Param", "M502" + ":" + "1").toString()); return R.ok(ResponseCodesEnum.ALL_OK, "已通知开启"); } } }