Commit 83c95ead authored by chenzhao's avatar chenzhao

Merge branch 'developer' of http://39.98.45.134:8090/moa/amos-boot-biz into developer

parents 46083d01 03c83ad7
package com.yeejoin.amos.boot.module.hygf.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 电站审核状态
* @author DELL
*/
@Getter
@AllArgsConstructor
public enum PowerStationProcessStateEnum {
进行中("进行中", "0"),
不通过("不通过", "1"),
完成("完成", "2"),
作废("作废", "3");
/**
* 名称,描述
*/
private String name;
/**
* 编码
*/
private String code;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
* 设计信息
......@@ -22,31 +25,40 @@ public class DesignInformationDto extends BaseDto {
@ApiModelProperty(value = "典型设计图信息")
private String typicalDiagram;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> typicalDiagram;
@ApiModelProperty(value = "组件排布图")
private String componentLayout;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> componentLayout;
@ApiModelProperty(value = "组件支架图")
private String componentBracket;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> componentBracket;
@ApiModelProperty(value = "组串接线图")
private String connectionLine;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> connectionLine;
@ApiModelProperty(value = "一次接线图")
private String onceLine;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> onceLine;
@ApiModelProperty(value = "组件")
private String assembly;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> assembly;
@ApiModelProperty(value = "逆变器")
private String inverter;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> inverter;
@ApiModelProperty(value = "电表箱")
private String electricityMeter;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> electricityMeter;
@ApiModelProperty(value = "支架")
private String support;
@TableField(typeHandler = FastjsonTypeHandler.class)
private List<Object> support;
@ApiModelProperty(value = " 防滑雪措施")
private String antiSkiing;
......
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -49,10 +50,20 @@ public class PowerStationDto extends BaseDto {
@ApiModelProperty(value = "技术审核状态")
private String technologyStatus;
@ApiModelProperty(value = "流程id")
private String workflowId;
@ApiModelProperty(value = "流程实例id")
private String processInstanceId;
@ApiModelProperty(value = "农户id")
private String peasantHouseholdId;
@ApiModelProperty(value = "待执行节点小程序 路由信息")
private String nodeRouting;
@ApiModelProperty(value = "待执行节点角色")
private String nodeRole;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "流程定义id")
private String processDefinitionId;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.yeejoin.amos.boot.module.hygf.api.dto.DesignInformationDto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
......@@ -23,4 +24,7 @@ public class SurveyInfoAllDto {
// 商务信息
CommercialDto commercial;
//设计信息
DesignInformationDto designInformation;
}
package com.yeejoin.amos.boot.module.jxiop.api.entity;
package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* 设计信息
......@@ -17,7 +19,7 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("hygf_design_information")
@TableName(value = "hygf_design_information",autoResultMap = true)
public class DesignInformation extends BaseEntity {
private static final long serialVersionUID = 1L;
......@@ -25,56 +27,56 @@ public class DesignInformation extends BaseEntity {
/**
* 典型设计图信息
*/
@TableField("typical_diagram")
private String typicalDiagram;
@TableField(value = "typical_diagram",typeHandler = FastjsonTypeHandler.class)
private List<Object> typicalDiagram;
/**
* 组件排布图
*/
@TableField("component_layout")
private String componentLayout;
@TableField(value = "component_layout",typeHandler = FastjsonTypeHandler.class)
private List<Object> componentLayout;
/**
* 组件支架图
*/
@TableField("component_bracket")
private String componentBracket;
@TableField(value = "component_bracket",typeHandler = FastjsonTypeHandler.class)
private List<Object> componentBracket;
/**
* 组串接线图
*/
@TableField("connection_line")
private String connectionLine;
@TableField(value = "connection_line",typeHandler = FastjsonTypeHandler.class)
private List<Object> connectionLine;
/**
* 一次接线图
*/
@TableField("once_line")
private String onceLine;
@TableField(value = "once_line",typeHandler = FastjsonTypeHandler.class)
private List<Object> onceLine;
/**
* 组件
*/
@TableField("assembly")
private String assembly;
@TableField(value = "assembly",typeHandler = FastjsonTypeHandler.class)
private List<Object> assembly;
/**
* 逆变器
*/
@TableField("inverter")
private String inverter;
@TableField(value = "inverter",typeHandler = FastjsonTypeHandler.class)
private List<Object> inverter;
/**
* 电表箱
*/
@TableField("electricity_meter")
private String electricityMeter;
@TableField(value = "electricity_meter",typeHandler = FastjsonTypeHandler.class)
private List<Object> electricityMeter;
/**
* 支架
*/
@TableField("support")
private String support;
@TableField(value = "support",typeHandler = FastjsonTypeHandler.class)
private List<Object> support;
/**
* 防滑雪措施
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
......@@ -79,8 +80,8 @@ public class PowerStation extends BaseEntity {
/**
* 流程id
*/
@TableField("workflow_id")
private String workflowId;
@TableField("process_instance_id")
private String processInstanceId;
/**
* 农户id
......@@ -88,4 +89,30 @@ public class PowerStation extends BaseEntity {
@TableField("peasant_household_id")
private String peasantHouseholdId;
/**
* 任务id
*/
@TableField("task_id")
private String taskId;
/**
* 流程定义id
*/
@TableField("process_definition_id")
private String processDefinitionId;
/**
* 小程序路由
*/
@TableField("node_routing")
private String nodeRouting;
@TableField("node_role")
private String nodeRole;
/**
* 当前流程节点
*/
@TableField("next_process_node")
private String nextProcessNode;
}
package com.yeejoin.amos.boot.module.hygf.api.fegin;
import com.yeejoin.amos.boot.biz.common.feign.FeignConfiguration;
import com.yeejoin.amos.boot.biz.common.feign.MultipartSupportConfig;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Map;
@FeignClient(value = "AMOS-IDX", path = "idx", configuration = {MultipartSupportConfig.class})
public interface IdxFeginService {
/**
*通用表单提交 数据填报
*/
@RequestMapping(value = "/table/submit", method = RequestMethod.POST)
FeignClientResult<String> submit(@RequestParam(value = "pageId") long pageId,
@RequestParam(value = "taskId",required = false) String taskId,
@RequestParam(value = "planInstanceId", required = false) String planInstanceId,
@RequestParam(value = "bizField", required = false) String bizField,
@RequestParam(value = "topic", required = false) String topic,
@RequestParam(value = "tableName", required = false) String tableName,
@RequestBody Map<String, Object> kv) throws Exception;
}
package com.yeejoin.amos.boot.module.jxiop.api.mapper;
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.DesignInformation;
import com.yeejoin.amos.boot.module.hygf.api.entity.DesignInformation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
......
package com.yeejoin.amos.boot.module.hygf.api.service;
import com.yeejoin.amos.boot.module.hygf.api.entity.PowerStation;
/**
* 接口类
*
......@@ -9,4 +11,21 @@ package com.yeejoin.amos.boot.module.hygf.api.service;
*/
public interface IPowerStationService {
/**
* 保存审核实例
* @param powerStation 审核对象
* @return 状态
*/
boolean savePowerStation(PowerStation powerStation);
/**
* 根据农户id和流程状态获取实例
* @param id 农户id
* @param state 流程状态
* @return 电站实例
*/
PowerStation getObjByNhId(String id, String state);
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
......@@ -6,14 +6,14 @@ import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.DesignInformationServiceImpl;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.DesignInformationServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.dto.DesignInformationDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.DesignInformationDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.yeejoin.amos.boot.module.jxiop.api.entity.DesignInformation;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.DesignInformationMapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.DesignInformation;
import com.yeejoin.amos.boot.module.hygf.api.mapper.DesignInformationMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IDesignInformationService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.DesignInformationDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.DesignInformationDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.hygf.api.Enum.PowerStationProcessStateEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.PowerStationDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.PowerStation;
import com.yeejoin.amos.boot.module.hygf.api.mapper.PowerStationMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -30,4 +33,18 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
public List<PowerStationDto> queryForPowerStationList() {
return this.queryForList("" , false);
}
@Override
public boolean savePowerStation(PowerStation powerStation) {
return this.save(powerStation);
}
@Override
public PowerStation getObjByNhId(String id, String state) {
LambdaQueryWrapper<PowerStation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PowerStation::getProcessStatus, state);
wrapper.eq(PowerStation::getPeasantHouseholdId, id);
return this.baseMapper.selectOne(wrapper);
}
}
\ No newline at end of file
......@@ -5,28 +5,32 @@ import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.hygf.api.Enum.PowerStationProcessStateEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService;
import com.yeejoin.amos.boot.module.hygf.api.mapper.SurveyInformationMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService;
import com.yeejoin.amos.boot.module.hygf.api.service.ISurveyInformationService;
import com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils;
import com.yeejoin.amos.boot.module.hygf.api.dto.DesignInformationDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.DesignInformation;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.DesignInformationServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.apache.commons.beanutils.ConvertUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
* 勘察信息服务实现类
......@@ -35,6 +39,7 @@ import java.util.List;
* @date 2023-07-07
*/
@Service
@Slf4j
public class SurveyInformationServiceImpl extends BaseService<SurveyInformationDto,SurveyInformation,SurveyInformationMapper> implements ISurveyInformationService {
......@@ -54,10 +59,27 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
PeasantHouseholdServiceImpl peasantHouseholdServiceImpl;
@Autowired
DesignInformationServiceImpl designInformationService;
@Autowired
RedisUtils redisUtils;
private static final String regionRedis="app_region_redis";
@Autowired
IdxFeginService idxFeginService;
@Autowired
IPowerStationService powerStationService;
@Value("${power.station.examine.pageId}")
private long pageId;
@Value("${power.station.examine.planId}")
private String planId;
private static final String regionRedis="app_region_redis";
private static final String OPERATION_TYPE_SUBMIT="submit";
private static final String OPERATION_TYPE_APPLY="apply";
private static final String IDX_REQUEST_STATE="200";
/**
* 分页查询
......@@ -119,12 +141,7 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
QueryWrapper<PeasantHousehold> peasantHouseholdQueryWrapper = new QueryWrapper<>();
peasantHouseholdQueryWrapper.eq("survey_information_id", surveyInformation.getSequenceNbr());
PeasantHousehold peasantHousehold = peasantHouseholdServiceImpl.getBaseMapper().selectOne(peasantHouseholdQueryWrapper);
if("submit".equals(operationType)){
peasantHousehold.setSurveyOrNot(1);
}else if("apply".equals(operationType)){
peasantHousehold.setSurveyOrNot(2);
peasantHousehold.setReview(1);
}
peasantHousehold.setOwnersName(surveyInfoAllDto.getSurveyInformation().getOwnersName());
peasantHousehold.setTelephone(surveyInfoAllDto.getSurveyInformation().getTelephone());
peasantHousehold.setIdCard(surveyInfoAllDto.getSurveyInformation().getIdCard());
......@@ -155,10 +172,52 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
}
}
peasantHousehold.setPermanentAddressName(permanentAddressName.substring(0, permanentAddressName.length() - 2));
if(OPERATION_TYPE_SUBMIT.equals(operationType)){
peasantHousehold.setSurveyOrNot(1);
}else if(OPERATION_TYPE_APPLY.equals(operationType)){
// 提交审核
submitExamine(peasantHousehold);
}
peasantHouseholdServiceImpl.saveOrUpdate(peasantHousehold);
return surveyInfoAllDto;
}
private void submitExamine(PeasantHousehold peasantHousehold) {
PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.进行中.getCode());
String taskId = null;
Map<String, Object> objectMap = new HashMap<>();
if (ObjectUtils.isNotEmpty(powerStation)) {
// 工作流执行一步
taskId = powerStation.getTaskId();
objectMap.put("approveStatus", "yes");
} else {
// 第一步启动工作流
objectMap.put("approveStatus", "yes");
powerStation = new PowerStation();
}
// 保存并审核
try {
FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId, planId, null, null, null, objectMap);
if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
peasantHousehold.setSurveyOrNot(2);
peasantHousehold.setReview(1);
String code = submit.getResult();
// 插入记录表
powerStation.setPowerStationCode(peasantHousehold.getPeasantHouseholdNo());
powerStation.setOwnersName(peasantHousehold.getOwnersName());
powerStation.setProjectAddress(peasantHousehold.getProjectAddressName());
powerStation.setPeasantHouseholdId(String.valueOf(peasantHousehold.getSequenceNbr()));
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getCode());
powerStationService.savePowerStation(powerStation);
log.info("流程执行成功:{}", code);
}
} catch (Exception e){
e.getMessage();
}
}
public SurveyInfoAllDto querySurveyInfo(String surveyInformationId,AgencyUserModel userInfo) {
SurveyInfoAllDto surveyInfoAllDto = new SurveyInfoAllDto();
......@@ -233,6 +292,15 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
}else {
surveyInfoAllDto.setExtendedInformation(BeanDtoUtils.convert(extendedInformation, ExtendedInformationDto.class));
}
QueryWrapper<DesignInformation> designInformationQueryWrapper = new QueryWrapper<>();
designInformationQueryWrapper.eq("survey_information_id", surveyInformationId);
DesignInformation designInformation = designInformationService.getBaseMapper().selectOne(designInformationQueryWrapper);
if(designInformation == null){
surveyInfoAllDto.setDesignInformation(new DesignInformationDto());
}else {
surveyInfoAllDto.setDesignInformation(BeanDtoUtils.convert(designInformation, DesignInformationDto.class));
}
return surveyInfoAllDto;
}
......
......@@ -101,4 +101,9 @@ sms.huawei.templateId=6aaeb4bf916d4db0a1942c598912519e
# 签名通道号
sms.huawei.sender=1069368924410006092
# 签名名称
sms.huawei.signature=华为云短信测试
\ No newline at end of file
sms.huawei.signature=华为云短信测试
# 电站审核pageId
power.station.examine.pageId=1679778420550037506
# 电站审核计划id
power.station.examine.planId=c4ed1873-0dc6-4518-a7a9-dbc588ef35e5
\ No newline at end of file
......@@ -47,6 +47,6 @@ public class MonitorFanIndicator extends BaseEntity {
private String equipmentNumber; //设备编号
@TableField("data_type")
private String dataType; //设备编号
@TableField("picture_name")
private String pictureName; //图片名称用于动态展示图片
}
......@@ -177,6 +177,7 @@ public class DemoController extends BaseController {
maps2.put("equipmentNumber", "");
maps2.put("frontModule", "");
maps2.put("systemType", "");
maps2.put("pictureName", monitorFanIndicator.getPictureName());
// 升压站的字段显示名称
maps2.put("displayName", monitorFanIndicator.getEquipmentNumber());
if (!ObjectUtils.isEmpty(monitorFanIndicator.getFrontModule())) {
......@@ -200,4 +201,5 @@ public class DemoController extends BaseController {
hashMap.put("url", "upload/jxiop/amos_studio/758F6F4BC695B777899485DB0C7E5D3.gif");
return ResponseHelper.buildResponse(hashMap);
}
}
......@@ -26,6 +26,7 @@ public class IndicatorsDto {
private String distinct;
private String time;
private String displayName;
private String pictureName;
private String title;
private String pictureName;
......
......@@ -440,6 +440,7 @@ public class MonitoringServiceIMQTTmpl {
HashMap<String,String> hashMap =new HashMap<>();
for (int i = 0; i < result.size(); i++) {
IndicatorsDto indicatorsDto = result.get(i);
//此处需要根据查询的结果来动态的给定图片的url路径。
hashMap.put("url"+i,"tetee");
hashMap.put("display"+i,indicatorsDto.getDisplayName());
}
......
......@@ -90,6 +90,11 @@
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>org.messaginghub</groupId>
<artifactId>pooled-jms</artifactId>
<version>1.0.5</version>
</dependency>
</dependencies>
</project>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment