添加了根据火点编码修改火点状态的接口
This commit is contained in:
parent
fc850c1835
commit
5b29b80de2
@ -110,4 +110,18 @@ public class FirePointController {
|
||||
}
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,firePointEntities,locale);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据火点编码修改火点状态
|
||||
* @param map
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/updateTypeByFireCode")
|
||||
@PreAuthorize("hasAnyAuthority('auth_general_user')")
|
||||
public String updateTypeByFireCode(@RequestBody Map map, @RequestHeader(value="Authorization") String token){
|
||||
String fireCode = (String) map.get("fireCode");
|
||||
String fireType = (String) map.get("fireType");
|
||||
return firePointService.updateTypeByFireCode(fireCode,fireType,token);
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.xkrs.dao;
|
||||
import com.xkrs.model.entity.FirePointEntity;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -28,4 +29,13 @@ public interface FirePointDao extends JpaRepository<FirePointEntity,Long>, JpaSp
|
||||
* @return
|
||||
*/
|
||||
FirePointEntity findByFireCode(String fireCode);
|
||||
|
||||
/**
|
||||
* 根据火点编码修改火点状态
|
||||
* @param fireCode
|
||||
* @param fireType
|
||||
*/
|
||||
@Modifying(clearAutomatically=true)
|
||||
@Query(value = "update fire_point set fire_type = ?2 where fire_code = ?1",nativeQuery = true)
|
||||
void updateFireTypeByFireCode(String fireCode,String fireType);
|
||||
}
|
||||
|
@ -35,4 +35,13 @@ public interface FirePointService {
|
||||
* @return
|
||||
*/
|
||||
List<FirePointEntity> selectFirePoint(String cityCode,String satelliteType,String landType,String startTime,String endTime);
|
||||
|
||||
/**
|
||||
* 根据火点编码修改火点的状态(预警)
|
||||
* @param fireCode
|
||||
* @param fireType
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
String updateTypeByFireCode(String fireCode,String fireType,String token);
|
||||
}
|
||||
|
@ -1,7 +1,14 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.common.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.common.tool.TokenUtil;
|
||||
import com.xkrs.dao.FireAndRangerDao;
|
||||
import com.xkrs.dao.FirePointDao;
|
||||
import com.xkrs.dao.ForestRangerDao;
|
||||
import com.xkrs.dao.SysUserDao;
|
||||
import com.xkrs.model.entity.FireAndRanger;
|
||||
import com.xkrs.model.entity.FirePointEntity;
|
||||
import com.xkrs.model.entity.SysUserEntity;
|
||||
import com.xkrs.model.qo.FirePointQo;
|
||||
import com.xkrs.service.FirePointService;
|
||||
import com.xkrs.utils.AddressUtils;
|
||||
@ -9,12 +16,17 @@ import com.xkrs.utils.DateTimeUtil;
|
||||
import com.xkrs.utils.Query;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
/**
|
||||
* @author XinYi Song
|
||||
@ -30,6 +42,15 @@ public class FirePointServiceImpl implements FirePointService {
|
||||
@Resource
|
||||
private Query query;
|
||||
|
||||
@Resource
|
||||
private SysUserDao sysUserDao;
|
||||
|
||||
@Resource
|
||||
private FireAndRangerDao fireAndRangerDao;
|
||||
|
||||
@Resource
|
||||
private ForestRangerDao forestRangerDao;
|
||||
|
||||
/**
|
||||
* 添加火点信息
|
||||
* @param firePointQo
|
||||
@ -79,4 +100,58 @@ public class FirePointServiceImpl implements FirePointService {
|
||||
public List<FirePointEntity> selectFirePoint(String cityCode, String satelliteType, String landType, String startTime, String endTime) {
|
||||
return query.selectFirePoint(cityCode, satelliteType, landType, startTime, endTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据火点编码修改火点的状态(预警)
|
||||
* @param fireCode
|
||||
* @param fireType
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
@Transactional(rollbackOn = Exception.class)
|
||||
@Override
|
||||
public String updateTypeByFireCode(String fireCode, String fireType, String token) {
|
||||
// 获取区域信息
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String tokenUserName = TokenUtil.getTokenUserName(token);
|
||||
SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName);
|
||||
FirePointEntity byFireCode = firePointDao.findByFireCode(fireCode);
|
||||
if (byFireCode.getFireType().equals("3") || byFireCode.getFireType().equals("-1")) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL,"该火点已经结案,请勿进行有关状态操作",locale);
|
||||
}
|
||||
if (fireType.equals(byFireCode.getFireType())) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL,"您正处于当前的状态,请勿进行该操作",locale);
|
||||
}
|
||||
firePointDao.updateFireTypeByFireCode(fireCode, fireType);
|
||||
if (fireType.equals("1")) {
|
||||
FirePointEntity byFireCode1 = firePointDao.findByFireCode(fireCode);
|
||||
// 预警
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,byFireCode1,locale);
|
||||
} else if (fireType.equals("2")){
|
||||
FirePointEntity byFireCode3 = firePointDao.findByFireCode(fireCode);
|
||||
// 核查
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,byFireCode3,locale);
|
||||
} else {
|
||||
String rangerType = "0";
|
||||
FireAndRanger byFireCode1 = fireAndRangerDao.findByFireCode(fireCode);
|
||||
if (byFireCode1 == null) {
|
||||
FirePointEntity byFireCode4 = firePointDao.findByFireCode(fireCode);
|
||||
String time = DateTimeUtil.dateTimeToString(LocalDateTime.now());
|
||||
FireAndRanger fireAndRanger = new FireAndRanger();
|
||||
fireAndRanger.setFireCode(fireCode);
|
||||
// 由于测试阶段先用用户账号代替,后期换成getReallyName(用户真实姓名)
|
||||
fireAndRanger.setHandler(sysUserEntity.getReallyName());
|
||||
fireAndRanger.setEndTime(time);
|
||||
fireAndRangerDao.save(fireAndRanger);
|
||||
// 结案
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,byFireCode4,locale);
|
||||
}
|
||||
// 火点结案,将护林员的状态修改为0 表示该护林员没有在执行任务,处于空闲状态
|
||||
forestRangerDao.updateRangerTypeByPhone(byFireCode1.getRangerName(), rangerType);
|
||||
String time = DateTimeUtil.dateTimeToString(LocalDateTime.now());
|
||||
fireAndRangerDao.updateEndTimeByFireCode(fireCode, time);
|
||||
fireAndRangerDao.updateProgressTypeByFireCode(fireCode, "0");
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"结案",locale);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user