23 files modified
1 files added
| | |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入fwDefenseSceneManage") |
| | | public R submit(@Valid @RequestBody FwDefenseSceneManageDTO fwDefenseSceneManage) { |
| | | return R.status(fwDefenseSceneManageService.saveOrUpdate( |
| | | return R.status(fwDefenseSceneManageService.saveOrUpdateFwDefenseSceneManage( |
| | | GenericConverter.convert(fwDefenseSceneManage, FwDefenseSceneManageEntity.class))); |
| | | } |
| | | |
| | |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(fwDefenseSceneManageService.deleteLogic(Func.toLongList(ids))); |
| | | return R.status(fwDefenseSceneManageService.deleteFwDefenseSceneManage(Func.toLongList(ids))); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | List<FwDefenseSceneManageExcel> exportFwDefenseSceneManage(@Param("ew") Wrapper<FwDefenseSceneManageEntity> queryWrapper); |
| | | |
| | | /** |
| | | * 根据场景管理ID获取所有相关设备ID |
| | | * |
| | | * @param id 场景管理表(ja_fw_defense_scene_manage)的主键ID |
| | | * @return 设备ID字符串列表,每个元素是逗号分隔的设备ID字符串 |
| | | * @throws Exception 数据库查询异常 |
| | | */ |
| | | List<Long> selectDeviceId(Long id); |
| | | } |
| | |
| | | SELECT * FROM ja_fw_defense_scene_manage ${ew.customSqlSegment} |
| | | </select> |
| | | |
| | | <select id="selectDeviceId" parameterType="java.lang.Long" resultType="java.lang.Long"> |
| | | <!-- 步骤1: 根据输入的ja_fw_defense_scene_manage.id获取对应的defense_scene_id --> |
| | | <!-- 步骤2: 通过defense_scene_id获取ja_fw_defense_scene中的area_divide_ids --> |
| | | <!-- 步骤3: 根据area_divide_ids获取所有ja_fw_area_divide记录的device_ids --> |
| | | <!-- 步骤4: 解析逗号分隔的device_ids并返回所有设备ID --> |
| | | SELECT DISTINCT CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(ad.device_ids, ',', numbers.n), ',', -1) AS UNSIGNED) AS device_id |
| | | FROM ( |
| | | SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 |
| | | UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 |
| | | UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 |
| | | ) numbers |
| | | INNER JOIN ( |
| | | SELECT |
| | | ad.device_ids |
| | | FROM ja_fw_defense_scene_manage dsm |
| | | LEFT JOIN ja_fw_defense_scene ds ON ds.id = dsm.defense_scene_id AND ds.is_deleted = 0 |
| | | LEFT JOIN ja_fw_area_divide ad ON FIND_IN_SET(ad.id, ds.area_divide_ids) > 0 AND ad.is_deleted = 0 |
| | | WHERE dsm.id = #{id} AND dsm.is_deleted = 0 |
| | | ) ad ON CHAR_LENGTH(ad.device_ids) - CHAR_LENGTH(REPLACE(ad.device_ids, ',', '')) >= numbers.n - 1 |
| | | WHERE ad.device_ids IS NOT NULL AND ad.device_ids != '' |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | */ |
| | | List<FwDefenseSceneManageExcel> exportFwDefenseSceneManage(Wrapper<FwDefenseSceneManageEntity> queryWrapper); |
| | | |
| | | /** |
| | | * 新增或修改 |
| | | * @param convert |
| | | * @return |
| | | */ |
| | | boolean saveOrUpdateFwDefenseSceneManage(FwDefenseSceneManageEntity convert); |
| | | |
| | | /** |
| | | * 批量删除 |
| | | * @param longList |
| | | * @return |
| | | */ |
| | | boolean deleteFwDefenseSceneManage(List<Long> longList); |
| | | } |
| | |
| | | */ |
| | | package org.sxkj.fw.area.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.sxkj.fw.area.param.FwDefenseSceneManagePageParam; |
| | | import org.sxkj.fw.area.entity.FwDefenseSceneManageEntity; |
| | | import org.sxkj.fw.area.vo.FwDefenseSceneManageVO; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.sxkj.fw.device.entity.FwDeviceEntity; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class FwDefenseSceneManageServiceImpl extends BaseServiceImpl<FwDefenseSceneManageMapper, FwDefenseSceneManageEntity> implements IFwDefenseSceneManageService { |
| | | |
| | | @Autowired |
| | | private IFwDeviceService fwDeviceService; |
| | | |
| | | @Override |
| | | public IPage<FwDefenseSceneManageVO> selectFwDefenseSceneManagePage(IPage<FwDefenseSceneManageVO> page, FwDefenseSceneManagePageParam fwDefenseSceneManagePageParam) { |
| | |
| | | @Override |
| | | public List<FwDefenseSceneManageExcel> exportFwDefenseSceneManage(Wrapper<FwDefenseSceneManageEntity> queryWrapper) { |
| | | List<FwDefenseSceneManageExcel> fwDefenseSceneManageList = baseMapper.exportFwDefenseSceneManage(queryWrapper); |
| | | //fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> { |
| | | // fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> { |
| | | // fwDefenseSceneManage.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDefenseSceneManage.getType())); |
| | | //}); |
| | | return fwDefenseSceneManageList; |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveOrUpdateFwDefenseSceneManage(FwDefenseSceneManageEntity convert) { |
| | | boolean b = saveOrUpdate(convert); |
| | | if (b) { |
| | | // 启用设备 |
| | | List<Long> deviceIdList = baseMapper.selectDeviceId(convert.getId()); |
| | | return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate() |
| | | .set(FwDeviceEntity::getIsEnabled, 1) |
| | | .in(FwDeviceEntity::getId, deviceIdList)); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 删除场景管理 |
| | | * |
| | | * @param longList |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean deleteFwDefenseSceneManage(List<Long> longList) { |
| | | boolean b = deleteLogic(longList); |
| | | if (b) { |
| | | // 1.遍历所有删除的场景管理ID |
| | | List<Long> AllDeviceId = new ArrayList<>(); |
| | | for (Long sceneManageId : longList) { |
| | | // 2.获取场景管理下的所有设备ID |
| | | List<Long> deviceIdList = baseMapper.selectDeviceId(sceneManageId); |
| | | AllDeviceId.addAll(deviceIdList); |
| | | } |
| | | // 3.禁用设备 |
| | | return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate() |
| | | .set(FwDeviceEntity::getIsEnabled, 0) |
| | | .in(FwDeviceEntity::getId, AllDeviceId)); |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | |
| | | @ApiOperationSupport(order = 4) |
| | | @ApiOperation(value = "修改设备出入库状态", notes = "传入fwDevice") |
| | | public R updateTrackStatus(@ApiParam(value = "", required = true) @RequestParam Long deviceId) { |
| | | return R.status(fwDeviceService.updateTrackStatusByDeviceId(deviceId,0)); |
| | | return R.status(fwDeviceService.updateTrackStatusByDeviceId(deviceId,0,"")); |
| | | } |
| | | |
| | | /** |
| | |
| | | public class FwDeviceTrackController extends BladeController { |
| | | |
| | | private final IFwDeviceTrackService fwDeviceTrackService; |
| | | private final IFwDeviceService fwDeviceService; |
| | | |
| | | /** |
| | | * 设备跟踪流转表 详情 |
| | |
| | | @ApiOperationSupport(order = 6) |
| | | @ApiOperation(value = "新增或修改", notes = "传入fwDeviceTrack") |
| | | public R submit(@Valid @RequestBody FwDeviceTrackDTO fwDeviceTrack) { |
| | | |
| | | if (null == fwDeviceTrack.getDeviceId()) { |
| | | return R.fail("设备ID不能为空"); |
| | | } |
| | | |
| | | boolean saved = fwDeviceTrackService.saveOrUpdate(FwDeviceTrackWrapper.build().entityDTO(fwDeviceTrack)); |
| | | if (!saved) { |
| | | return R.status(false); |
| | | } |
| | | |
| | | return R.status(fwDeviceService.updateTrackStatusByDeviceId(fwDeviceTrack.getDeviceId(), 1)); |
| | | boolean saved = fwDeviceTrackService.saveOrUpdateFwDeviceTrack(FwDeviceTrackWrapper.build().entityDTO(fwDeviceTrack)); |
| | | return R.status(saved); |
| | | } |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "设备出入库状态 0未出库1已出库") |
| | | private Integer trackStatus; |
| | | |
| | | @ApiModelProperty(value = "最终出库区域(设备出库后的部署区域名称/编码)") |
| | | private String finalOutboundArea; |
| | | |
| | | @ApiModelProperty(value = "是否启用:1启用 0禁用") |
| | | private Boolean isEnabled; |
| | | |
| | | } |
| | |
| | | * @param trackStatus 出入库状态 |
| | | * @return 影响行数 |
| | | */ |
| | | int updateTrackStatusByDeviceId(@Param("deviceId") Long deviceId, @Param("trackStatus") Integer trackStatus); |
| | | int updateTrackStatusByDeviceId(@Param("deviceId") Long deviceId, @Param("trackStatus") Integer trackStatus, @Param("outTarget") String outTarget); |
| | | |
| | | /** |
| | | * 查询非本部门区域的设备 |
| | |
| | | </select> |
| | | |
| | | <update id="updateTrackStatusByDeviceId"> |
| | | update ja_fw_device |
| | | set track_status = #{trackStatus} |
| | | update |
| | | ja_fw_device |
| | | set track_status = #{trackStatus}, |
| | | final_outbound_area = #{outTarget} |
| | | where id = #{deviceId} |
| | | and is_deleted = 0 |
| | | </update> |
| | |
| | | * @param trackStatus 出入库状态 |
| | | * @return 是否更新成功 |
| | | */ |
| | | boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus); |
| | | boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget); |
| | | |
| | | /** |
| | | * 查询非本部门区域的设备 |
| | |
| | | */ |
| | | List<FwDeviceTrackExcel> exportFwDeviceTrack(Wrapper<FwDeviceTrackEntity> queryWrapper); |
| | | |
| | | /** |
| | | * |
| | | * @param fwDeviceTrackEntity |
| | | * @return |
| | | */ |
| | | boolean saveOrUpdateFwDeviceTrack(FwDeviceTrackEntity fwDeviceTrackEntity); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus) { |
| | | return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus) > 0; |
| | | public boolean updateTrackStatusByDeviceId(Long deviceId, Integer trackStatus, String outTarget) { |
| | | return baseMapper.updateTrackStatusByDeviceId(deviceId, trackStatus, outTarget) > 0; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | package org.sxkj.fw.device.service.impl; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.sxkj.fw.device.dto.FwDeviceTrackDTO; |
| | | import org.sxkj.fw.device.entity.FwDeviceTrackEntity; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | import org.sxkj.fw.device.vo.FwDeviceTrackVO; |
| | | import org.sxkj.fw.device.excel.FwDeviceTrackExcel; |
| | | import org.sxkj.fw.device.mapper.FwDeviceTrackMapper; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class FwDeviceTrackServiceImpl extends BaseServiceImpl<FwDeviceTrackMapper, FwDeviceTrackEntity> implements IFwDeviceTrackService { |
| | | |
| | | @Autowired |
| | | private IFwDeviceService fwDeviceService; |
| | | |
| | | @Override |
| | | public IPage<FwDeviceTrackEntity> selectFwDeviceTrackPage(IPage<FwDeviceTrackEntity> page, FwDeviceTrackDTO fwDeviceTrack) { |
| | |
| | | public List<FwDeviceTrackExcel> exportFwDeviceTrack(Wrapper<FwDeviceTrackEntity> queryWrapper) { |
| | | // 导出不做额外转换,保持与导出字段一致 |
| | | List<FwDeviceTrackExcel> fwDeviceTrackList = baseMapper.exportFwDeviceTrack(queryWrapper); |
| | | //fwDeviceTrackList.forEach(fwDeviceTrack -> { |
| | | // fwDeviceTrackList.forEach(fwDeviceTrack -> { |
| | | // fwDeviceTrack.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDeviceTrack.getType())); |
| | | //}); |
| | | return fwDeviceTrackList; |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveOrUpdateFwDeviceTrack(FwDeviceTrackEntity fwDeviceTrackEntity) { |
| | | boolean b = saveOrUpdate(fwDeviceTrackEntity); |
| | | if (b) { |
| | | return fwDeviceService.updateTrackStatusByDeviceId(fwDeviceTrackEntity.getDeviceId(), 1, fwDeviceTrackEntity.getOutTarget()); |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | |
| | | @ApiModelProperty(value = "区域编码") |
| | | private String areaCode; |
| | | |
| | | @ApiModelProperty(value = "申请目标部门ID") |
| | | private Long applyTargetDeptId; |
| | | |
| | | @ApiModelProperty(value = "附件") |
| | | private List<GdDataObjectionAttachmentDTO> attachmentList; |
| | | } |
| | |
| | | */ |
| | | package org.sxkj.gd.orderdata.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | */ |
| | | @ApiModelProperty(value = "区域编码") |
| | | private String areaCode; |
| | | |
| | | @ApiModelProperty(value = "申请目标部门ID") |
| | | private Long applyTargetDeptId; |
| | | } |
| | |
| | | import org.sxkj.system.excel.RegionImportExcel; |
| | | import org.sxkj.system.excel.RegionImporter; |
| | | import org.sxkj.system.param.RegionAddParam; |
| | | import org.sxkj.system.param.RegionExportParam; |
| | | import org.sxkj.system.param.RegionPageParam; |
| | | import org.sxkj.system.service.IRegionService; |
| | | import org.sxkj.system.util.excel.RegionSheetWriteHandler; |
| | |
| | | @GetMapping("export-region") |
| | | @ApiOperationSupport(order = 11) |
| | | @ApiOperation(value = "导出行政区划", notes = "传入user") |
| | | public void exportRegion(@ApiIgnore @RequestParam Map<String, Object> region, HttpServletResponse response) { |
| | | QueryWrapper<Region> queryWrapper = Condition.getQueryWrapper(region, Region.class); |
| | | List<RegionExcel> list = regionService.exportRegion(queryWrapper); |
| | | public void exportRegion(RegionExportParam region, HttpServletResponse response) { |
| | | List<RegionExcel> list = regionService.exportRegion(region); |
| | | ExcelUtil.export(response, "行政区划数据" + DateUtil.time(), "行政区划数据表", list, RegionExcel.class); |
| | | } |
| | | |
| | | /** |
| | | * 导出模板 |
| | | */ |
| | | // @GetMapping("export-template") |
| | | // @ApiOperationSupport(order = 12) |
| | | // @ApiOperation(value = "导出模板") |
| | | // public void exportUser(HttpServletResponse response) { |
| | | // List<RegionImportExcel> list = new ArrayList<>(); |
| | | // ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionImportExcel.class); |
| | | // } |
| | | |
| | | @GetMapping("export-template") |
| | | @ApiOperationSupport(order = 16) |
| | | @ApiOperation(value = "导出模板") |
| | |
| | | <if test="areaCode!=null and areaCode!=''"> |
| | | and bd.area_code = #{areaCode} |
| | | </if> |
| | | <if test="deptIds!=null and deptIds.size()>0"> |
| | | and bd.id in |
| | | <foreach item="item" index="index" collection="deptIds" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.sxkj.system.entity.Region; |
| | | import org.sxkj.system.excel.RegionExcel; |
| | | import org.sxkj.system.param.RegionExportParam; |
| | | import org.sxkj.system.param.RegionPageParam; |
| | | import org.sxkj.system.vo.RegionVO; |
| | | |
| | |
| | | /** |
| | | * 导出区划数据 |
| | | * |
| | | * @param queryWrapper |
| | | * @param region |
| | | * @return |
| | | */ |
| | | List<RegionExcel> exportRegion(@Param("ew") Wrapper<Region> queryWrapper); |
| | | List<RegionExcel> exportRegion(RegionExportParam region); |
| | | |
| | | /** |
| | | * 查询parentCode 长度少于12 的总数 |
| | |
| | | </select> |
| | | |
| | | <select id="exportRegion" resultType="org.sxkj.system.excel.RegionExcel"> |
| | | SELECT * |
| | | FROM blade_region ${ew.customSqlSegment} |
| | | SELECT |
| | | * |
| | | FROM |
| | | blade_region |
| | | <where> |
| | | <if test="regionIds!=null and regionIds.size()>0"> |
| | | and id in |
| | | <foreach item="item" index="index" collection="regionIds" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--查询parentCode 长度少于12 的--> |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class DeptExportParam { |
| | | |
| | |
| | | |
| | | @ApiModelProperty(value = "所属区划") |
| | | private String areaCode; |
| | | |
| | | @ApiModelProperty(value = "部门ID列表") |
| | | private List<Long> deptIds; |
| | | } |
| New file |
| | |
| | | package org.sxkj.system.param; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class RegionExportParam { |
| | | |
| | | @ApiModelProperty(value = "区划ID列表") |
| | | private List<Long> regionIds; |
| | | } |
| | |
| | | import org.sxkj.system.entity.Region; |
| | | import org.sxkj.system.excel.RegionExcel; |
| | | import org.sxkj.system.excel.RegionImportExcel; |
| | | import org.sxkj.system.param.RegionExportParam; |
| | | import org.sxkj.system.param.RegionPageParam; |
| | | import org.sxkj.system.vo.RegionVO; |
| | | import org.sxkj.system.vo.TreeVo; |
| | |
| | | /** |
| | | * 导出区划数据 |
| | | * |
| | | * @param queryWrapper |
| | | * @param region |
| | | * @return |
| | | */ |
| | | List<RegionExcel> exportRegion(Wrapper<Region> queryWrapper); |
| | | List<RegionExcel> exportRegion(RegionExportParam region); |
| | | |
| | | /** |
| | | * 区域数据处理 |
| | |
| | | */ |
| | | package org.sxkj.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | import org.apache.logging.log4j.util.Strings; |
| | | import org.springblade.core.log.exception.ServiceException; |
| | | import org.springblade.core.tool.utils.*; |
| | | import org.springframework.stereotype.Service; |
| | | import org.sxkj.common.func.Streams; |
| | | import org.sxkj.system.cache.RegionCache; |
| | | import org.sxkj.system.entity.Region; |
| | | import org.sxkj.system.excel.RegionExcel; |
| | | import org.sxkj.system.excel.RegionImportExcel; |
| | | import org.sxkj.system.mapper.RegionMapper; |
| | | import org.sxkj.system.param.RegionExportParam; |
| | | import org.sxkj.system.param.RegionPageParam; |
| | | import org.sxkj.system.service.IRegionService; |
| | | import org.sxkj.system.vo.RegionVO; |
| | | import org.springframework.stereotype.Service; |
| | | import org.sxkj.system.vo.TreeVo; |
| | | |
| | | import java.io.Serializable; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<RegionExcel> exportRegion(Wrapper<Region> queryWrapper) { |
| | | return baseMapper.exportRegion(queryWrapper); |
| | | public List<RegionExcel> exportRegion(RegionExportParam region) { |
| | | return baseMapper.exportRegion(region); |
| | | } |
| | | |
| | | /** |