提交
This commit is contained in:
@@ -29,7 +29,9 @@ public enum AlgorithmResponseEnum {
|
||||
DATA_LOSE ("A00510","未找到设备与主用户信息"),
|
||||
REPEAT_SHARE ("A00511","设备已分享完成,请勿再次分享"),
|
||||
DEVICE_LOSE("A00512","设备id缺失"),
|
||||
CHIRLDREN_EXIST("A00513","工程下存在项目,不能删除");
|
||||
CHIRLDREN_EXIST("A00513","工程下存在项目,不能删除"),
|
||||
CHIRLDREN2_EXIST("A00514","项目下存在设备,不能删除");
|
||||
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.njcn.csdevice.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
@@ -34,5 +36,9 @@ public class AppProjectAuditParm {
|
||||
private String status;
|
||||
|
||||
private String description;
|
||||
@ApiModelProperty(value = "拓扑图文件")
|
||||
private MultipartFile[] files;
|
||||
|
||||
@ApiModelProperty(value="拓扑图模版id集合")
|
||||
private List<String> topoIds;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.csdevice.pojo.param;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class CsMarketDataParam {
|
||||
|
||||
|
||||
private String userId;
|
||||
|
||||
|
||||
private String engineerId;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.njcn.csdevice.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "cs_market_data")
|
||||
public class CsMarketData {
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableField(value = "user_id")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 工程id
|
||||
*/
|
||||
@TableField(value = "engineer_id")
|
||||
private String engineerId;
|
||||
|
||||
public static final String COL_ID = "id";
|
||||
|
||||
public static final String COL_USER_ID = "user_id";
|
||||
|
||||
public static final String COL_ENGINEER_ID = "engineer_id";
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.njcn.csdevice.pojo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class CsMarketDataVO {
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 工程id
|
||||
*/
|
||||
private String engineerId;
|
||||
|
||||
private String engineerName;
|
||||
}
|
||||
@@ -74,8 +74,7 @@ public class AppProjectController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/auditAppProject")
|
||||
@ApiOperation("修改/删除项目")
|
||||
@ApiImplicitParam(name = "appProjectAuditParm", value = "修改项目参数", required = true)
|
||||
public HttpResult<Boolean> auditAppProject(@Validated @RequestBody AppProjectAuditParm appProjectAuditParm){
|
||||
public HttpResult<Boolean> auditAppProject(@Validated AppProjectAuditParm appProjectAuditParm){
|
||||
String methodDescribe = getMethodDescribe("auditAppProject");
|
||||
|
||||
Boolean flag = appProjectService.AuditAppProject(appProjectAuditParm);
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.njcn.csdevice.controller.project;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
import com.njcn.csdevice.service.CsLinePOService;
|
||||
import com.njcn.csdevice.service.CsMarketDataService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:28【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
@Api(tags = "营销数据配置")
|
||||
@AllArgsConstructor
|
||||
@RequestMapping("/csMarketData")
|
||||
public class CsMarketDataController extends BaseController {
|
||||
private final CsMarketDataService csMarketDataService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增营销数据")
|
||||
@ApiImplicitParam(name = "csMarketDataParams", value = "新增营销数据参数", required = true)
|
||||
public HttpResult<Boolean> add( @RequestBody List<CsMarketDataParam> csMarketDataParams){
|
||||
String methodDescribe = getMethodDescribe("add");
|
||||
|
||||
Boolean flag = csMarketDataService.add(csMarketDataParams);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/remove")
|
||||
@ApiOperation("移除营销数据")
|
||||
// @ApiImplicitParam(name = "ids", value = "删除id集合", required = true)
|
||||
public HttpResult<Boolean> remove(@RequestParam("ids") List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("remove");
|
||||
|
||||
Boolean flag = csMarketDataService.removeByIds(ids);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||
}
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryByUseId")
|
||||
@ApiOperation("查询营销数据")
|
||||
public HttpResult<List<CsMarketDataVO>> queryByUseId(@RequestParam("userId")String userId){
|
||||
String methodDescribe = getMethodDescribe("queryByUseId");
|
||||
|
||||
List<CsMarketDataVO> list = csMarketDataService.queryByUseId(userId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/queryEnginnerByUseId")
|
||||
@ApiOperation("查询营销人员未选择的工程")
|
||||
public HttpResult<List<CsLedger>> queryEnginnerByUseId(@RequestParam("userId")String userId){
|
||||
String methodDescribe = getMethodDescribe("queryByUseId");
|
||||
|
||||
List<CsLedger> list = csMarketDataService.queryEnginnerByUseId(userId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.njcn.csdevice.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsMarketDataMapper extends BaseMapper<CsMarketData> {
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.csdevice.mapper.CsMarketDataMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.csdevice.pojo.po.CsMarketData">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table cs_market_data-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="user_id" jdbcType="VARCHAR" property="userId" />
|
||||
<result column="engineer_id" jdbcType="VARCHAR" property="engineerId" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, user_id, engineer_id
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -28,4 +28,12 @@ public interface CsDeviceUserPOService extends IService<CsDeviceUserPO>{
|
||||
Boolean delete(String eid);
|
||||
|
||||
Boolean cancelShare(String eid);
|
||||
/**
|
||||
* @Description: 设备恢复
|
||||
* @Param:
|
||||
* @return:
|
||||
* @Author: clam
|
||||
* @Date: 2023/7/27
|
||||
*/
|
||||
Boolean recovery(String eid);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csdevice.pojo.param.CsLineParm;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,5 +30,4 @@ public interface CsLinePOService extends IService<CsLinePO>{
|
||||
List<CsLinePO> queryByDevId(String devId);
|
||||
|
||||
|
||||
// void addLines(List<CsLineParm> list);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.po.CsLineTopologyTemplate;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/7/31 14:22【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsMarketDataService extends IService<CsMarketData> {
|
||||
|
||||
|
||||
|
||||
Boolean add(List<CsMarketDataParam> csMarketDataParams);
|
||||
|
||||
List<CsMarketDataVO> queryByUseId(String userId);
|
||||
|
||||
List<CsLedger> queryEnginnerByUseId(String userId);
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.csdevice.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csdevice.pojo.param.CsLedgerParam;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsLedgerVO;
|
||||
@@ -14,7 +15,7 @@ import java.util.List;
|
||||
* @author xuyang
|
||||
* @since 2023-05-31
|
||||
*/
|
||||
public interface ICsLedgerService {
|
||||
public interface ICsLedgerService extends IService<CsLedger> {
|
||||
|
||||
/**
|
||||
* 获取终端台账树
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@@ -145,10 +146,32 @@ class AppProjectServiceImpl extends ServiceImpl<AppProjectMapper, AppProjectPO>
|
||||
// throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
|
||||
// }
|
||||
// }
|
||||
//删除项目
|
||||
if(Objects.equals("0",appProjectAuditParm.getStatus())){
|
||||
QueryWrapper<CsLedger> queryWrapper1 = new QueryWrapper<>();
|
||||
queryWrapper1.eq("state",1).eq("pid",appProjectAuditParm.getId());
|
||||
List<CsLedger> csLedgers = csLedgerMapper.selectList(queryWrapper1);
|
||||
if(!CollectionUtil.isEmpty(csLedgers)){
|
||||
throw new BusinessException(AlgorithmResponseEnum.CHIRLDREN2_EXIST.getMessage());
|
||||
}
|
||||
this.lambdaUpdate().eq(AppProjectPO::getId,appProjectAuditParm.getId()).set(AppProjectPO::getStatus,"0").update();
|
||||
appTopologyDiagramService.lambdaUpdate().eq(AppTopologyDiagramPO::getProjectId,appProjectAuditParm.getId()).set(AppTopologyDiagramPO::getStatus,"0").update();
|
||||
CsLedger csLedger1 = new CsLedger();
|
||||
|
||||
csLedger1.setId(appProjectAuditParm.getId());
|
||||
|
||||
csLedger1.setState(0);
|
||||
csLedger1.setState(0);
|
||||
csLedgerMapper.updateById(csLedger1);
|
||||
|
||||
|
||||
}
|
||||
if(checkName(appProjectAuditParm.getName(),appProjectAuditParm.getId())){
|
||||
throw new BusinessException(AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
|
||||
}
|
||||
|
||||
|
||||
|
||||
BeanUtils.copyProperties (appProjectAuditParm, appProjectPO);
|
||||
UpdateWrapper<AppProjectPO> updateWrapper = new UpdateWrapper ( );
|
||||
updateWrapper.eq ("id", appProjectAuditParm.getId ( ));
|
||||
@@ -158,18 +181,58 @@ class AppProjectServiceImpl extends ServiceImpl<AppProjectMapper, AppProjectPO>
|
||||
// if (result) {
|
||||
// throw new BusinessException (AlgorithmResponseEnum.PROJECT_COMMON_ERROR);
|
||||
// }
|
||||
//删除拓扑图,重新上传覆盖
|
||||
appTopologyDiagramService.lambdaUpdate().eq(AppTopologyDiagramPO::getProjectId,appProjectAuditParm.getId()).set(AppTopologyDiagramPO::getStatus,"0").update();
|
||||
|
||||
CsLedger csLedger1 = new CsLedger();
|
||||
csLedger1.setId(appProjectAuditParm.getId());
|
||||
if(Objects.equals("0",appProjectAuditParm.getStatus())){
|
||||
//如何使用拓扑图模板则将拓扑图模板复制绑定
|
||||
if(!CollectionUtils.isEmpty(appProjectAuditParm.getTopoIds()) ){
|
||||
List<AppTopologyDiagramPO> appTopologyDiagramPOS = new ArrayList<>();
|
||||
List<CsLineTopologyTemplate> csLineTopologyTemplates = new ArrayList<>();
|
||||
appProjectAuditParm.getTopoIds().forEach(temp->{
|
||||
AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
|
||||
CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(temp);
|
||||
appTopologyDiagramPO.setFilePath (csTopologyDiagramTemplate.getFilePath());
|
||||
appTopologyDiagramPO.setProjectId (appProjectPO.getId());
|
||||
appTopologyDiagramPO.setName (csTopologyDiagramTemplate.getName());
|
||||
appTopologyDiagramPO.setStatus ("1");
|
||||
appTopologyDiagramPO.setTopoId(temp);
|
||||
appTopologyDiagramService.save(appTopologyDiagramPO);
|
||||
|
||||
//如何使用拓扑图模板生成监测点模版
|
||||
// List<CsLineTopologyTemplateVO> csLineTopologyTemplateVOS = csLineTopologyDiagramTemplateService.queryByTopoId(temp);
|
||||
// List<CsLineTopologyTemplate> collect = csLineTopologyTemplateVOS.stream().map(temp1 -> {
|
||||
// CsLineTopologyTemplate csLineTopologyTemplate = new CsLineTopologyTemplate();
|
||||
// BeanUtils.copyProperties(temp1, csLineTopologyTemplate);
|
||||
// csLineTopologyTemplate.setId(null);
|
||||
// csLineTopologyTemplate.setStatus("1");
|
||||
// csLineTopologyTemplate.setTopoId(appTopologyDiagramPO.getId());
|
||||
// return csLineTopologyTemplate;
|
||||
// }).collect(Collectors.toList());
|
||||
// csLineTopologyTemplates.addAll(collect);
|
||||
});
|
||||
csLineTopologyDiagramTemplateService.saveBatch(csLineTopologyTemplates);
|
||||
|
||||
csLedger1.setState(0);
|
||||
|
||||
}
|
||||
if(Objects.nonNull( appProjectAuditParm.getFiles ( ))){
|
||||
for (int k = 0; k < appProjectAuditParm.getFiles ( ).length; k++) {
|
||||
|
||||
AppTopologyDiagramAddParm appTopologyDiagramAddParm = new AppTopologyDiagramAddParm ( );
|
||||
appTopologyDiagramAddParm.setProjectId (appProjectPO.getId ( ));
|
||||
appTopologyDiagramAddParm.setTopologyDiagramName (appProjectAuditParm.getFiles ( )[k].getOriginalFilename ( ));
|
||||
appTopologyDiagramAddParm.setFile (appProjectAuditParm.getFiles ( )[k]);
|
||||
appTopologyDiagramService.addAppTopologyDiagram (appTopologyDiagramAddParm);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CsLedger csLedger2 = new CsLedger();
|
||||
csLedger2.setId(appProjectAuditParm.getId());
|
||||
|
||||
if(StringUtils.isNotBlank(appProjectAuditParm.getName())){
|
||||
csLedger1.setName(appProjectAuditParm.getName());
|
||||
csLedger2.setName(appProjectAuditParm.getName());
|
||||
}
|
||||
csLedgerMapper.updateById(csLedger1);
|
||||
csLedgerMapper.updateById(csLedger2);
|
||||
return i == 1 ? true : false;
|
||||
}
|
||||
|
||||
|
||||
@@ -213,4 +213,20 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean recovery(String eid) {
|
||||
String userIndex = RequestUtil.getUserIndex();
|
||||
List<CsDeviceUserPO> list = this.lambdaQuery().eq(CsDeviceUserPO::getDeviceId, eid).eq(CsDeviceUserPO::getStatus, "0").eq(CsDeviceUserPO::getPrimaryUserId, userIndex).list();
|
||||
if(CollectionUtils.isEmpty(list)){
|
||||
throw new BusinessException(AlgorithmResponseEnum.DATA_LOSE);
|
||||
|
||||
}
|
||||
CsEquipmentDeliveryPO csEquipmentDeliveryPO =new CsEquipmentDeliveryPO();
|
||||
csEquipmentDeliveryPO.setId(eid);
|
||||
csEquipmentDeliveryPO.setRunStatus(1);
|
||||
csEquipmentDeliveryMapper.updateById(csEquipmentDeliveryPO);
|
||||
this.lambdaUpdate().eq(CsDeviceUserPO::getDeviceId, eid).set(CsDeviceUserPO::getStatus,"1").update();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
|
||||
csLedger1.setId(csEngineeringAuditParm.getId());
|
||||
if(Objects.equals("0",csEngineeringAuditParm.getStatus())){
|
||||
QueryWrapper<CsLedger> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("status",1).eq("pid",csEngineeringAuditParm.getId());
|
||||
queryWrapper.eq("state",1).eq("pid",csEngineeringAuditParm.getId());
|
||||
List<CsLedger> csLedgers = csLedgerMapper.selectList(queryWrapper);
|
||||
if(!CollectionUtil.isEmpty(csLedgers)){
|
||||
throw new BusinessException(AlgorithmResponseEnum.CHIRLDREN_EXIST.getMessage());
|
||||
|
||||
@@ -6,11 +6,18 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.csdevice.mapper.CsEquipmentTransferPOMapper;
|
||||
import com.njcn.csdevice.mapper.CsLedgerMapper;
|
||||
import com.njcn.csdevice.pojo.param.CsEquipmentTransferAddParm;
|
||||
import com.njcn.csdevice.pojo.po.CsDeviceUserPO;
|
||||
import com.njcn.csdevice.pojo.po.CsEquipmentTransferPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.service.CsDeviceUserPOService;
|
||||
import com.njcn.csdevice.service.CsEquipmentTransferPOService;
|
||||
import com.njcn.csdevice.service.ICsLedgerService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -20,7 +27,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static java.util.Objects.isNull;
|
||||
|
||||
@@ -37,6 +46,9 @@ import static java.util.Objects.isNull;
|
||||
@Slf4j
|
||||
public class CsEquipmentTransferPOServiceImpl extends ServiceImpl<CsEquipmentTransferPOMapper, CsEquipmentTransferPO> implements CsEquipmentTransferPOService{
|
||||
private final CsDeviceUserPOService csDeviceUserPOService;
|
||||
|
||||
private final ICsLedgerService csLedgerService;
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean add(CsEquipmentTransferAddParm csEquipmentTransferAddParm) {
|
||||
@@ -53,18 +65,26 @@ public class CsEquipmentTransferPOServiceImpl extends ServiceImpl<CsEquipmentTra
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean pass(List<String> ids) {
|
||||
|
||||
List<DictData> data = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.APP_DEVICE_EVENT_TYPE.getCode()).getData();
|
||||
Map<String, String> collect1 = data.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
|
||||
ids.forEach(id -> {
|
||||
CsEquipmentTransferPO csEquipmentTransferPO = this.getById(id);
|
||||
// csEquipmentTransferPO.getEventType().equals()
|
||||
if(!Objects.isNull(csEquipmentTransferPO.getProjectId())){
|
||||
|
||||
List<CsLedger> list = csLedgerService.lambdaQuery().eq(CsLedger::getPid, csEquipmentTransferPO.getProjectId()).eq(CsLedger::getState, 1).list();
|
||||
String collect = list.stream().map(CsLedger::getId).collect(Collectors.joining(","));
|
||||
csEquipmentTransferPO.setEquipmentIds(collect);
|
||||
}
|
||||
if(!Objects.isNull(csEquipmentTransferPO.getEquipmentIds())){
|
||||
String equipmentIds = csEquipmentTransferPO.getEquipmentIds();
|
||||
String[] split = equipmentIds.split(",");
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
if(Objects.equals(collect1.get(DicDataEnum.AUTHORITY_TRANSFER.getCode()),csEquipmentTransferPO.getEventType())){
|
||||
csDeviceUserPOService.transfer(split[i]);
|
||||
|
||||
}
|
||||
else if(Objects.equals(collect1.get(DicDataEnum.DATA_RECOVERY.getCode()),csEquipmentTransferPO.getEventType())){
|
||||
csDeviceUserPOService.recovery(split[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
|
||||
import com.njcn.csdevice.service.CsLineTopologyTemplateService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -27,6 +28,7 @@ import java.util.stream.Collectors;
|
||||
public class CsLineTopologyTemplateServiceImpl extends ServiceImpl<CsLineTopologyTemplateMapper, CsLineTopologyTemplate> implements CsLineTopologyTemplateService {
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean add(List<CsLineTopologyTemplateParm> csLineTopologyTemplateParms) {
|
||||
List<CsLineTopologyTemplate> csLineTopologyTemplates = new ArrayList<>();
|
||||
QueryWrapper<CsLineTopologyTemplate> queryWrapper = new QueryWrapper<>();
|
||||
@@ -57,6 +59,7 @@ public class CsLineTopologyTemplateServiceImpl extends ServiceImpl<CsLineTopolog
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean deleteByTopoId(String topoId) {
|
||||
QueryWrapper<CsLineTopologyTemplate> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("topo_id",topoId);
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.csdevice.mapper.CsEngineeringMapper;
|
||||
import com.njcn.csdevice.pojo.param.CsMarketDataParam;
|
||||
import com.njcn.csdevice.pojo.po.CsEngineeringPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLedger;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
import com.njcn.csdevice.service.CsMarketDataService;
|
||||
import com.njcn.csdevice.service.ICsLedgerService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csdevice.pojo.po.CsMarketData;
|
||||
import com.njcn.csdevice.mapper.CsMarketDataMapper;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/7/31 9:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
|
||||
public class CsMarketDataServiceImpl extends ServiceImpl<CsMarketDataMapper, CsMarketData> implements CsMarketDataService {
|
||||
private final CsEngineeringMapper csEngineeringMapper;
|
||||
private final ICsLedgerService csLedgerService;
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean add(List<CsMarketDataParam> csMarketDataParams) {
|
||||
QueryWrapper<CsMarketData> queryWrap = new QueryWrapper<>();
|
||||
queryWrap.eq("user_id",csMarketDataParams.get(0).getUserId());
|
||||
this.remove(queryWrap);
|
||||
|
||||
csMarketDataParams.forEach(temp->{
|
||||
CsMarketData csMarketData =new CsMarketData();
|
||||
BeanUtils.copyProperties(temp,csMarketData);
|
||||
this.save(csMarketData);
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CsMarketDataVO> queryByUseId(String userId) {
|
||||
List<CsMarketData> list = this.lambdaQuery().eq(CsMarketData::getUserId, userId).list();
|
||||
List<CsMarketDataVO> collect = list.stream().map(temp -> {
|
||||
CsMarketDataVO cs = new CsMarketDataVO();
|
||||
BeanUtils.copyProperties(temp, cs);
|
||||
CsEngineeringPO csEngineeringPO = csEngineeringMapper.selectById(temp.getEngineerId());
|
||||
cs.setEngineerName(csEngineeringPO.getName());
|
||||
return cs;
|
||||
}).collect(Collectors.toList());
|
||||
return collect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CsLedger> queryEnginnerByUseId(String userId) {
|
||||
List<CsLedger> list = csLedgerService.lambdaQuery().eq(CsLedger::getState, 1).eq(CsLedger::getLevel, 0).list();
|
||||
List<CsMarketDataVO> csMarketDataVOS = this.queryByUseId(userId);
|
||||
List<String> collect = csMarketDataVOS.stream().map(CsMarketDataVO::getEngineerId).collect(Collectors.toList());
|
||||
List<CsLedger> collect1 = list.stream().filter(temp -> !collect.contains(temp.getId())).collect(Collectors.toList());
|
||||
|
||||
return collect1;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.csdevice.mapper.*;
|
||||
import com.njcn.csdevice.pojo.po.*;
|
||||
import com.njcn.csdevice.pojo.vo.CsMarketDataVO;
|
||||
import com.njcn.csdevice.service.CsLinePOService;
|
||||
import com.njcn.csdevice.service.CsMarketDataService;
|
||||
import com.njcn.csdevice.service.RoleEngineerDevService;
|
||||
import com.njcn.user.enums.AppRoleEnum;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
@@ -32,6 +35,7 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
|
||||
private final CsLedgerMapper csLedgerMapper;
|
||||
private final CsEngineeringMapper csEngineeringMapper;
|
||||
private final CsTouristDataPOMapper csTouristDataPOMapper;
|
||||
private final CsMarketDataMapper csMarketDataMapper;
|
||||
@Override
|
||||
public List<String> getRoleengineer(){
|
||||
String role = RequestUtil.getUserRole();
|
||||
@@ -47,7 +51,7 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
|
||||
|
||||
List<String> collect = new ArrayList<>();
|
||||
if(Objects.equals(role, AppRoleEnum.ENGINEERING_USER.getCode())||
|
||||
Objects.equals(role,AppRoleEnum.MARKET_USER.getCode())||
|
||||
|
||||
Objects.equals(role,AppRoleEnum.APP_VIP_USER.getCode())){
|
||||
csDeviceUserPOQueryWrapper.clear();
|
||||
csEngineeringUserPOQueryWrapper.clear();
|
||||
@@ -77,8 +81,13 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
|
||||
return collect;
|
||||
}
|
||||
|
||||
}
|
||||
else if (Objects.equals(role,AppRoleEnum.TOURIST.getCode())) {
|
||||
} else if ( Objects.equals(role,AppRoleEnum.MARKET_USER.getCode())) {
|
||||
QueryWrapper<CsMarketData> csMarketDataQueryWrapper = new QueryWrapper<>();
|
||||
csMarketDataQueryWrapper.eq("user_id", userIndex);
|
||||
List<CsMarketData> csMarketData = csMarketDataMapper.selectList(csMarketDataQueryWrapper);
|
||||
collect = csMarketData.stream().map(CsMarketData::getEngineerId).collect(Collectors.toList());
|
||||
|
||||
} else if (Objects.equals(role,AppRoleEnum.TOURIST.getCode())) {
|
||||
//todo查询配置的游客工程
|
||||
List<CsTouristDataPO> csTouristDataPOS = csTouristDataPOMapper.selectList(null);
|
||||
collect = csTouristDataPOS.stream().map(CsTouristDataPO::getEnginerId).distinct().collect(Collectors.toList());
|
||||
@@ -105,7 +114,6 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
|
||||
|
||||
List<String> collect = new ArrayList<>();
|
||||
if(Objects.equals(role, AppRoleEnum.ENGINEERING_USER.getCode())||
|
||||
Objects.equals(role,AppRoleEnum.MARKET_USER.getCode())||
|
||||
Objects.equals(role,AppRoleEnum.APP_VIP_USER.getCode())){
|
||||
csDeviceUserPOQueryWrapper.clear();
|
||||
csEngineeringUserPOQueryWrapper.clear();
|
||||
@@ -121,6 +129,28 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
|
||||
List<String> collect1 = csDeviceUserPOS.stream().map(CsDeviceUserPO::getDeviceId).distinct().collect(Collectors.toList());
|
||||
return collect1;
|
||||
|
||||
}
|
||||
else if ( Objects.equals(role,AppRoleEnum.MARKET_USER.getCode())) {
|
||||
QueryWrapper<CsMarketData> csMarketDataQueryWrapper = new QueryWrapper<>();
|
||||
csMarketDataQueryWrapper.eq("user_id", userIndex);
|
||||
List<CsMarketData> csMarketData = csMarketDataMapper.selectList(csMarketDataQueryWrapper);
|
||||
List<String> collect2 = csMarketData.stream().map(CsMarketData::getEngineerId).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(collect2)){
|
||||
return collect;
|
||||
}
|
||||
csLedgerQueryWrapper.clear();
|
||||
csLedgerQueryWrapper.lambda().eq(CsLedger::getLevel, 1).eq(CsLedger::getState, 1).in(CsLedger::getPid, collect2);
|
||||
List<CsLedger> csLedgers = csLedgerMapper.selectList(csLedgerQueryWrapper);
|
||||
List<String>collect1 = csLedgers.stream().map(CsLedger::getId).collect(Collectors.toList());
|
||||
|
||||
csLedgerQueryWrapper.clear();
|
||||
csLedgerQueryWrapper.lambda().eq(CsLedger::getLevel, 2).eq(CsLedger::getState, 1).in(CsLedger::getPid, collect1);
|
||||
List<CsLedger> csLedgers1 = csLedgerMapper.selectList(csLedgerQueryWrapper);
|
||||
|
||||
collect = csLedgers1.stream().map(CsLedger::getId).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
}
|
||||
else if (Objects.equals(role,AppRoleEnum.TOURIST.getCode())) {
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.njcn.cswarn.pojo.po.CsEventDetailPO;
|
||||
import com.njcn.cswarn.pojo.vo.CsEventDetailVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/5/17 10:51【需求编号】
|
||||
@@ -15,5 +17,6 @@ import org.apache.ibatis.annotations.Param;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface CsEventDetailPOMapper extends BaseMapper<CsEventDetailPO> {
|
||||
|
||||
Page<CsEventDetailVO> queryPage(Page<CsEventDetailVO> returnpage, @Param("csEventDetailPageParm") CsEventDetailParm.CsEventDetailPageParm csEventDetailPageParm);
|
||||
}
|
||||
Reference in New Issue
Block a user