package cn.besteam.modules.api.controller;
|
|
import cn.besteam.common.api.vo.Result;
|
import cn.besteam.common.aspect.annotation.AutoLog;
|
import cn.besteam.common.aspect.annotation.LogApi;
|
import cn.besteam.common.aspect.annotation.OpenApi;
|
import cn.besteam.common.constant.CommonConstant;
|
import cn.besteam.common.constant.ErrorCode;
|
import cn.besteam.common.exception.BusinessException;
|
import cn.besteam.modules.medical.dto.MwDisinfectRecordDto;
|
import cn.besteam.modules.medical.entity.MwDeviceAgentDevice;
|
import cn.besteam.modules.medical.entity.MwDisinfectAddress;
|
import cn.besteam.modules.medical.entity.MwDisinfectRecord;
|
import cn.besteam.modules.medical.service.IMwDeviceAgentDeviceService;
|
import cn.besteam.modules.medical.service.IMwDisinfectAddressService;
|
import cn.besteam.modules.medical.service.IMwDisinfectRecordService;
|
import cn.besteam.modules.medical.service.IMwTransitConfigService;
|
import cn.besteam.modules.medical.service.impl.MwDisinfectAddressServiceImpl;
|
import cn.besteam.modules.shiro.authc.util.EnvUtils;
|
import cn.besteam.modules.system.biz.SysDepartmentBiz;
|
import cn.besteam.modules.system.biz.SysDictBiz;
|
import cn.besteam.modules.system.dto.*;
|
import cn.besteam.modules.system.entity.SysDepartment;
|
import cn.besteam.modules.system.entity.SysDictItem;
|
import cn.besteam.modules.system.entity.SysUser;
|
import cn.besteam.modules.system.service.ISysDepartmentService;
|
import cn.besteam.modules.system.service.ISysDictItemService;
|
import cn.besteam.modules.system.service.ISysRolePermissionService;
|
import cn.besteam.modules.system.service.ISysUserService;
|
import cn.besteam.modules.system.vo.AppSysUserVO;
|
import cn.besteam.modules.system.vo.SysDictItemVO;
|
import cn.besteam.modules.system.vo.SysDictVO;
|
import cn.besteam.modules.system.vo.SysUserVO;
|
import cn.hutool.core.collection.CollUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.net.Inet4Address;
|
import java.net.InetAddress;
|
import java.net.NetworkInterface;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
/**
|
* /**
|
* * @Title: Controller
|
* * @Description: 消毒记录
|
* * @author: besteam
|
* * @date: 2023-05-16
|
* * @version: V1.0
|
* */
|
|
@RestController
|
@RequestMapping("/api/mwDisinfectRecord")
|
@Api(value = "消毒记录接口")
|
public class ApiDisinfectRecordController {
|
|
@Autowired
|
private IMwDisinfectRecordService mwDisinfectRecordService;
|
|
@Autowired
|
private ISysDepartmentService sysDepartmentService;
|
|
@Autowired
|
private ISysDictItemService sysDictItemService;
|
|
@Autowired
|
private ISysUserService sysUserService;
|
|
@Autowired
|
private SysDictBiz sysDictBiz;
|
@Autowired
|
private IMwDisinfectAddressService mwDisinfectAddressService;
|
/**
|
* 添加
|
* @param dto
|
* @return
|
*/
|
@PostMapping(value = "/add")
|
@AutoLog(value = "添加消毒记录")
|
@ApiOperation(value = "添加消毒记录", notes = "添加消毒记录", produces = "application/json")
|
public Result<MwDisinfectRecord> add(@RequestBody MwDisinfectRecordDto dto) {
|
Result<MwDisinfectRecord> result = new Result<>();
|
try {
|
Integer number = mwDisinfectRecordService.count(new QueryWrapper<MwDisinfectRecord>().lambda().eq(MwDisinfectRecord::getDisinfectTime,dto.getDisinfectTime()));
|
if(number<=0){
|
MwDisinfectRecord mwDisinfectRecord = new MwDisinfectRecord();
|
BeanUtils.copyProperties(dto,mwDisinfectRecord);
|
SysDepartment sysDepartment = sysDepartmentService.getById(dto.getHospitalId());
|
SysUser sysUser = sysUserService.getById(dto.getDisinfectUserId());
|
SysDictItem sysDictItemDisinfect = sysDictItemService.getById(dto.getDisinfectTypeId());
|
SysDictItem sysDictItemDevice = sysDictItemService.getById(dto.getDeviceTypeId());
|
mwDisinfectRecord.setCreateTime(new Date());
|
//mwDisinfectRecord.setCreateBy(EnvUtils.getUser().getId());
|
mwDisinfectRecord.setDisinfectUserName(sysUser.getName());
|
mwDisinfectRecord.setHospitalName(sysDepartment.getDepartName());
|
mwDisinfectRecord.setDisinfectType(sysDictItemDisinfect.getItemText());
|
mwDisinfectRecord.setDisinfectContent(sysDictItemDisinfect.getItemValue());
|
mwDisinfectRecord.setDeviceType(sysDictItemDevice.getItemValue());
|
mwDisinfectRecordService.save(mwDisinfectRecord);
|
|
}
|
result.success("添加成功!");
|
} catch (Exception e) {
|
result.error500("操作失败");
|
}
|
return result;
|
}
|
|
@GetMapping(value = "/getListDictType")
|
@ApiOperation(value = "获取消毒方式和消毒设备", notes = "获取消毒方式和消毒设备", produces = "application/json")
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "获取消毒方式(1=消毒方式,2=消毒设备)", name = "type", dataType = "int"),
|
})
|
public Result<List<SysDictItemVO>> listDictType(Integer type) {
|
String ids = "11,12";
|
if (type!=null && type == 1) {//消毒方式
|
ids = "11";
|
} else if (type!=null && type == 2) {//消毒设备
|
ids = "12";
|
}
|
List<SysDictItem> sysDictVOS = sysDictBiz.queryListDisinfect(ids);
|
List<SysDictItemVO> voList = new ArrayList<>();
|
for(SysDictItem vo : sysDictVOS){
|
SysDictItemVO sysDictItemVO= new SysDictItemVO();
|
BeanUtils.copyProperties(vo,sysDictItemVO);
|
voList.add(sysDictItemVO);
|
}
|
return Result.ok(voList);
|
}
|
/**
|
* 列表查询
|
*
|
* @return 查询结果
|
*/
|
@GetMapping(value = "/address/list")
|
@ApiOperation(value = "获取消毒地点列表", notes = "获取消毒地点分页列表", produces = "application/json")
|
public Result<List<MwDisinfectAddress>> getList() {
|
List<Integer> hospitalIdList = sysDepartmentService.getSearchHospitalIdList(null);
|
|
List<MwDisinfectAddress> list = mwDisinfectAddressService.lambdaQuery()
|
.eq(MwDisinfectAddress::getDelFlag, 0)
|
.in(CollUtil.isNotEmpty(hospitalIdList), MwDisinfectAddress::getHospitalId, hospitalIdList)
|
.orderByDesc(MwDisinfectAddress::getCreateTime).list();
|
|
return Result.ok(list);
|
}
|
}
|