Commit 7c5bb785 authored by srx's avatar srx

设备管理:筛选,新增,修改,删除,详情

parent d0d167d7
package com.yeejoin.amos.boot.module.ugp.api.mapper; package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.yeejoin.amos.boot.module.ugp.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Attachment; import com.yeejoin.amos.boot.module.ugp.api.entity.Attachment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -11,4 +12,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +12,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface AttachmentMapper extends BaseMapper<Attachment> { public interface AttachmentMapper extends BaseMapper<Attachment> {
//根据source_id删除附件
void deleteBySourceId(Long sourceId);
//根据source_id查询附件
AttachmentDto selectAttBySeq(Long sourceId);
} }
package com.yeejoin.amos.boot.module.ugp.api.service; package com.yeejoin.amos.boot.module.ugp.api.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 设备信息表接口类 * 设备信息表接口类
* *
...@@ -8,5 +15,8 @@ package com.yeejoin.amos.boot.module.ugp.api.service; ...@@ -8,5 +15,8 @@ package com.yeejoin.amos.boot.module.ugp.api.service;
* @date 2022-09-22 * @date 2022-09-22
*/ */
public interface IEquipmentService { public interface IEquipmentService {
//添加设备+附件
EquipmentDto saveEI(JSONObject object);
} }
...@@ -2,4 +2,14 @@ ...@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ugp.api.mapper.AttachmentMapper"> <mapper namespace="com.yeejoin.amos.boot.module.ugp.api.mapper.AttachmentMapper">
<!-- //根据source_id删除附件-->
<delete id="deleteBySourceId">
delete FROM tz_ugp_attachment where source_id=#{sourceId}
</delete>
<!-- //根据source_id查询附件-->
<select id="selectAttBySeq" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.AttachmentDto">
select * from tz_ugp_attachment where source_id=#{sourceId}
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.ugp.biz.controller; package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.ugp.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentPageDto;
import com.yeejoin.amos.boot.module.ugp.api.mapper.AttachmentMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.EquipmentMapper;
import org.apache.poi.ss.formula.functions.T;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -7,15 +14,13 @@ import io.swagger.annotations.Api; ...@@ -7,15 +14,13 @@ import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.Date;
import java.util.List; import java.util.List;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.EquipmentServiceImpl; import com.yeejoin.amos.boot.module.ugp.biz.service.impl.EquipmentServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentDto; import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentDto;
...@@ -36,98 +41,168 @@ public class EquipmentController extends BaseController { ...@@ -36,98 +41,168 @@ public class EquipmentController extends BaseController {
@Autowired @Autowired
EquipmentServiceImpl equipmentServiceImpl; EquipmentServiceImpl equipmentServiceImpl;
@Autowired
EquipmentMapper equipmentMapper;
@Autowired
AttachmentMapper attachmentMapper;
/** /**
* 新增设备信息表 * 新增设备信息表
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增设备信息表", notes = "新增设备信息表") @ApiOperation(httpMethod = "POST", value = "新增设备信息表", notes = "新增设备信息表")
public ResponseModel<EquipmentDto> save(@RequestBody EquipmentDto model) { public ResponseModel<EquipmentDto> save(@RequestBody EquipmentDto model) {
model = equipmentServiceImpl.createWithModel(model); model.setManufactureDate(new Date());
return ResponseHelper.buildResponse(model); model.setInspectionDate(new Date());
} model = equipmentServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/** /**
* 根据sequenceNbr更新 * 根据sequenceNbr更新
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新设备信息表", notes = "根据sequenceNbr更新设备信息表") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新设备信息表", notes = "根据sequenceNbr更新设备信息表")
public ResponseModel<EquipmentDto> updateBySequenceNbrEquipment(@RequestBody EquipmentDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<EquipmentDto> updateBySequenceNbrEquipment(@RequestBody EquipmentDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setRecDate(new Date());
return ResponseHelper.buildResponse(equipmentServiceImpl.updateWithModel(model)); model.setSequenceNbr(sequenceNbr);
} return ResponseHelper.buildResponse(equipmentServiceImpl.updateWithModel(model));
}
/** /**
* 根据sequenceNbr删除 * 根据sequenceNbr删除
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除设备信息表", notes = "根据sequenceNbr删除设备信息表") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除设备信息表", notes = "根据sequenceNbr删除设备信息表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(equipmentServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(equipmentServiceImpl.removeById(sequenceNbr));
} }
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个设备信息表", notes = "根据sequenceNbr查询单个设备信息表") @ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个设备信息表", notes = "根据sequenceNbr查询单个设备信息表")
public ResponseModel<EquipmentDto> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<EquipmentDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(equipmentServiceImpl.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(equipmentServiceImpl.queryBySeq(sequenceNbr));
} }
/** /**
* 列表分页查询 * 列表分页查询
* *
* @param current 当前页 * @param current 当前页
* @param current 每页大小 * @param current 每页大小
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "设备信息表分页查询", notes = "设备信息表分页查询") @ApiOperation(httpMethod = "GET",value = "设备信息表分页查询", notes = "设备信息表分页查询")
public ResponseModel<Page<EquipmentDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam public ResponseModel<Page<EquipmentDto>> queryForPage(
(value = "size") int size) { @RequestParam(value = "current") int current,
Page<EquipmentDto> page = new Page<EquipmentDto>(); @RequestParam(value = "size") int size,
page.setCurrent(current); @RequestParam(value = "name",required = false) String name,
page.setSize(size); @RequestParam(value = "code",required = false) String code,
return ResponseHelper.buildResponse(equipmentServiceImpl.queryForEquipmentPage(page)); @RequestParam(value = "verifyStatus",required = false)String verifyStatus) {
} Page<EquipmentDto> page = new Page<EquipmentDto>();
page.setCurrent(current);
page.setSize(size);
/** return ResponseHelper.buildResponse(equipmentServiceImpl.queryForEquipmentPage(page,name,code,verifyStatus));
* 列表全部数据查询 }
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "设备信息表列表全部数据查询", notes = "设备信息表列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<EquipmentDto>> selectForList() {
return ResponseHelper.buildResponse(equipmentServiceImpl.queryForEquipmentList());
}
/** /**
* 设备数据名称查询 * 列表全部数据查询
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET", value = "设备数据名称查询", notes = "设备数据名称查询") @ApiOperation(httpMethod = "GET",value = "设备信息表列表全部数据查询", notes = "设备信息表列表全部数据查询")
@GetMapping(value = "/selectName") @GetMapping(value = "/list")
public ResponseModel<List<JSONObject>> selectName(@RequestParam(value = "unitId")String installationUnitId) { public ResponseModel<List<EquipmentDto>> selectForList() {
return ResponseHelper.buildResponse(equipmentServiceImpl.selectName(installationUnitId)); return ResponseHelper.buildResponse(equipmentServiceImpl.queryForEquipmentList());
} }
/**
* 设备数据名称查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "设备数据名称查询", notes = "设备数据名称查询")
@GetMapping(value = "/selectName")
public ResponseModel<List<JSONObject>> selectName(@RequestParam(value = "unitId")String installationUnitId) {
return ResponseHelper.buildResponse(equipmentServiceImpl.selectName(installationUnitId));
}
/**
* 新增设备+附件
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping (value = "/saveIE")
@ApiOperation(httpMethod = "Post", value = "新增设备+附件", notes = "新增设备+附件")
public ResponseModel<EquipmentDto> saveEquipment(@RequestBody JSONObject object) {
EquipmentDto equipmentDto = equipmentServiceImpl.saveEI(object);
Long sequenceNbr = equipmentDto.getSequenceNbr();
equipmentServiceImpl.saveAttachment(object,sequenceNbr);
return ResponseHelper.buildResponse(equipmentDto);
}
/**
*根据sequenceNbr删除设备的附件
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@DeleteMapping(value = "IE/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除设备和附件", notes = "根据sequenceNbr删除设备和附件")
public ResponseModel<Boolean> deleteEIBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
attachmentMapper.deleteBySourceId(sequenceNbr);
return ResponseHelper.buildResponse(equipmentServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询设备的附件
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "IE/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询设备和附件", notes = "根据sequenceNbr查询设备和附件")
public ResponseModel<JSONObject> selectIEOne(@PathVariable Long sequenceNbr) {
EquipmentDto equipmentDto = equipmentServiceImpl.queryBySeq(sequenceNbr);
AttachmentDto attachmentDto = attachmentMapper.selectAttBySeq(sequenceNbr);
JSONObject jsonObject = new JSONObject();
jsonObject.put("name",equipmentDto.getName());
jsonObject.put("type",equipmentDto.getType());
jsonObject.put("code",equipmentDto.getCode());
jsonObject.put("manufacturer",equipmentDto.getManufacturer());
jsonObject.put("manufactureDate",equipmentDto.getManufactureDate());
jsonObject.put("serviceLife",equipmentDto.getServiceLife());
jsonObject.put("inspectionDate",equipmentDto.getInspectionDate());
jsonObject.put("useStatus",equipmentDto.getUseStatus());
jsonObject.put("verifyStatus",equipmentDto.getVerifyStatus());
jsonObject.put("subForm",JSON.parseArray(attachmentDto.getInfo()));
return ResponseHelper.buildResponse(jsonObject);
}
} }
...@@ -2,11 +2,17 @@ package com.yeejoin.amos.boot.module.ugp.biz.service.impl; ...@@ -2,11 +2,17 @@ package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.ugp.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Equipment; import com.yeejoin.amos.boot.module.ugp.api.entity.Equipment;
import com.yeejoin.amos.boot.module.ugp.api.mapper.EquipmentMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.EquipmentMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IEquipmentService; import com.yeejoin.amos.boot.module.ugp.api.service.IEquipmentService;
import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentDto; import com.yeejoin.amos.boot.module.ugp.api.dto.EquipmentDto;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -26,18 +32,24 @@ public class EquipmentServiceImpl extends BaseService<EquipmentDto, Equipment, E ...@@ -26,18 +32,24 @@ public class EquipmentServiceImpl extends BaseService<EquipmentDto, Equipment, E
@Autowired @Autowired
EquipmentMapper equipmentMapper; EquipmentMapper equipmentMapper;
@Autowired
AttachmentServiceImpl attachmentServiceImpl;
/** /**
* 分页查询 * 分页查询
*/ */
public Page<EquipmentDto> queryForEquipmentPage(Page<EquipmentDto> page) { public Page<EquipmentDto> queryForEquipmentPage(Page<EquipmentDto> page, String name, String code, String verifyStatus) {
return this.queryForPage(page, null, false); return this.queryForPage(page, null, false,name,code,verifyStatus);
} }
/** /**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<EquipmentDto> queryForEquipmentList() { public List<EquipmentDto> queryForEquipmentList() {
return this.queryForList("", false); return this.queryForList("" , false);
} }
/** /**
...@@ -62,4 +74,50 @@ public class EquipmentServiceImpl extends BaseService<EquipmentDto, Equipment, E ...@@ -62,4 +74,50 @@ public class EquipmentServiceImpl extends BaseService<EquipmentDto, Equipment, E
return names; return names;
} }
/**
* 根据sourceId添加附件
* @param object
*/
public void saveAttachment(JSONObject object,Long SequenceNbr){
AttachmentDto attachmentDto = new AttachmentDto();
JSONArray subForm = object.getJSONArray("subForm");
for(Object o:subForm){
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(o));
jsonObject.getString("Symbol_key");
JSONArray jsonArray = jsonObject.getJSONArray("info");
for(Object j:jsonArray){
JSONObject info = JSON.parseObject(JSON.toJSONString(j));
String name = info.getString("name");
attachmentDto.setSourceId(SequenceNbr);
attachmentDto.setName(info.getString("name"));
// attachmentDto.setInfo("name: "+name+","+
// "type: "+name.substring(name.lastIndexOf(".")+1)+","+
// "path: "+info.getString("url")+","+
// "certCode: "+jsonObject.getString("certCode")+","+
// "certType: "+jsonObject.getString("certType"));
attachmentDto.setInfo(JSON.toJSONString(subForm));
attachmentDto.setType(name.substring(name.lastIndexOf(".")+1));
attachmentServiceImpl.createWithModel(attachmentDto);
break;
}
}
}
@Override
public EquipmentDto saveEI(JSONObject object) {
EquipmentDto model = new EquipmentDto();
model.setName(object.getString("name"));
model.setType(object.getString("type"));
model.setCode(object.getString("code"));
model.setManufacturer(object.getString("manufacturer"));
model.setManufactureDate(object.getDate("manufactureDate"));
model.setServiceLife(object.getString("serviceLife"));
model.setInspectionDate(object.getDate("inspectionDate"));
model.setUseStatus(object.getString("useStatus"));
model.setVerifyStatus(object.getString("verifyStatus"));
EquipmentDto result = this.createWithModel(model);
return result;
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment