Commit e8f1eb20 by 李小惠

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-lxh

parents cc7f65b8 a2f11920
......@@ -15,6 +15,7 @@ public class WsCabinetReq {
private List<Box> boxList;
@Data
// 内部类表示box
public static class Box {
@JsonProperty("boxNum")
......@@ -23,6 +24,8 @@ public class WsCabinetReq {
@JsonProperty("state")
private int state;
@JsonProperty("errorMsg")
private String errorMsg;
// getters and setters
}
}
\ No newline at end of file
......@@ -13,7 +13,9 @@ import com.junmp.iot.server.ws.impl.DefaultWebSocketServerProtocol;
import com.junmp.jyzb.api.util.WsCabinetReq;
import com.junmp.jyzb.cache.OnlineRedisCache;
import com.junmp.jyzb.entity.Cabinet;
import com.junmp.jyzb.entity.CabinetBox;
import com.junmp.jyzb.entity.Temp.OnlineState;
import com.junmp.jyzb.service.CabinetBoxService;
import com.junmp.jyzb.service.CabinetService;
import com.junmp.jyzb.service.impl.CabinetServiceImpl;
import com.junmp.jyzb.utils.DateTimeUtil;
......@@ -41,14 +43,19 @@ import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Component
@Component
@Slf4j
public class CabinetWebSocketServer implements WebSocketServerListener {
@Resource
public CabinetService cabinetService;
@Resource
public CabinetBoxService cabinetBoxService;
@Override
public String uri() {
return "/cabinet/ws";
......@@ -57,18 +64,50 @@ public class CabinetWebSocketServer implements WebSocketServerListener {
@SneakyThrows
@Override
public void onText(DefaultWebSocketServerProtocol protocol) {
try {
String text = protocol.readText();
ObjectMapper objectMapper = new ObjectMapper();
WsCabinetReq boxData = objectMapper.readValue(text, WsCabinetReq.class);
String channel= protocol.requestMessage().getChannelId();
String channel= protocol.requestMessage().getChannelId();
Cabinet cabinet=cabinetService.getOne(new LambdaQueryWrapper<Cabinet>()
.eq(Cabinet::getCabinetNum, boxData.getSerialNum()));
List<WsCabinetReq.Box> boxStateList=boxData.getBoxList();
List<CabinetBox> boxlist=cabinetBoxService.list(new LambdaQueryWrapper<CabinetBox>()
.eq(CabinetBox::getCabinetId, cabinet.getId()));
// 将 boxlist 转换为 Map,以 boxNum 为键
Map<Integer, CabinetBox> boxMap = boxlist.stream()
.collect(Collectors.toMap(CabinetBox::getNum, box -> box));
List<CabinetBox> updateBoxlist=new ArrayList<>();
// 比较并修改
for (WsCabinetReq.Box boxState : boxStateList) {
Integer boxNum = Integer.valueOf(boxState.getBoxNum());
CabinetBox cabinetBox = boxMap.get(boxNum);
if (cabinetBox != null) {
// 根据 boxState 中的 state 字段修改 cabinetBox 中的状态
cabinetBox.setState(boxState.getState());
cabinetBox.setErrorMsg(boxState.getErrorMsg());
updateBoxlist.add(cabinetBox);
// 可以选择更新其他字段
// cabinetBox.setOtherField(...);
}
}
cabinet.setOnlineState(1);
cabinet.setUpdateTime(DateTimeUtil.getCurrentDateTime());
cabinet.setChannelId(channel);
cabinetService.updateById(cabinet);
cabinetBoxService.updateBatchById(updateBoxlist);
protocol.response("true");
}
catch (Exception e)
{
protocol.response("false");
}
}
@Override
......
......@@ -49,5 +49,14 @@ public class SysFormController {
public ApiRes<PageResult<TemplateGroupVo>> GetFormList(@RequestBody BaseRequest br) {
return ApiRes.success(SysFormService.getFormList(br));
}
@ApiOperation("检查配置是否可用")
@PostMapping(value = "CheckConfig")
public ApiRes<Boolean> CheckConfig(@RequestBody String br) {
return ApiRes.success(SysFormService.CheckConfig(br));
}
@ApiOperation("检查配置是否可用")
@PostMapping(value = "CheckConfig")
public ApiRes<Boolean> DeleteFormList(@RequestBody String br) {
return ApiRes.success(SysFormService.DeleteFrom(br));
}
}
......@@ -55,6 +55,7 @@ public class ProcessTemplates {
private String remark;
private String notify;
private String config;
/**
* 是否已停用
......
......@@ -51,4 +51,16 @@ public interface ISysFormService {
*/
PageResult<TemplateGroupVo> getFormList(BaseRequest br);
/**
* 检查配置项
*
* @return
*/
Boolean CheckConfig(String br);
/**
* 获取用户可见表单
*
* @return
*/
Boolean DeleteFrom(String fromId);
}
......@@ -136,9 +136,47 @@ public class SysFormServiceImpl extends ServiceImpl<ProcessTemplatesMapper, Proc
processTemplates.setFormName(process.getFormName());
processTemplates.setRemark(process.getRemark());
processTemplates.setUpdated(new Date());
processTemplates.setConfig(process.getConfig());
// processTemplates.
return processTemplateService.updateById(processTemplates);//更新表单明细表信息
}
public Boolean CheckConfig(String config)
{
ProcessTemplates process= this.getOne(new LambdaQueryWrapper<ProcessTemplates>()
.eq(ProcessTemplates::getConfig, config)
);
if (process!=null)
{
return false;
}
else
{
return true;
}
}
public Boolean DeleteFrom(String fromId)
{
ProcessTemplates process= this.getOne(new LambdaQueryWrapper<ProcessTemplates>()
.eq(ProcessTemplates::getFormId, fromId)
);
if (process!=null)
{
boolean res= this.removeById(process);
if (res)
{
return true;
}
else {
return false;
}
}
else
{
return false;
}
}
public PageResult<TemplateGroupVo> getFormList(BaseRequest br)
{
Map<String, Object> params = br.getParams();
......@@ -178,6 +216,7 @@ public class SysFormServiceImpl extends ServiceImpl<ProcessTemplatesMapper, Proc
}
templates.add(TemplateGroupVo.builder()
.formId(v.getTemplateId())
.config(v.getConfig())
.remark(v.getRemark())
.formName(v.getFormName())
.orgId(String.valueOf(v.getOrgId()))
......
......@@ -21,6 +21,7 @@ public class TemplateGroupVo {
private String processDefinitionId;
private String formName;
private String orgId;
private String config;
private Boolean isStop;
private String remark;
private String updated;
......
......@@ -8,5 +8,6 @@ public class UpdateProcessVO {
private String formJson;
private String formName;
private String processJson;
private String config;
private String remark;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论