Compare commits
2 Commits
b9958ebdb1
...
d1d003e7f4
Author | SHA1 | Date |
---|---|---|
|
d1d003e7f4 | |
|
2a6abb3ad2 |
|
@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
psu.remark,psu.face_guid,sd.dept_name com_name,psu.work_type
|
psu.remark,psu.face_guid,sd.dept_name com_name,psu.work_type
|
||||||
from pro_project_info_subdepts_users psu
|
from pro_project_info_subdepts_users psu
|
||||||
left join pro_project_info pi on pi.id = psu.project_id
|
left join pro_project_info pi on pi.id = psu.project_id
|
||||||
join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id
|
left join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id
|
||||||
left join sys_dept sd on sd.dept_id = psu.com_id
|
left join sys_dept sd on sd.dept_id = psu.com_id
|
||||||
left join sys_dict_data dic1 on psu.`craft_type`=dic1.`dict_value` and dic1.`dict_type`='pro_craft_type'
|
left join sys_dict_data dic1 on psu.`craft_type`=dic1.`dict_value` and dic1.`dict_type`='pro_craft_type'
|
||||||
left join sys_dict_data dic2 on psu.`craft_post`=dic2.`dict_value` and dic2.`dict_type`='pro_craft_post'
|
left join sys_dict_data dic2 on psu.`craft_post`=dic2.`dict_value` and dic2.`dict_type`='pro_craft_post'
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.yanzhu.manage.controller.device;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.yanzhu.common.core.annotation.RateLimiter;
|
import com.yanzhu.common.core.annotation.RateLimiter;
|
||||||
import com.yanzhu.common.core.constant.CacheConstants;
|
|
||||||
import com.yanzhu.common.core.enums.LimitType;
|
import com.yanzhu.common.core.enums.LimitType;
|
||||||
import com.yanzhu.common.core.exception.ServiceException;
|
import com.yanzhu.common.core.exception.ServiceException;
|
||||||
import com.yanzhu.common.core.text.Convert;
|
import com.yanzhu.common.core.text.Convert;
|
||||||
|
@ -10,7 +9,10 @@ import com.yanzhu.common.core.utils.StringUtils;
|
||||||
import com.yanzhu.common.core.web.domain.AjaxResult;
|
import com.yanzhu.common.core.web.domain.AjaxResult;
|
||||||
import com.yanzhu.common.redis.service.RedisService;
|
import com.yanzhu.common.redis.service.RedisService;
|
||||||
import com.yanzhu.device.domain.*;
|
import com.yanzhu.device.domain.*;
|
||||||
import com.yanzhu.manage.domain.TowerReqVo;
|
import com.yanzhu.manage.domain.vo.TowerReqVo;
|
||||||
|
import com.yanzhu.manage.domain.vo.TyTowerRoundReqVO;
|
||||||
|
import com.yanzhu.manage.domain.vo.TyTowerRunReqVO;
|
||||||
|
import com.yanzhu.manage.domain.vo.TyTowerWarningReqVO;
|
||||||
import com.yanzhu.manage.enums.HttpStatusEnum;
|
import com.yanzhu.manage.enums.HttpStatusEnum;
|
||||||
import com.yanzhu.manage.enums.TowerTypeEnums;
|
import com.yanzhu.manage.enums.TowerTypeEnums;
|
||||||
import com.yanzhu.manage.service.*;
|
import com.yanzhu.manage.service.*;
|
||||||
|
@ -23,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -58,12 +61,16 @@ public class TowerCraneApiController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDevTowerDataCollideService devTowerDataCollideService;
|
private IDevTowerDataCollideService devTowerDataCollideService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDevTowerDataWarningService devTowerDataWarningService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IDevTowerProjectConfigService devTowerProjectConfigService;
|
private IDevTowerProjectConfigService devTowerProjectConfigService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔吊监测++
|
* 塔吊监测++
|
||||||
* 限流规则[60秒内最多请求10次,限流策略IP]
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
*
|
||||||
* @param req 请求信息
|
* @param req 请求信息
|
||||||
* @author JiangYuQi
|
* @author JiangYuQi
|
||||||
* @date 2024-01-13
|
* @date 2024-01-13
|
||||||
|
@ -72,31 +79,32 @@ public class TowerCraneApiController {
|
||||||
@RateLimiter(count = 10, limitType = LimitType.IP)
|
@RateLimiter(count = 10, limitType = LimitType.IP)
|
||||||
@PostMapping("/v1/push")
|
@PostMapping("/v1/push")
|
||||||
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
|
public AjaxResult pushData(@Validated @RequestBody TowerReqVo req) {
|
||||||
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER+req.getContent().getDeviceKey());
|
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getContent().getDeviceKey());
|
||||||
if(config==null){
|
if (config == null) {
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(), HttpStatusEnum.DARA_EXCEPTION.getCode());
|
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(), HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
}
|
}
|
||||||
if(req.getType() == TowerTypeEnums.BASE.getCode()){
|
if (req.getType() == TowerTypeEnums.BASE.getCode()) {
|
||||||
this.pushConfigData(config,req);
|
this.pushConfigData(config, req);
|
||||||
}else if(req.getType() == TowerTypeEnums.RUN.getCode()){
|
} else if (req.getType() == TowerTypeEnums.RUN.getCode()) {
|
||||||
this.pushRunData(config,req);
|
this.pushRunData(config, req);
|
||||||
}else if(req.getType() == TowerTypeEnums.ROUND.getCode()){
|
} else if (req.getType() == TowerTypeEnums.ROUND.getCode()) {
|
||||||
this.pushRoundData(config,req);
|
this.pushRoundData(config, req);
|
||||||
}else if(req.getType() == TowerTypeEnums.COLLIDE.getCode()){
|
} else if (req.getType() == TowerTypeEnums.COLLIDE.getCode()) {
|
||||||
this.pushCollideData(config,req);
|
this.pushCollideData(config, req);
|
||||||
}else if(req.getType() == TowerTypeEnums.LIMIT.getCode()){
|
} else if (req.getType() == TowerTypeEnums.LIMIT.getCode()) {
|
||||||
this.pushLimitData(config,req);
|
this.pushLimitData(config, req);
|
||||||
}else if(req.getType() == TowerTypeEnums.LOCAL.getCode()){
|
} else if (req.getType() == TowerTypeEnums.LOCAL.getCode()) {
|
||||||
this.pushLocalData(config,req);
|
this.pushLocalData(config, req);
|
||||||
}
|
}
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报基本信息
|
* 塔机上报基本信息
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private void pushConfigData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushConfigData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerProjectConfig devTowerProjectConfig = devTowerProjectConfigService.selectDevTowerProjectConfigById(config.getId());
|
DevTowerProjectConfig devTowerProjectConfig = devTowerProjectConfigService.selectDevTowerProjectConfigById(config.getId());
|
||||||
Map<String, Object> dataContent = req.getContent().getDataContent();
|
Map<String, Object> dataContent = req.getContent().getDataContent();
|
||||||
devTowerProjectConfig.setTowerId(Convert.toStr(dataContent.get("towerId")));
|
devTowerProjectConfig.setTowerId(Convert.toStr(dataContent.get("towerId")));
|
||||||
|
@ -113,9 +121,10 @@ public class TowerCraneApiController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报实时数据
|
* 塔机上报实时数据
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private static void pushRunData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushRunData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
|
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
|
||||||
Map<String, Object> dataContent = req.getContent().getDataContent();
|
Map<String, Object> dataContent = req.getContent().getDataContent();
|
||||||
devTowerDataRun.setCfgId(config.getId());
|
devTowerDataRun.setCfgId(config.getId());
|
||||||
|
@ -141,33 +150,34 @@ public class TowerCraneApiController {
|
||||||
devTowerDataRun.setRangeSensorState(Convert.toStr(dataContent.get("rangeSensorState")));
|
devTowerDataRun.setRangeSensorState(Convert.toStr(dataContent.get("rangeSensorState")));
|
||||||
devTowerDataRun.setHeightSensorState(Convert.toStr(dataContent.get("heightSensorState")));
|
devTowerDataRun.setHeightSensorState(Convert.toStr(dataContent.get("heightSensorState")));
|
||||||
devTowerDataRun.setBrakingStatus(Convert.toStr(dataContent.get("brakingStatus")));
|
devTowerDataRun.setBrakingStatus(Convert.toStr(dataContent.get("brakingStatus")));
|
||||||
if(dataContent.get("warnings")!=null){
|
if (dataContent.get("warnings") != null) {
|
||||||
List<String> warnings = (List<String>)dataContent.get("warnings");
|
List<String> warnings = (List<String>) dataContent.get("warnings");
|
||||||
devTowerDataRun.setWarnings(String.join(",", warnings));
|
devTowerDataRun.setWarnings(String.join(",", warnings));
|
||||||
for(String warning:warnings){
|
for (String warning : warnings) {
|
||||||
|
pushWarningData(config, warning);
|
||||||
Integer alarm = Convert.toInt(warning);
|
Integer alarm = Convert.toInt(warning);
|
||||||
if(alarm>100 && alarm<120){
|
if (alarm > 100 && alarm < 120) {
|
||||||
devTowerDataRun.setIsAlarm(1L);
|
devTowerDataRun.setIsAlarm(1L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println(devTowerDataRun);
|
devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
|
||||||
//devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
String str = "{\"type\":111,\"content\":{\"time\":1496263304,\"dataType\":113001,\"deviceKey\":\"jycw6\",\"dataContent\":{\"height\":\"4.1\",\"range\": \"21.9\",\"rotation\": \"171.0\",\"load\": \"0.0\",\"windSpeed\": \"0.0\",\"leanAngleX\":\"0.5\",\"leanAngley\":\"0.0\",\"loadPercent\":\"0\", \"mome ntPercent\":\"0\",\"windSpeedPercent\":\"0\",\"leanAnglePercent\": \"0\", \"warnings\": [\"0\"],\"rate\":\"2\",\"rotationSensorState\":\"1\",\"loadSensorState\": \"1\",\"windSpeedSensorState\": \"1\",\"leanAngleSensorState\":\"1\",\"rangeSensorState\":\"1\",\"heightSensorState\":\"1\",\"bra kingStatus\":\"0\"}}}";
|
String str = "{\"type\":111,\"content\":{\"time\":1496263304,\"dataType\":113001,\"deviceKey\":\"jycw6\",\"dataContent\":{\"height\":\"4.1\",\"range\": \"21.9\",\"rotation\": \"171.0\",\"load\": \"0.0\",\"windSpeed\": \"0.0\",\"leanAngleX\":\"0.5\",\"leanAngley\":\"0.0\",\"loadPercent\":\"0\", \"mome ntPercent\":\"0\",\"windSpeedPercent\":\"0\",\"leanAnglePercent\": \"0\", \"warnings\": [\"0\"],\"rate\":\"2\",\"rotationSensorState\":\"1\",\"loadSensorState\": \"1\",\"windSpeedSensorState\": \"1\",\"leanAngleSensorState\":\"1\",\"rangeSensorState\":\"1\",\"heightSensorState\":\"1\",\"bra kingStatus\":\"0\"}}}";
|
||||||
TowerReqVo req = JSON.parseObject(str,TowerReqVo.class);
|
TowerReqVo req = JSON.parseObject(str, TowerReqVo.class);
|
||||||
System.out.println(req);
|
System.out.println(req);
|
||||||
DevTowerProjectConfig config = new DevTowerProjectConfig();
|
DevTowerProjectConfig config = new DevTowerProjectConfig();
|
||||||
pushRunData(config,req);
|
//pushRunData(config,req);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报循环数据
|
* 塔机上报循环数据
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private void pushRoundData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushRoundData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
|
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
|
||||||
Map<String, Object> dataContent = req.getContent().getDataContent();
|
Map<String, Object> dataContent = req.getContent().getDataContent();
|
||||||
devTowerDataRound.setCfgId(config.getId());
|
devTowerDataRound.setCfgId(config.getId());
|
||||||
|
@ -199,15 +209,16 @@ public class TowerCraneApiController {
|
||||||
devTowerDataRound.setEndLeanAngleX(Convert.toStr(dataContent.get("endLeanAngleX")));
|
devTowerDataRound.setEndLeanAngleX(Convert.toStr(dataContent.get("endLeanAngleX")));
|
||||||
devTowerDataRound.setStartLeanAngleY(Convert.toStr(dataContent.get("startleanAngleY")));
|
devTowerDataRound.setStartLeanAngleY(Convert.toStr(dataContent.get("startleanAngleY")));
|
||||||
devTowerDataRound.setEndLeanAngleY(Convert.toStr(dataContent.get("endLeanAngleY")));
|
devTowerDataRound.setEndLeanAngleY(Convert.toStr(dataContent.get("endLeanAngleY")));
|
||||||
if(dataContent.get("warning")!=null){
|
if (dataContent.get("warning") != null) {
|
||||||
List<String> warnings = (List<String>)dataContent.get("warning");
|
List<String> warnings = (List<String>) dataContent.get("warning");
|
||||||
devTowerDataRound.setWarnings(String.join(",", warnings));
|
devTowerDataRound.setWarnings(String.join(",", warnings));
|
||||||
for(String warning:warnings){
|
for (String warning : warnings) {
|
||||||
|
pushWarningData(config, warning);
|
||||||
Integer alarm = Convert.toInt(warning);
|
Integer alarm = Convert.toInt(warning);
|
||||||
if(alarm>6 && alarm<10){
|
if (alarm > 6 && alarm < 10) {
|
||||||
devTowerDataRound.setIsOverload(1L);
|
devTowerDataRound.setIsOverload(1L);
|
||||||
}
|
}
|
||||||
if(alarm>100 && alarm<120){
|
if (alarm > 100 && alarm < 120) {
|
||||||
devTowerDataRound.setIsAlarm(1L);
|
devTowerDataRound.setIsAlarm(1L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -215,11 +226,28 @@ public class TowerCraneApiController {
|
||||||
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
|
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存预警数据
|
||||||
|
*
|
||||||
|
* @param config
|
||||||
|
* @param warning
|
||||||
|
*/
|
||||||
|
private void pushWarningData(DevTowerProjectConfig config, Object warning) {
|
||||||
|
DevTowerDataWarning devTowerDataWarning = new DevTowerDataWarning();
|
||||||
|
devTowerDataWarning.setCfgId(config.getId());
|
||||||
|
devTowerDataWarning.setProjectId(config.getProjectId());
|
||||||
|
devTowerDataWarning.setComId(config.getComId());
|
||||||
|
devTowerDataWarning.setDeviceKey(config.getDeviceSn());
|
||||||
|
devTowerDataWarning.setWarnType(Convert.toLong(warning));
|
||||||
|
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报碰撞信息
|
* 塔机上报碰撞信息
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private void pushCollideData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushCollideData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerDataCollide devTowerDataCollide = new DevTowerDataCollide();
|
DevTowerDataCollide devTowerDataCollide = new DevTowerDataCollide();
|
||||||
Map<String, Object> dataContent = req.getContent().getLocalDeviceInfo();
|
Map<String, Object> dataContent = req.getContent().getLocalDeviceInfo();
|
||||||
devTowerDataCollide.setCfgId(config.getId());
|
devTowerDataCollide.setCfgId(config.getId());
|
||||||
|
@ -239,8 +267,8 @@ public class TowerCraneApiController {
|
||||||
devTowerDataCollide.setAlarmWarningDistance(Convert.toStr(dataContent.get("alarmWarningDistance")));
|
devTowerDataCollide.setAlarmWarningDistance(Convert.toStr(dataContent.get("alarmWarningDistance")));
|
||||||
devTowerDataCollide.setContourValue(Convert.toStr(dataContent.get("contourValue")));
|
devTowerDataCollide.setContourValue(Convert.toStr(dataContent.get("contourValue")));
|
||||||
List<DevTowerDataCollideDetail> devTowerDataCollideDetailList = new ArrayList<>();
|
List<DevTowerDataCollideDetail> devTowerDataCollideDetailList = new ArrayList<>();
|
||||||
if(StringUtils.isNotEmpty(req.getContent().getCollideTowers())){
|
if (StringUtils.isNotEmpty(req.getContent().getCollideTowers())) {
|
||||||
for (Map<String, Object> collideTowers:req.getContent().getCollideTowers()){
|
for (Map<String, Object> collideTowers : req.getContent().getCollideTowers()) {
|
||||||
DevTowerDataCollideDetail devTowerDataCollideDetail = new DevTowerDataCollideDetail();
|
DevTowerDataCollideDetail devTowerDataCollideDetail = new DevTowerDataCollideDetail();
|
||||||
devTowerDataCollideDetail.setTowerId(Convert.toStr(collideTowers.get("towerId")));
|
devTowerDataCollideDetail.setTowerId(Convert.toStr(collideTowers.get("towerId")));
|
||||||
devTowerDataCollideDetail.setCoordinateX(Convert.toStr(collideTowers.get("coordinateX")));
|
devTowerDataCollideDetail.setCoordinateX(Convert.toStr(collideTowers.get("coordinateX")));
|
||||||
|
@ -263,9 +291,10 @@ public class TowerCraneApiController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报限位信息
|
* 塔机上报限位信息
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private void pushLimitData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushLimitData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerDataLimit devTowerDataLimit = new DevTowerDataLimit();
|
DevTowerDataLimit devTowerDataLimit = new DevTowerDataLimit();
|
||||||
Map<String, Object> dataContent = req.getContent().getDataContent();
|
Map<String, Object> dataContent = req.getContent().getDataContent();
|
||||||
devTowerDataLimit.setCfgId(config.getId());
|
devTowerDataLimit.setCfgId(config.getId());
|
||||||
|
@ -312,9 +341,10 @@ public class TowerCraneApiController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 塔机上报标定位信息
|
* 塔机上报标定位信息
|
||||||
|
*
|
||||||
* @param req
|
* @param req
|
||||||
*/
|
*/
|
||||||
private void pushLocalData(DevTowerProjectConfig config,TowerReqVo req){
|
private void pushLocalData(DevTowerProjectConfig config, TowerReqVo req) {
|
||||||
DevTowerDataLocal devTowerDataLocal = new DevTowerDataLocal();
|
DevTowerDataLocal devTowerDataLocal = new DevTowerDataLocal();
|
||||||
Map<String, Object> dataContent = req.getContent().getDataContent();
|
Map<String, Object> dataContent = req.getContent().getDataContent();
|
||||||
devTowerDataLocal.setCfgId(config.getId());
|
devTowerDataLocal.setCfgId(config.getId());
|
||||||
|
@ -343,4 +373,175 @@ public class TowerCraneApiController {
|
||||||
devTowerDataLocalService.insertDevTowerDataLocal(devTowerDataLocal);
|
devTowerDataLocalService.insertDevTowerDataLocal(devTowerDataLocal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 塔吊监测++
|
||||||
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
*
|
||||||
|
* @param req 请求信息
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2024-01-13
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "山东探越-塔吊监测-实时数据")
|
||||||
|
@RateLimiter(count = 10, limitType = LimitType.IP)
|
||||||
|
@PostMapping("/v2_ty/run/push")
|
||||||
|
public AjaxResult tyPushRunData(@RequestBody @Valid TyTowerRunReqVO req) {
|
||||||
|
log.info("desApi.towerCrane.v2_ty.run.push...{}",req.getEid());
|
||||||
|
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
|
||||||
|
if (config == null) {
|
||||||
|
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
|
||||||
|
}
|
||||||
|
DevTowerDataRun devTowerDataRun = new DevTowerDataRun();
|
||||||
|
devTowerDataRun.setCfgId(config.getId());
|
||||||
|
devTowerDataRun.setProjectId(config.getProjectId());
|
||||||
|
devTowerDataRun.setComId(config.getComId());
|
||||||
|
devTowerDataRun.setDeviceKey(config.getDeviceSn());
|
||||||
|
devTowerDataRun.setHeight(Convert.toStr(req.getHeight()));
|
||||||
|
devTowerDataRun.setRange(Convert.toStr(req.getAmplitude()));
|
||||||
|
devTowerDataRun.setRotation(Convert.toStr(req.getRound()));
|
||||||
|
devTowerDataRun.setLoad(Convert.toStr(req.getWeight()));
|
||||||
|
devTowerDataRun.setWindSpeed(Convert.toStr(req.getWind_speed()));
|
||||||
|
devTowerDataRun.setLeanAngleX(Convert.toStr(req.getAngle_x()));
|
||||||
|
devTowerDataRun.setLeanAngleY(Convert.toStr(req.getAngle_y()));
|
||||||
|
devTowerDataRun.setMomentPercent(Convert.toStr(req.getMoment_percent()));
|
||||||
|
devTowerDataRun.setRate(Convert.toStr(req.getOverride()));
|
||||||
|
devTowerDataRunService.insertDevTowerDataRun(devTowerDataRun);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 塔吊监测++
|
||||||
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
*
|
||||||
|
* @param req 请求信息
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2024-01-13
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "山东探越-塔吊监测-循环数据")
|
||||||
|
@RateLimiter(count = 10, limitType = LimitType.IP)
|
||||||
|
@PostMapping("/v2_ty/round/push")
|
||||||
|
public AjaxResult tyPushRoundData(@RequestBody @Valid TyTowerRoundReqVO req) {
|
||||||
|
log.info("desApi.towerCrane.v2_ty.round.push...{}",req.getEid());
|
||||||
|
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
|
||||||
|
if (config == null) {
|
||||||
|
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
|
||||||
|
}
|
||||||
|
DevTowerDataRound devTowerDataRound = new DevTowerDataRound();
|
||||||
|
devTowerDataRound.setCfgId(config.getId());
|
||||||
|
devTowerDataRound.setProjectId(config.getProjectId());
|
||||||
|
devTowerDataRound.setComId(config.getComId());
|
||||||
|
devTowerDataRound.setDeviceKey(config.getDeviceSn());
|
||||||
|
devTowerDataRound.setWorkStartTime(Convert.toStr(req.getStart_time()));
|
||||||
|
devTowerDataRound.setWorkEndTime(Convert.toStr(req.getEnd_time()));
|
||||||
|
devTowerDataRound.setMinHeight(Convert.toStr(req.getStart_height()));
|
||||||
|
devTowerDataRound.setMaxHeight(Convert.toStr(req.getEnd_height()));
|
||||||
|
devTowerDataRound.setMinRange(Convert.toStr(req.getStart_range()));
|
||||||
|
devTowerDataRound.setMaxRange(Convert.toStr(req.getEnd_range()));
|
||||||
|
devTowerDataRound.setStartHeight(Convert.toStr(req.getStart_height()));
|
||||||
|
devTowerDataRound.setEndHeight(Convert.toStr(req.getEnd_height()));
|
||||||
|
devTowerDataRound.setStartRange(Convert.toStr(req.getStart_range()));
|
||||||
|
devTowerDataRound.setEndRange(Convert.toStr(req.getEnd_range()));
|
||||||
|
devTowerDataRound.setStartRotation(Convert.toStr(req.getStart_rotation_angle()));
|
||||||
|
devTowerDataRound.setEndRotation(Convert.toStr(req.getEnd_rotation_angle()));
|
||||||
|
devTowerDataRound.setMaxLoad(Convert.toStr(req.getWeight()));
|
||||||
|
devTowerDataRound.setMaxMomentPercent(Convert.toStr(req.getMoment_percent()));
|
||||||
|
devTowerDataRoundService.insertDevTowerDataRound(devTowerDataRound);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 塔吊监测++
|
||||||
|
* 限流规则[60秒内最多请求10次,限流策略IP]
|
||||||
|
*
|
||||||
|
* @param req 请求信息
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2024-01-13
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "山东探越-塔吊监测-预警数据")
|
||||||
|
@RateLimiter(count = 10, limitType = LimitType.IP)
|
||||||
|
@PostMapping("/v2_ty/warning/push")
|
||||||
|
public AjaxResult tyPushWarningData(@RequestBody @Valid TyTowerWarningReqVO req) {
|
||||||
|
log.info("desApi.towerCrane.v2_ty.warning.push...{}",req.getEid());
|
||||||
|
DevTowerProjectConfig config = redisService.getCacheObject(YANZHU_DEVICE_TOWER + req.getEid());
|
||||||
|
if (config == null) {
|
||||||
|
throw new ServiceException(HttpStatusEnum.ERROR.getInfo(), HttpStatusEnum.ERROR.getCode());
|
||||||
|
}
|
||||||
|
DevTowerDataWarning devTowerDataWarning = new DevTowerDataWarning();
|
||||||
|
devTowerDataWarning.setCfgId(config.getId());
|
||||||
|
devTowerDataWarning.setProjectId(config.getProjectId());
|
||||||
|
devTowerDataWarning.setComId(config.getComId());
|
||||||
|
devTowerDataWarning.setDeviceKey(config.getDeviceSn());
|
||||||
|
devTowerDataWarning.setWarnType(Convert.toLong(req.getAlarm_type()));
|
||||||
|
devTowerDataWarningService.insertDevTowerDataWarning(devTowerDataWarning);
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转换预警类型
|
||||||
|
*
|
||||||
|
* @param warningType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String convertTyTowerWarningType(String warningType) {
|
||||||
|
String warningTypeEs;
|
||||||
|
switch (warningType) {
|
||||||
|
case "1":
|
||||||
|
warningTypeEs = "1";
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
warningTypeEs = "101";
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
warningTypeEs = "4";
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
warningTypeEs = "103";
|
||||||
|
break;
|
||||||
|
case "5":
|
||||||
|
warningTypeEs = "3";
|
||||||
|
break;
|
||||||
|
case "6":
|
||||||
|
warningTypeEs = "102";
|
||||||
|
break;
|
||||||
|
case "7":
|
||||||
|
warningTypeEs = "7";
|
||||||
|
break;
|
||||||
|
case "8":
|
||||||
|
warningTypeEs = "106";
|
||||||
|
break;
|
||||||
|
case "9":
|
||||||
|
warningTypeEs = "10";
|
||||||
|
break;
|
||||||
|
case "10":
|
||||||
|
warningTypeEs = "107";
|
||||||
|
break;
|
||||||
|
case "11":
|
||||||
|
warningTypeEs = "13";
|
||||||
|
break;
|
||||||
|
case "12":
|
||||||
|
warningTypeEs = "108";
|
||||||
|
break;
|
||||||
|
case "13":
|
||||||
|
warningTypeEs = "5";
|
||||||
|
break;
|
||||||
|
case "14":
|
||||||
|
warningTypeEs = "104";
|
||||||
|
break;
|
||||||
|
case "15":
|
||||||
|
warningTypeEs = "6";
|
||||||
|
break;
|
||||||
|
case "16":
|
||||||
|
warningTypeEs = "105";
|
||||||
|
break;
|
||||||
|
case "17":
|
||||||
|
warningTypeEs = "14";
|
||||||
|
break;
|
||||||
|
case "18":
|
||||||
|
warningTypeEs = "109";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
warningTypeEs = "0";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return warningTypeEs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import com.yanzhu.manage.service.*;
|
||||||
import com.yanzhu.security.utils.DictUtils;
|
import com.yanzhu.security.utils.DictUtils;
|
||||||
import com.yanzhu.system.api.domain.SysUser;
|
import com.yanzhu.system.api.domain.SysUser;
|
||||||
import com.yanzhu.system.api.model.LoginUser;
|
import com.yanzhu.system.api.model.LoginUser;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@ -22,6 +23,7 @@ import java.util.Objects;
|
||||||
* @author JiangYuQi
|
* @author JiangYuQi
|
||||||
* @date 2024-08-25
|
* @date 2024-08-25
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/wxApi")
|
@RequestMapping("/wxApi")
|
||||||
public class WxController extends BaseController {
|
public class WxController extends BaseController {
|
||||||
|
@ -107,7 +109,9 @@ public class WxController extends BaseController {
|
||||||
public AjaxResult findProSubDeptsUserInfo(@PathVariable("proId") Long proId)
|
public AjaxResult findProSubDeptsUserInfo(@PathVariable("proId") Long proId)
|
||||||
{
|
{
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
log.info("findProSubDeptsUserInfo...findProSubDeptsUserInfo...{}...{}", proId, loginUser.getUserid());
|
||||||
if(SecurityUtils.isAdmin(loginUser.getUserid()) || SecurityUtils.isGSAdmin()){
|
if(SecurityUtils.isAdmin(loginUser.getUserid()) || SecurityUtils.isGSAdmin()){
|
||||||
|
log.info("findProSubDeptsUserInfo...1");
|
||||||
ProProjectInfo projectInfo = proProjectInfoService.selectProProjectInfoById(proId);
|
ProProjectInfo projectInfo = proProjectInfoService.selectProProjectInfoById(proId);
|
||||||
ProProjectInfoSubdeptsUsers adminUser = new ProProjectInfoSubdeptsUsers();
|
ProProjectInfoSubdeptsUsers adminUser = new ProProjectInfoSubdeptsUsers();
|
||||||
adminUser.setId(0L);
|
adminUser.setId(0L);
|
||||||
|
@ -122,6 +126,7 @@ public class WxController extends BaseController {
|
||||||
adminUser.setUserName(loginUser.getSysUser().getNickName());
|
adminUser.setUserName(loginUser.getSysUser().getNickName());
|
||||||
return success(adminUser);
|
return success(adminUser);
|
||||||
}else{
|
}else{
|
||||||
|
log.info("findProSubDeptsUserInfo...2");
|
||||||
return success(proProjectInfoSubdeptsUsersService.findProSubDeptsUserInfo(proId, loginUser.getUserid()));
|
return success(proProjectInfoSubdeptsUsersService.findProSubDeptsUserInfo(proId, loginUser.getUserid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.yanzhu.manage.domain;
|
package com.yanzhu.manage.domain.vo;
|
||||||
|
|
||||||
|
import com.yanzhu.manage.domain.TowerContentReqVo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
|
@ -0,0 +1,37 @@
|
||||||
|
package com.yanzhu.manage.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 山东探越塔机请求-循环数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TyTowerRoundReqVO {
|
||||||
|
|
||||||
|
/** 设备ID */
|
||||||
|
@NotNull
|
||||||
|
private Integer eid;
|
||||||
|
/** 开始高度 */
|
||||||
|
private Float start_height;
|
||||||
|
/** 开始幅度 */
|
||||||
|
private Float start_range;
|
||||||
|
/** 开始回转角度 */
|
||||||
|
private Float start_rotation_angle;
|
||||||
|
/** 结束高度 */
|
||||||
|
private Float end_height;
|
||||||
|
/** 结束幅度 */
|
||||||
|
private Float end_range;
|
||||||
|
/** 结束回转角度 */
|
||||||
|
private Float end_rotation_angle;
|
||||||
|
/** 重量 */
|
||||||
|
private Float weight;
|
||||||
|
/** 力矩百分比 */
|
||||||
|
private Float moment_percent;
|
||||||
|
/** 开始时间 */
|
||||||
|
private String start_time;
|
||||||
|
/** 结束时间 */
|
||||||
|
private String end_time;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.yanzhu.manage.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 山东探越塔机请求-实时数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TyTowerRunReqVO {
|
||||||
|
|
||||||
|
/** 设备ID */
|
||||||
|
@NotNull
|
||||||
|
private Integer eid;
|
||||||
|
/** 高度(米) */
|
||||||
|
private Float height;
|
||||||
|
/** 重量(kg) */
|
||||||
|
private Float weight;
|
||||||
|
/** 回转(°) */
|
||||||
|
private Float round;
|
||||||
|
/** 幅度(°) */
|
||||||
|
private Float amplitude;
|
||||||
|
/** 风速(米/秒) */
|
||||||
|
private Float wind_speed;
|
||||||
|
/** 力矩 */
|
||||||
|
private Float moment;
|
||||||
|
/** 力矩百分比(%) */
|
||||||
|
private Float moment_percent;
|
||||||
|
/** 倍率(正整数) */
|
||||||
|
private Integer override;
|
||||||
|
/** 倾角X(°) */
|
||||||
|
private Float angle_x;
|
||||||
|
/** 倾角Y(°) */
|
||||||
|
private Float angle_y;
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.yanzhu.manage.domain.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 山东探越塔机请求-报警数据
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class TyTowerWarningReqVO {
|
||||||
|
|
||||||
|
/** 设备ID */
|
||||||
|
@NotNull
|
||||||
|
private Integer eid;
|
||||||
|
/** 高度 */
|
||||||
|
private Float height;
|
||||||
|
/** 重量 */
|
||||||
|
private Float weight;
|
||||||
|
/** 回转 */
|
||||||
|
private Float round;
|
||||||
|
/** 幅度 */
|
||||||
|
private Float amplitude;
|
||||||
|
/** 风速 */
|
||||||
|
private Float wind_speed;
|
||||||
|
/** 力矩 */
|
||||||
|
private Float moment;
|
||||||
|
/** 力矩百分比 */
|
||||||
|
private Float moment_percent;
|
||||||
|
/** 倍率 */
|
||||||
|
private Integer override;
|
||||||
|
/** 倾角X */
|
||||||
|
private Float angle_x;
|
||||||
|
/** 倾角Y */
|
||||||
|
private Float angle_y;
|
||||||
|
/** 报警type,报警内容由报警编号决定 */
|
||||||
|
private Integer alarm_type;
|
||||||
|
|
||||||
|
}
|
|
@ -53,7 +53,6 @@ public class DevTowerDataRoundServiceImpl implements IDevTowerDataRoundService
|
||||||
@Override
|
@Override
|
||||||
public int insertDevTowerDataRound(DevTowerDataRound devTowerDataRound)
|
public int insertDevTowerDataRound(DevTowerDataRound devTowerDataRound)
|
||||||
{
|
{
|
||||||
//devTowerDataRound.setCreateBy(SecurityUtils.getUsername());
|
|
||||||
devTowerDataRound.setCreateTime(DateUtils.getNowDate());
|
devTowerDataRound.setCreateTime(DateUtils.getNowDate());
|
||||||
return devTowerDataRoundMapper.insertDevTowerDataRound(devTowerDataRound);
|
return devTowerDataRoundMapper.insertDevTowerDataRound(devTowerDataRound);
|
||||||
}
|
}
|
||||||
|
@ -67,7 +66,6 @@ public class DevTowerDataRoundServiceImpl implements IDevTowerDataRoundService
|
||||||
@Override
|
@Override
|
||||||
public int updateDevTowerDataRound(DevTowerDataRound devTowerDataRound)
|
public int updateDevTowerDataRound(DevTowerDataRound devTowerDataRound)
|
||||||
{
|
{
|
||||||
//devTowerDataRound.setUpdateBy(SecurityUtils.getUsername());
|
|
||||||
devTowerDataRound.setUpdateTime(DateUtils.getNowDate());
|
devTowerDataRound.setUpdateTime(DateUtils.getNowDate());
|
||||||
return devTowerDataRoundMapper.updateDevTowerDataRound(devTowerDataRound);
|
return devTowerDataRoundMapper.updateDevTowerDataRound(devTowerDataRound);
|
||||||
}
|
}
|
||||||
|
|
|
@ -186,89 +186,49 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
|
||||||
* @param plan
|
* @param plan
|
||||||
*/
|
*/
|
||||||
private void RecursionEditStartDate(ProPlan plan){
|
private void RecursionEditStartDate(ProPlan plan){
|
||||||
if(plan.getStartDate()!=null){
|
int res = proPlanMapper.updateProPlan(plan);
|
||||||
int res = proPlanMapper.updateProPlan(plan);
|
if(res>0){
|
||||||
if(res>0){
|
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
||||||
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
if(entity!=null){
|
||||||
if(entity!=null){
|
if(entity.getStartDate()==null){
|
||||||
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
entity.setStartDate(plan.getStartDate());
|
||||||
int Finished = 0;
|
}
|
||||||
try {
|
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
||||||
if(belows.size()>0){
|
Float Finished = 0.0F;
|
||||||
for(ProPlan item:belows){
|
int totalTaskDuation = 0;
|
||||||
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
try {
|
||||||
if(sNode>0){
|
if(belows.size()>0){
|
||||||
if(sNode==100){
|
for(ProPlan item:belows){
|
||||||
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
totalTaskDuation += item.getTaskDuation();
|
||||||
}else{
|
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
||||||
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
if(sNode>0){
|
||||||
}
|
if(sNode>=100){
|
||||||
|
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
||||||
|
}else{
|
||||||
|
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
if(Finished==0){
|
}catch (Exception e){
|
||||||
entity.setScheduleNode("0");
|
e.printStackTrace();
|
||||||
}else{
|
|
||||||
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
|
|
||||||
if(_cn>100){
|
|
||||||
entity.setScheduleNode("100");
|
|
||||||
}else{
|
|
||||||
entity.setScheduleNode(String.format("%.2f", _cn));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 更新总进度
|
|
||||||
if(entity.getTaskOutlineLevel()==1){
|
|
||||||
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
|
||||||
}
|
|
||||||
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
|
||||||
entity.setStartDate(plan.getStartDate());
|
|
||||||
RecursionEditStartDate(entity);
|
|
||||||
}
|
}
|
||||||
}
|
if(Finished==0){
|
||||||
}else{
|
entity.setScheduleNode("0");
|
||||||
int res = proPlanMapper.updateProPlanStartDate(plan);
|
}else{
|
||||||
if(res>0){
|
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
|
||||||
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
if(_cn>=100){
|
||||||
if(entity!=null){
|
entity.setScheduleNode("100");
|
||||||
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
|
||||||
Float Finished = 0.0F;
|
|
||||||
try {
|
|
||||||
if(belows.size()>0){
|
|
||||||
for(ProPlan item:belows){
|
|
||||||
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
|
||||||
if(sNode>0){
|
|
||||||
if(sNode==100){
|
|
||||||
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
|
||||||
}else{
|
|
||||||
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
if(Finished==0){
|
|
||||||
entity.setScheduleNode("0");
|
|
||||||
}else{
|
}else{
|
||||||
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
|
entity.setScheduleNode(String.format("%.2f", _cn));
|
||||||
if(_cn>100){
|
|
||||||
entity.setScheduleNode("100");
|
|
||||||
}else{
|
|
||||||
entity.setScheduleNode(String.format("%.2f", _cn));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 更新总进度
|
|
||||||
if(entity.getTaskOutlineLevel()==1){
|
|
||||||
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
|
||||||
}
|
|
||||||
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
|
||||||
entity.setStartDate(plan.getStartDate());
|
|
||||||
RecursionEditStartDate(entity);
|
|
||||||
}
|
}
|
||||||
|
// 更新总进度
|
||||||
|
if(entity.getTaskOutlineLevel()==1L){
|
||||||
|
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
||||||
|
}
|
||||||
|
System.out.println("RecursionEditStartDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
||||||
|
RecursionEditStartDate(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -278,93 +238,53 @@ public class ProPlanScheduleServiceImpl implements IProPlanScheduleService
|
||||||
* @param plan
|
* @param plan
|
||||||
*/
|
*/
|
||||||
private void RecursionEditFinishDate(ProPlan plan){
|
private void RecursionEditFinishDate(ProPlan plan){
|
||||||
if(plan.getFinishDate()!=null){
|
int res = proPlanMapper.updateProPlan(plan);
|
||||||
int res = proPlanMapper.updateProPlan(plan);
|
if(res>0){
|
||||||
if(res>0){
|
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
||||||
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
if(entity!=null){
|
||||||
if(entity!=null){
|
if(plan.getFinishDate()!=null){
|
||||||
|
entity.setFinishDate(plan.getFinishDate());
|
||||||
entity.setUpdateTime(plan.getUpdateTime());
|
entity.setUpdateTime(plan.getUpdateTime());
|
||||||
if(entity.getStartDate()==null){
|
if(entity.getStartDate()==null){
|
||||||
entity.setStartDate(entity.getUpdateTime());
|
entity.setStartDate(entity.getUpdateTime());
|
||||||
}
|
}
|
||||||
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
}
|
||||||
Float Finished = 0.0F;
|
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
||||||
try {
|
Float Finished = 0.0F;
|
||||||
if(belows.size()>0){
|
int totalTaskDuation = 0;
|
||||||
for(ProPlan item:belows){
|
try {
|
||||||
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
if(belows.size()>0){
|
||||||
if(sNode>0){
|
for(ProPlan item:belows){
|
||||||
if(sNode==100){
|
totalTaskDuation += item.getTaskDuation();
|
||||||
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
||||||
}else{
|
if(sNode>0){
|
||||||
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
if(sNode>=100){
|
||||||
}
|
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
||||||
|
}else{
|
||||||
|
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
if(Finished==0){
|
}catch (Exception e){
|
||||||
entity.setScheduleNode("0");
|
e.printStackTrace();
|
||||||
}else{
|
|
||||||
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
|
|
||||||
if(_cn>100){
|
|
||||||
entity.setScheduleNode("100");
|
|
||||||
}else{
|
|
||||||
entity.setScheduleNode(String.format("%.2f", _cn));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 更新总进度
|
|
||||||
if(entity.getTaskOutlineLevel()==1L){
|
|
||||||
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
|
||||||
}
|
|
||||||
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
|
||||||
entity.setFinishDate(plan.getFinishDate());
|
|
||||||
RecursionEditFinishDate(entity);
|
|
||||||
}
|
}
|
||||||
}
|
if(Finished==0){
|
||||||
}else{
|
entity.setScheduleNode("0");
|
||||||
int res = proPlanMapper.updateProPlanFinishDate(plan);
|
}else{
|
||||||
if(res>0){
|
Double _cn = Convert.toDouble(Finished/totalTaskDuation)*100;
|
||||||
ProPlan entity = proPlanMapper.selectProPlanByParams(plan.getProjectId(),plan.getParentId());
|
if(_cn>=100){
|
||||||
if(entity!=null){
|
entity.setScheduleNode("100");
|
||||||
List<ProPlan> belows = proPlanMapper.selectProPlanBelows(entity.getProjectId(),entity.getTaskId());
|
|
||||||
Float Finished = 0.0F;
|
|
||||||
try {
|
|
||||||
if(belows.size()>0){
|
|
||||||
for(ProPlan item:belows){
|
|
||||||
Float sNode = Convert.toFloat(item.getScheduleNode(),0.0F);
|
|
||||||
if(sNode>0){
|
|
||||||
if(sNode==100){
|
|
||||||
Finished += Convert.toFloat(item.getTaskDuation(),0.0F);
|
|
||||||
}else{
|
|
||||||
Finished += Convert.toFloat(item.getTaskDuation()*(sNode/100));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
if(Finished==0){
|
|
||||||
entity.setScheduleNode("0");
|
|
||||||
}else{
|
}else{
|
||||||
Double _cn = Convert.toDouble(Finished/entity.getTaskDuation())*100;
|
entity.setScheduleNode(String.format("%.2f", _cn));
|
||||||
if(_cn>100){
|
|
||||||
entity.setScheduleNode("100");
|
|
||||||
}else{
|
|
||||||
entity.setScheduleNode(String.format("%.2f", _cn));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// 更新总进度
|
|
||||||
if(entity.getTaskOutlineLevel()==1L){
|
|
||||||
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
|
||||||
}
|
|
||||||
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
|
||||||
entity.setFinishDate(plan.getFinishDate());
|
|
||||||
RecursionEditFinishDate(entity);
|
|
||||||
}
|
}
|
||||||
|
// 更新总进度
|
||||||
|
if(entity.getTaskOutlineLevel()==1L){
|
||||||
|
proPlanScheduleMapper.updateProPlanTotalSchedule(entity.getProjectId(),entity.getScheduleNode());
|
||||||
|
}
|
||||||
|
System.out.println("RecursionEditFinishDate.entity.getScheduleNode()..."+entity.getScheduleNode());
|
||||||
|
RecursionEditFinishDate(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -321,4 +321,20 @@ export function submitPlanSchedule(data) {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 视频监控管理
|
||||||
|
export function proVideoList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/manage/videoMonitor/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getYsToken(id){
|
||||||
|
return request({
|
||||||
|
url: '/manage/videoMonitor/getYsToken/' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
|
@ -61,7 +61,7 @@ App({
|
||||||
// this.toast("请使用手机号码登录");
|
// this.toast("请使用手机号码登录");
|
||||||
// }, 1000);
|
// }, 1000);
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '/pages/login/index',
|
url: '/pages/login/login',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,49 @@
|
||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/login/login",
|
"pages/login/login",
|
||||||
"pages/project_qr/index",
|
"pages/project_qr/index"
|
||||||
"pages/project_list/index",
|
],
|
||||||
"pages/project_info/index",
|
"subpackages": [
|
||||||
"pages/project_more/index",
|
{
|
||||||
"pages/project_safety/index",
|
"root": "pageage",
|
||||||
"pages/project_quality/index",
|
"name": "pageage",
|
||||||
"pages/sign_mags/index",
|
"pages": [
|
||||||
"pages/project_flowable/approveTask/index",
|
"project_flowable/approveTask/index",
|
||||||
"pages/project_flowable/detailTask/index",
|
"project_flowable/detailTask/index",
|
||||||
"pages/project_flowable/subDepts/index",
|
"project_flowable/subDepts/index",
|
||||||
"pages/project_flowable/subDeptsUsers/index",
|
"project_flowable/subDeptsUsers/index",
|
||||||
"pages/project_problemmodify/list/index",
|
"project_video/list/index",
|
||||||
"pages/project_problemmodify/info/index",
|
"project_video/info/index",
|
||||||
"pages/project_problemmodify/modify/index",
|
"project_list/index",
|
||||||
"pages/project_problemmodify/check/index",
|
"project_info/index",
|
||||||
"pages/project_problemmodify/add/index",
|
"project_more/index",
|
||||||
"pages/project_problemmodify/draft/index",
|
"project_safety/index",
|
||||||
"pages/project_subdepts/list/index",
|
"project_quality/index",
|
||||||
"pages/project_subdepts/add/index",
|
"sign_mags/index",
|
||||||
"pages/project_subdepts/info/index",
|
"project_problemmodify/list/index",
|
||||||
"pages/project_subgroups/list/index",
|
"project_problemmodify/info/index",
|
||||||
"pages/project_subgroups/add/index",
|
"project_problemmodify/modify/index",
|
||||||
"pages/project_subgroups/info/index",
|
"project_problemmodify/check/index",
|
||||||
"pages/project_subusers/list/index",
|
"project_problemmodify/add/index",
|
||||||
"pages/project_subusers/add/index",
|
"project_problemmodify/draft/index",
|
||||||
"pages/project_subusers/info/index",
|
"project_subdepts/list/index",
|
||||||
"pages/project_magusers/list/index",
|
"project_subdepts/add/index",
|
||||||
"pages/project_magusers/add/index",
|
"project_subdepts/info/index",
|
||||||
"pages/project_magusers/info/index",
|
"project_subgroups/list/index",
|
||||||
"pages/project_schedule/list/index",
|
"project_subgroups/add/index",
|
||||||
"pages/project_schedule/add/index",
|
"project_subgroups/info/index",
|
||||||
"pages/project_schedule/info/index"
|
"project_subusers/list/index",
|
||||||
|
"project_subusers/add/index",
|
||||||
|
"project_subusers/info/index",
|
||||||
|
"project_magusers/list/index",
|
||||||
|
"project_magusers/add/index",
|
||||||
|
"project_magusers/info/index",
|
||||||
|
"project_schedule/list/index",
|
||||||
|
"project_schedule/add/index",
|
||||||
|
"project_schedule/info/index"
|
||||||
|
],
|
||||||
|
"independent": false
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"van-row": "@vant/weapp/row",
|
"van-row": "@vant/weapp/row",
|
||||||
|
@ -84,6 +95,12 @@
|
||||||
"curve-echarts": "pages/components/curve-echarts/index",
|
"curve-echarts": "pages/components/curve-echarts/index",
|
||||||
"user-infos": "pages/components/user-infos/index"
|
"user-infos": "pages/components/user-infos/index"
|
||||||
},
|
},
|
||||||
|
"plugins": {
|
||||||
|
"ezplayer": {
|
||||||
|
"version": "1.0.9",
|
||||||
|
"provider": "wxf2b3a0262975d8c2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"window": {
|
"window": {
|
||||||
"backgroundTextStyle": "light",
|
"backgroundTextStyle": "light",
|
||||||
"navigationBarBackgroundColor": "#191d28",
|
"navigationBarBackgroundColor": "#191d28",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<view class="tree-item-onOff" wx:else></view>
|
<view class="tree-item-onOff" wx:else></view>
|
||||||
<view class="block_" bindtap="select" data-item="{{item}}" data-index="{{index}}">
|
<view class="block_" bindtap="select" data-item="{{item}}" data-index="{{index}}">
|
||||||
<block wx:if="{{showCheckBox}}">
|
<block wx:if="{{showCheckBox}}">
|
||||||
<image wx:if="{{item.checked === 1}}" src="/images/choice.png" class="check-box"></image>
|
<image wx:if="{{item.checked === 1}}" src="https://xiangguan.sxyanzhu.com/profile/static/images/choice.png" class="check-box"></image>
|
||||||
<image wx:if="{{item.checked === 0}}" src="/images/unchoice.png" class="check-box"></image>
|
<image wx:if="{{item.checked === 0}}" src="/images/unchoice.png" class="check-box"></image>
|
||||||
<image wx:if="{{item.checked === -1}}" src="/images/unfullChoice.png" class="check-box"></image>
|
<image wx:if="{{item.checked === -1}}" src="/images/unfullChoice.png" class="check-box"></image>
|
||||||
</block>
|
</block>
|
||||||
|
|
Before Width: | Height: | Size: 579 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 579 B |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.3 KiB |
|
@ -36,28 +36,28 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_list_info gk_open_con">
|
<view class="inspect_list_info gk_open_con">
|
||||||
<view wx:if="{{item.assigneeName}}">
|
<view wx:if="{{item.assigneeName}}">
|
||||||
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.assigneeName}}">
|
<view wx:if="{{item.assigneeName}}">
|
||||||
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.candidate}}">
|
<view wx:if="{{item.candidate}}">
|
||||||
<image src="/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.deleteReason}}">
|
<view wx:if="{{item.deleteReason}}">
|
||||||
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
|
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.endTime}}">
|
<view wx:if="{{item.endTime}}">
|
||||||
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.duration}}">
|
<view wx:if="{{item.duration}}">
|
||||||
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.message}}">
|
<view wx:if="{{item.message}}">
|
||||||
<image src="/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
|
@ -36,28 +36,28 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="inspect_list_info gk_open_con">
|
<view class="inspect_list_info gk_open_con">
|
||||||
<view wx:if="{{item.assigneeName}}">
|
<view wx:if="{{item.assigneeName}}">
|
||||||
<image src="/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_3.png"></image>办理用户:<text>{{item.assigneeName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.assigneeName}}">
|
<view wx:if="{{item.assigneeName}}">
|
||||||
<image src="/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>办理单位:<text class="color_blue">{{item.deptName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.candidate}}">
|
<view wx:if="{{item.candidate}}">
|
||||||
<image src="/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>候选办理:<text>{{item.candidate}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.deleteReason}}">
|
<view wx:if="{{item.deleteReason}}">
|
||||||
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
|
<image src="/images/s_18.png"></image>驳回节点:<text>{{item.deleteReason}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>接收时间:<text>{{item.startTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.endTime}}">
|
<view wx:if="{{item.endTime}}">
|
||||||
<image src="/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/lw_8.png"></image>处理时间:<text>{{item.endTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.duration}}">
|
<view wx:if="{{item.duration}}">
|
||||||
<image src="/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/img_11.png"></image>处理耗时:<text>{{item.duration}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{item.message}}">
|
<view wx:if="{{item.message}}">
|
||||||
<image src="/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>处理意见:<text>{{item.message}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
|
@ -61,7 +61,7 @@ Page({
|
||||||
} else {
|
} else {
|
||||||
console.log("未查询到Token...{}...准备重新登录")
|
console.log("未查询到Token...{}...准备重新登录")
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../login/login',
|
url: '../../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
|
@ -31,7 +31,7 @@
|
||||||
<text wx:if="{{item.endTime}}" class="color_purple">办结时间 {{item.endTime}}</text>
|
<text wx:if="{{item.endTime}}" class="color_purple">办结时间 {{item.endTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{showChecked && activeState=='dsh'}}" class="myIcon" data-set="{{item.procInsId}}" catchtap="selectItem">
|
<view wx:if="{{showChecked && activeState=='dsh'}}" class="myIcon" data-set="{{item.procInsId}}" catchtap="selectItem">
|
||||||
<image src="{{item.selected ? '/images/choice.png' : '/images/unchoice.png'}}" />
|
<image src="{{item.selected ? 'https://xiangguan.sxyanzhu.com/profile/static/images/choice.png' : '/images/unchoice.png'}}" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
|
@ -29,22 +29,22 @@ Page({
|
||||||
projectDeptsList: [],
|
projectDeptsList: [],
|
||||||
deptTypes: [{
|
deptTypes: [{
|
||||||
"name": "建设单位",
|
"name": "建设单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jsdw.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jsdw.png"
|
||||||
}, {
|
}, {
|
||||||
"name": "监理单位",
|
"name": "监理单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jldw.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jldw.png"
|
||||||
}, {
|
}, {
|
||||||
"name": "设计单位",
|
"name": "设计单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/sjdw.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_sjdw.png"
|
||||||
}, {
|
}, {
|
||||||
"name": "检测单位",
|
"name": "检测单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/jcjg.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/WEB_jcjg.png"
|
||||||
}, {
|
}, {
|
||||||
"name": "勘察单位",
|
"name": "勘察单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/fbdw.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_ktdw.png"
|
||||||
}, {
|
}, {
|
||||||
"name": "总包单位",
|
"name": "总包单位",
|
||||||
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/icon/zbdw.png"
|
"iconSrc": "https://xiangguan.sxyanzhu.com/profile/static/icon/web_zbdw.png"
|
||||||
}],
|
}],
|
||||||
active: 0,
|
active: 0,
|
||||||
projectId: '',
|
projectId: '',
|
||||||
|
@ -130,7 +130,7 @@ Page({
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../login/login',
|
url: '../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
wx.setStorageSync('nav-menu', "xmgk");
|
wx.setStorageSync('nav-menu', "xmgk");
|
||||||
|
@ -445,11 +445,10 @@ Page({
|
||||||
res.data.plannedCompletionTime = " - ";
|
res.data.plannedCompletionTime = " - ";
|
||||||
}
|
}
|
||||||
res.data.projectDeptsList.forEach(item => {
|
res.data.projectDeptsList.forEach(item => {
|
||||||
this.data.deptTypes.forEach(_it => {
|
let typeItem = this.data.deptTypes.filter((v) => v.name == item.deptType);
|
||||||
if (_it.name == item.deptType) {
|
if(typeItem.length>0){
|
||||||
item.iconSrc = _it.iconSrc;
|
item.iconSrc = typeItem[0].iconSrc;
|
||||||
}
|
}
|
||||||
})
|
|
||||||
});
|
});
|
||||||
this.setData({
|
this.setData({
|
||||||
projectInfo: res.data,
|
projectInfo: res.data,
|
|
@ -26,40 +26,40 @@
|
||||||
<van-collapse-item title="项目基本信息" name="base">
|
<van-collapse-item title="项目基本信息" name="base">
|
||||||
<view class="gk_open_con">
|
<view class="gk_open_con">
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_12.png"></image>项目单位:<text>{{projectInfo.comName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{projectInfo.province && projectInfo.city}}">
|
<view wx:if="{{projectInfo.province && projectInfo.city}}">
|
||||||
<image src="/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_1.png"></image>所属区域:<text>{{projectInfo.province+' - '+projectInfo.city}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_2.png"></image>详细地址:<text>{{projectInfo.projectAddress}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_3.png"></image>项目类型:<text>{{projectInfo.projectTypeName}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{false}}">
|
<view wx:if="{{false}}">
|
||||||
<image src="/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_4.png"></image>总建筑面积:<text>{{projectInfo.totalBuildingArea}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_5.png"></image>计划开工日期:<text>{{projectInfo.scheduledStartTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_6.png"></image>实际开工日期:<text>{{projectInfo.actualOperatingTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<image src="/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_7.png"></image>计划竣工日期:<text>{{projectInfo.plannedCompletionTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
||||||
<image src="/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_8.png"></image>总工期:<text>{{projectInfo.projectTimeLimit + ' 天'}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
||||||
<image src="/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_10.png"></image>项目负责人:<text>{{projectInfo.projectPerson}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
||||||
<image src="/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_11.png"></image>负责人手机号:<text>{{projectInfo.projectPersonPhone}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
<view wx:if="{{subDeptUserInfo.subDeptType=='1'}}">
|
||||||
<image src="/images/s_15.png"></image>项目概述:<text>{{projectInfo.projectSummarize}}</text>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/s_15.png"></image>项目概述:<text>{{projectInfo.projectSummarize}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</van-collapse-item>
|
</van-collapse-item>
|
|
@ -27,7 +27,7 @@ import {
|
||||||
} else {
|
} else {
|
||||||
console.log("未查询到Token...{}...准备重新登录")
|
console.log("未查询到Token...{}...准备重新登录")
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../login/login',
|
url: '../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
|
@ -47,7 +47,7 @@ Page({
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../../login/login',
|
url: '../../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (options && options.id) {
|
if (options && options.id) {
|
|
@ -116,7 +116,7 @@
|
||||||
|
|
||||||
<van-overlay show="{{loadShow}}">
|
<van-overlay show="{{loadShow}}">
|
||||||
<view class="gif">
|
<view class="gif">
|
||||||
<image src="/images/loding.gif"></image>
|
<image src="https://xiangguan.sxyanzhu.com/profile/static/images/loding.gif"></image>
|
||||||
<view>数据处理中!请稍后...</view>
|
<view>数据处理中!请稍后...</view>
|
||||||
</view>
|
</view>
|
||||||
</van-overlay>
|
</van-overlay>
|
|
@ -34,7 +34,7 @@ Page({
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../../login/login',
|
url: '../../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (options && options.id) {
|
if (options && options.id) {
|
|
@ -39,7 +39,7 @@ Page({
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../../login/login',
|
url: '../../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.setData({
|
this.setData({
|
|
@ -46,7 +46,7 @@ Page({
|
||||||
onLoad: function (options) {
|
onLoad: function (options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../login/login',
|
url: '../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const proUserInfo = getUserInfo();
|
const proUserInfo = getUserInfo();
|
|
@ -68,7 +68,7 @@ Page({
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
if (!getToken()) {
|
if (!getToken()) {
|
||||||
wx.redirectTo({
|
wx.redirectTo({
|
||||||
url: '../../login/login',
|
url: '../../../pages/login/login',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const proUserInfo = getUserInfo();
|
const proUserInfo = getUserInfo();
|