package com.gk.firework.Controller;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.gk.firework.Controller.Base.BaseController;
|
import com.gk.firework.Domain.*;
|
import com.gk.firework.Domain.Utils.*;
|
import com.gk.firework.Domain.Vo.EnterpriseVo;
|
import com.gk.firework.Domain.Vo.PatrolOrderVo;
|
import com.gk.firework.Service.*;
|
import com.sun.org.apache.xpath.internal.operations.Bool;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.util.MultiValueMap;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
|
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.InputStream;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
|
|
@Api(tags = "安全巡检接口")
|
@RestController
|
public class PatrolController extends BaseController{
|
@Value("${patrolPath}")
|
private String patrolPath; //配置文件配置的物理保存地址
|
@Value("${patrolUrl}")
|
private String patrolUrl; //配置文件配置的url
|
|
@Autowired
|
PatrolOrderService patrolOrderService;
|
@Autowired
|
PatrolDetailService patrolDetailService;
|
@Autowired
|
SelfCheckService selfCheckService;
|
@Autowired
|
EnterpriseService enterpriseService;
|
@Autowired
|
UserService userService;
|
@Autowired
|
ExcelExportService excelExportService;
|
|
@GetMapping("/getEnterpriseVo")
|
@ApiOperation(value = "根据企业编号获取巡检企业信息",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "enterprisenumber",value = "单位编号"),
|
})
|
public Msg getEnterpriseVo(EnterpriseVo enterpriseVo){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
EnterpriseVo enterprise = enterpriseService.selctSimpleByNumber(enterpriseVo.getEnterprisenumber());
|
List<PatrolOrderVo> patrolOrderVos = patrolOrderService.selectListByEnterprise(enterprise.getEnterprisename(),getUser().getUsername());
|
enterprise.setPatrolOrderVos(patrolOrderVos);
|
if (enterprise != null) {
|
msg.setResult(enterprise);
|
return msg;
|
}else {
|
msg.setCode("999");
|
msg.setMessage("未找到该企业");
|
return msg;
|
}
|
}
|
|
@GetMapping("/getSelfCheck")
|
@ApiOperation(value = "根据企业类型获取检查内容",response = Msg.class)
|
public Msg getSelfCheck(SelfCheckInfo selfCheck){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
List<SelfCheckInfo> selfChecks = selfCheckService.selctByType(selfCheck.getType());
|
if (selfChecks.size() > 0) {
|
msg.setResult(selfChecks);
|
return msg;
|
}else {
|
msg.setCode("999");
|
msg.setMessage("未找到该检查内容");
|
return msg;
|
}
|
}
|
|
@ApiOperation(value = "上传图片",notes = "上传图片")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType="query",name = "files",value = "文件"),
|
})
|
@PostMapping("/uploadPic")
|
@ResponseBody
|
public Msg uploadPic(StandardMultipartHttpServletRequest req){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
MultiValueMap<String, MultipartFile> multipartFiles = req.getMultiFileMap();
|
MultipartFile picFile = multipartFiles.get("files").get(0);
|
if (null == picFile){
|
msg.setCode("404");
|
msg.setMessage("上传文件为空");
|
}else {
|
try {
|
String picmame = UploadUtil.uploadFile(picFile,patrolPath);
|
msg.setResult(patrolUrl+picmame);
|
}catch (Exception e){
|
e.printStackTrace();
|
msg.setCode("500");
|
msg.setMessage("上传失败");
|
}
|
}
|
return msg;
|
}
|
|
@ApiOperation(value = "提交检查内容",notes = "提交检查内容")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "enterpriseId",value = "企业id"),
|
@ApiImplicitParam(name = "userId",value = "用户id"),
|
@ApiImplicitParam(name = "createdby",value = "用户名"),
|
@ApiImplicitParam(name = "checkcontent",value = "检查内容"),
|
@ApiImplicitParam(name = "content",value = "检查内容"),
|
@ApiImplicitParam(name = "standard",value = "参考判断"),
|
@ApiImplicitParam(name = "choose",value = "选项"),
|
@ApiImplicitParam(name = "reason",value = "理由"),
|
@ApiImplicitParam(name = "baforepath",value = "整改前图片"),
|
@ApiImplicitParam(name = "ismend",value = "是否整改"),
|
})
|
@PostMapping("/submitPatrol")
|
@ResponseBody
|
public Msg submitPatrol(@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
Long enterpriseId = jsonObject.getLong("enterpriseId");
|
Long userId = jsonObject.getLong("userId");
|
String createdby = jsonObject.getString("createdby");
|
JSONArray jsonArray = jsonObject.getJSONArray("checkcontent");
|
|
PatrolOrderInfo patrolOrderInfo = new PatrolOrderInfo();
|
patrolOrderInfo.setUserid(userId);
|
patrolOrderInfo.setCompanyid(enterpriseId);
|
patrolOrderInfo.setCreatedby(createdby);
|
patrolOrderInfo.setCreateddate(new Date());
|
patrolOrderInfo.setModifiedby(createdby);
|
patrolOrderInfo.setModifieddate(new Date());
|
patrolOrderService.save(patrolOrderInfo);
|
|
List<PatrolDetailInfo> patrolDetailInfoList = new ArrayList<>();
|
Byte ismend = 1;
|
for (int i = 0; i < jsonArray.size(); i++){
|
JSONObject patrolDetail = jsonArray.getJSONObject(i);
|
PatrolDetailInfo patrolDetailInfo = new PatrolDetailInfo();
|
patrolDetailInfo.setOrderid(patrolOrderInfo.getId());
|
patrolDetailInfo.setContent(patrolDetail.getString("content"));
|
patrolDetailInfo.setStandard(patrolDetail.getString("standard"));
|
patrolDetailInfo.setChoose(patrolDetail.getString("choose"));
|
patrolDetailInfo.setReason(patrolDetail.getString("reason"));
|
patrolDetailInfo.setBeforepath(patrolDetail.getString("baforepath"));
|
patrolDetailInfo.setIsmend(patrolDetail.getByte("ismend"));
|
patrolDetailInfo.setCreatedby(createdby);
|
patrolDetailInfo.setCreateddate(new Date());
|
patrolDetailInfo.setModifiedby(createdby);
|
patrolDetailInfo.setModifieddate(new Date());
|
if (patrolDetailInfo.getIsmend() == 0){
|
ismend = 0;
|
}
|
patrolDetailInfoList.add(patrolDetailInfo);
|
}
|
patrolDetailService.saveBatch(patrolDetailInfoList);
|
patrolOrderInfo.setIsmend(ismend);
|
patrolOrderService.updateById(patrolOrderInfo);
|
|
return msg;
|
}
|
|
@GetMapping("/selfCheck")
|
@ApiOperation(value = "获取自定义检查内容",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize",value = "每页行数"),
|
@ApiImplicitParam(name = "sort",value = "排序规则"),
|
@ApiImplicitParam(name = "order",value = "排序字段"),
|
@ApiImplicitParam(name = "type",value = "检查类型"),
|
@ApiImplicitParam(name = "content",value = "检查内容"),
|
})
|
public Msg getSelfCheckList(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort, String order,
|
String type, String content){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
HashMap<String, Object> condition = new HashMap<String, Object>();
|
|
if (StringUtils.isNotBlank(type)) {
|
condition.put("type", type.trim());
|
}
|
|
if (StringUtils.isNotBlank(content)) {
|
condition.put("content", content.trim());
|
}
|
|
pageInfo.setCondition(condition);
|
selfCheckService.selectDataGrid(pageInfo);
|
msg.setResult(pageInfo);
|
return msg;
|
}
|
|
@PostMapping("/selfCheck")
|
@ApiOperation(value = "添加自定义检查内容",response = Msg.class)
|
public Msg addSelfCheckList(@RequestBody SelfCheckInfo selfCheckInfo){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
if (StringUtils.isBlank(selfCheckInfo.getType())){
|
msg.setCode("999");
|
msg.setMessage("检查类型不能为空");
|
return msg;
|
}else if (StringUtils.isBlank(selfCheckInfo.getContent())){
|
msg.setCode("999");
|
msg.setMessage("检查内容不能为空");
|
return msg;
|
}else if (StringUtils.isBlank(selfCheckInfo.getStandard())){
|
msg.setCode("999");
|
msg.setMessage("参考判断不能为空");
|
return msg;
|
}
|
selfCheckInfo.setCreatedby(getUser().getUsername());
|
selfCheckInfo.setModifiedby(getUser().getUsername());
|
selfCheckInfo.setCreateddate(new Date());
|
selfCheckInfo.setModifieddate(new Date());
|
selfCheckInfo.setIsdel((byte)0);
|
selfCheckService.save(selfCheckInfo);
|
return msg;
|
}
|
|
@PostMapping("/putselfCheck")
|
@ApiOperation(value = "修改自定义检查内容",response = Msg.class)
|
public Msg editSelfCheckList(@RequestBody SelfCheckInfo selfCheckInfo){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
if (StringUtils.isBlank(selfCheckInfo.getType())){
|
msg.setCode("999");
|
msg.setMessage("检查类型不能为空");
|
return msg;
|
}else if (StringUtils.isBlank(selfCheckInfo.getContent())){
|
msg.setCode("999");
|
msg.setMessage("检查内容不能为空");
|
return msg;
|
}else if (StringUtils.isBlank(selfCheckInfo.getStandard())){
|
msg.setCode("999");
|
msg.setMessage("参考判断不能为空");
|
return msg;
|
}
|
selfCheckInfo.setModifiedby(getUser().getUsername());
|
selfCheckInfo.setModifieddate(new Date());
|
selfCheckService.updateById(selfCheckInfo);
|
return msg;
|
}
|
|
@PostMapping("/delselfCheck")
|
@ApiOperation(value = "删除自定义检查内容",response = Msg.class)
|
public Msg delSelfCheckList(@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
Long id = jsonObject.getLong("id");
|
SelfCheckInfo selfCheckInfo = selfCheckService.getById(id);
|
if (selfCheckInfo != null){
|
selfCheckInfo.setIsdel((byte)1);
|
selfCheckInfo.setModifiedby(getUser().getUsername());
|
selfCheckInfo.setModifieddate(new Date());
|
selfCheckService.updateById(selfCheckInfo);
|
return msg;
|
}else {
|
msg.setCode("999");
|
msg.setMessage("未找到检查内容");
|
return msg;
|
}
|
}
|
|
@PostMapping("/selfChecks")
|
@ApiOperation(value = "删除自定义检查内容",response = Msg.class)
|
public Msg bashDelSelfCheckList(@RequestBody JSONObject jsonObject){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
JSONArray ids = jsonObject.getJSONArray("ids");
|
List<Long> idList = ids.toJavaList(Long.class);
|
List<SelfCheckInfo> selfCheckInfoList = selfCheckService.selectByIds(idList);
|
if (selfCheckInfoList != null && selfCheckInfoList.size() > 0){
|
for (SelfCheckInfo selfCheckInfo : selfCheckInfoList) {
|
selfCheckInfo.setIsdel((byte)1);
|
selfCheckInfo.setModifiedby(getUser().getUsername());
|
selfCheckInfo.setModifieddate(new Date());
|
selfCheckService.updateById(selfCheckInfo);
|
}
|
return msg;
|
}else {
|
msg.setCode("999");
|
msg.setMessage("未找到检查内容");
|
return msg;
|
}
|
}
|
|
@PostMapping("/importSelfCheck")
|
@ApiOperation(value = "导入自定义检查内容",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "file",value = "文件",required = true),
|
})
|
public Msg addSelfCheckList(MultipartFile file){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
String filesave ="";
|
try {
|
SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmssSSS" );
|
if (file == null)
|
{
|
msg.setCode("404");
|
msg.setMessage("未找到上传文件");
|
return msg;
|
}
|
|
long size = file.getSize();
|
if(0 == size)
|
{
|
msg.setCode("404");
|
msg.setMessage("上传文件大小为空");
|
return msg;
|
}
|
|
if(!FileOptUtils.isDirExists(patrolPath)){
|
msg.setCode("500");
|
msg.setMessage("发生错误或不为目录");
|
return msg;
|
}
|
|
filesave = patrolPath + getUser().getUsername() + "_" + sdf.format(new Date()) +".xlsx";
|
|
file.transferTo(new File(filesave));
|
InputStream in = new FileInputStream(filesave);
|
String name = file.getOriginalFilename();
|
Boolean isExcel2007 = name.substring(name.lastIndexOf(".") + 1).endsWith("xlsx")? true:false;
|
BooleanReason blret = excelExportService.imporSelfCheckExcel(in,getUser().getUsername(),isExcel2007);
|
if(blret.getValue().equals(false))
|
{
|
msg.setCode("500");
|
msg.setMessage(blret.getResultmsg());
|
return msg;
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
msg.setCode("500");
|
msg.setMessage("导入发生错误");
|
return msg;
|
}
|
|
return msg;
|
}
|
|
@GetMapping("/patrolOrder")
|
@ApiOperation(value = "获取安全巡检记录",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize",value = "每页行数"),
|
@ApiImplicitParam(name = "sort",value = "排序规则"),
|
@ApiImplicitParam(name = "order",value = "排序字段"),
|
|
@ApiImplicitParam(name = "starttime",value = "开始时间"),
|
@ApiImplicitParam(name = "endtime",value = "结束时间"),
|
@ApiImplicitParam(name = "enterprisetype",value = "企业类型"),
|
@ApiImplicitParam(name = "enterprisename",value = "企业名称"),
|
@ApiImplicitParam(name = "checkname",value = "检查人"),
|
|
@ApiImplicitParam(name = "ismend",value = "是否整改"),
|
@ApiImplicitParam(name = "province",value = "省份"),
|
@ApiImplicitParam(name = "city",value = "城市"),
|
@ApiImplicitParam(name = "area",value = "区县"),
|
@ApiImplicitParam(name = "town",value = "乡镇"),
|
@ApiImplicitParam(name = "community",value = "社区"),
|
})
|
public Msg getPatrolOrderList(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort, String order,
|
String starttime, String endtime, String enterprisename, String checkname, String enterprisetype,
|
String province, String city, String area, String town, String community, Byte ismend){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
HashMap<String, Object> condition = new HashMap<String, Object>();
|
|
if (StringUtils.isNotBlank(starttime)) {
|
condition.put("starttime", starttime.trim());
|
}
|
|
if (StringUtils.isNotBlank(endtime)) {
|
condition.put("endtime", endtime.trim());
|
}
|
|
if (StringUtils.isNotBlank(enterprisename)) {
|
condition.put("enterprisename", enterprisename.trim());
|
}
|
|
if (StringUtils.isNotBlank(checkname)) {
|
condition.put("checkname", checkname.trim());
|
}
|
|
if (StringUtils.isNotBlank(enterprisetype)) {
|
condition.put("enterprisetype", enterprisetype.trim());
|
}
|
|
if (ismend != null){
|
condition.put("ismend",ismend);
|
}
|
|
UserInfo userInfo = userService.getById(getUser().getId());
|
if (userInfo.getCompanyid() != null){
|
Enterprise enterprise = enterpriseService.getById(userInfo.getCompanyid());
|
condition.put("enterprisename", enterprise.getEnterprisename());
|
}else if (userInfo.getType() == 3){
|
condition.put("province",userInfo.getProvince());
|
condition.put("city",userInfo.getCity());
|
condition.put("area",userInfo.getArea());
|
condition.put("town",userInfo.getTown());
|
condition.put("community",userInfo.getCommunity());
|
}
|
|
if (StringUtils.isNotBlank(province) && condition.get("province") == null) {
|
condition.put("province", province.trim());
|
if (StringUtils.isNotBlank(city)) {
|
condition.put("city", city.trim());
|
}
|
|
if (StringUtils.isNotBlank(area)) {
|
condition.put("area", area.trim());
|
}
|
|
if (StringUtils.isNotBlank(town)) {
|
condition.put("town", town.trim());
|
}
|
|
if (StringUtils.isNotBlank(community)) {
|
condition.put("community", community.trim());
|
}
|
}
|
|
pageInfo.setCondition(condition);
|
|
patrolOrderService.selectDataGrid(pageInfo);
|
|
msg.setResult(pageInfo);
|
return msg;
|
}
|
|
@GetMapping("/patrolDetail")
|
@ApiOperation(value = "获取安全巡检明细",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageIndex",value = "当前页码"),
|
@ApiImplicitParam(name = "pageSize",value = "每页行数"),
|
@ApiImplicitParam(name = "sort",value = "排序规则"),
|
@ApiImplicitParam(name = "order",value = "排序字段"),
|
@ApiImplicitParam(name = "orderid",value = "订单id"),
|
@ApiImplicitParam(name = "ismend",value = "是否整改"),
|
})
|
public Msg getpatrolDetailList(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort, String order,
|
Long orderid, Byte ismend){
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
|
HashMap<String, Object> condition = new HashMap<String, Object>();
|
|
if (orderid != null) {
|
condition.put("orderid", orderid);
|
}
|
|
if (ismend != null) {
|
condition.put("ismend", ismend);
|
}
|
|
pageInfo.setCondition(condition);
|
|
patrolDetailService.selectDataGrid(pageInfo);
|
msg.setResult(pageInfo);
|
return msg;
|
}
|
|
@PostMapping("/mendPatrol")
|
@ApiOperation(value = "上报整改",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "单据id"),
|
@ApiImplicitParam(name = "file",value = "整改后图片文件"),
|
@ApiImplicitParam(name = "ismend",value = "是否整改"),
|
})
|
public Msg mendPatrol(Long id, MultipartFile file, Byte ismend) throws Exception {
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
if (id == null){
|
msg.setCode("999");
|
msg.setMessage("单据id不能为空");
|
return msg;
|
}
|
PatrolDetailInfo patrolDetailInfo = patrolDetailService.getById(id);
|
if (patrolDetailInfo == null){
|
msg.setCode("999");
|
msg.setMessage("未找到单据");
|
return msg;
|
}
|
if (file != null){
|
String origincontract = UploadUtil.uploadFile(file,patrolPath);
|
patrolDetailInfo.setAfterpath(patrolUrl+origincontract);
|
}
|
if (ismend != null){
|
patrolDetailInfo.setIsmend(ismend);
|
}
|
patrolDetailService.updateById(patrolDetailInfo);
|
|
//查看所有detail 全为已整改 则修改order为已整改
|
int isNotMend = patrolDetailService.selectIsNotMend(patrolDetailInfo.getOrderid());
|
if (isNotMend == 0){
|
PatrolOrderInfo patrolOrderInfo = patrolOrderService.getById(patrolDetailInfo.getOrderid());
|
if (patrolOrderInfo != null){
|
patrolOrderInfo.setIsmend((byte)1);
|
patrolOrderService.updateById(patrolOrderInfo);
|
}
|
}
|
|
return msg;
|
}
|
|
@PostMapping("/appMendPatrol")
|
@ApiOperation(value = "APP上报整改",response = Msg.class)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id",value = "单据id"),
|
@ApiImplicitParam(name = "afterpath",value = "整改后图片文件"),
|
@ApiImplicitParam(name = "ismend",value = "是否整改"),
|
})
|
public Msg mendPatrol(Long id, String afterpath, Byte ismend) throws Exception {
|
Msg msg = new Msg();
|
msg.setCode("200");
|
msg.setMessage("success");
|
|
if (id == null){
|
msg.setCode("999");
|
msg.setMessage("单据id不能为空");
|
return msg;
|
}
|
PatrolDetailInfo patrolDetailInfo = patrolDetailService.getById(id);
|
if (patrolDetailInfo == null){
|
msg.setCode("999");
|
msg.setMessage("未找到单据");
|
return msg;
|
}
|
|
patrolDetailInfo.setAfterpath(afterpath);
|
|
if (ismend != null){
|
patrolDetailInfo.setIsmend(ismend);
|
}
|
patrolDetailService.updateById(patrolDetailInfo);
|
|
//查看所有detail 全为已整改 则修改order为已整改
|
int isNotMend = patrolDetailService.selectIsNotMend(patrolDetailInfo.getOrderid());
|
if (isNotMend == 0){
|
PatrolOrderInfo patrolOrderInfo = patrolOrderService.getById(patrolDetailInfo.getOrderid());
|
if (patrolOrderInfo != null){
|
patrolOrderInfo.setIsmend((byte)1);
|
patrolOrderService.updateById(patrolOrderInfo);
|
}
|
}
|
|
return msg;
|
}
|
|
}
|