ソースを参照

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	pmapi/src/main/resources/application-dev.yml
#	pmapi/src/main/resources/application-prod.yml
tags/24080901
niohe·erbao 1年前
コミット
89ebbb7ec9
24個のファイルの変更587行の追加15行の削除
  1. +29
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/controller/DocumentationController.java
  2. +52
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/manage/DocumentationManage.java
  3. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/mapper/DocumentationMapper.java
  4. +5
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/mapper/DocumentationMapper.xml
  5. +44
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/entity/Documentation.java
  6. +38
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/entity/DocumentationGroup.java
  7. +19
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/param/DocumentationListParam.java
  8. +39
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/vo/DocumentationVO.java
  9. +9
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/service/IDocumentationService.java
  10. +20
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/filemanage/service/impl/DocumentationServiceImpl.java
  11. +1
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java
  12. +1
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java
  13. +1
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java
  14. +3
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java
  15. +6
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CheckProvincialReviewResultTask.java
  16. +114
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CommonLogTask.java
  17. +5
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/InitProcessTask.java
  18. +6
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/ProjectStatusFlowTask.java
  19. +5
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/WorkNoticeFlowTask.java
  20. +43
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/model/CommonLog.java
  21. +7
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java
  22. +2
    -0
      pmapi/src/main/resources/application-dev.yml
  23. +2
    -6
      pmapi/src/main/resources/application-prod.yml
  24. +120
    -0
      pmapi/src/main/resources/wsdl-prod.xml

+ 29
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/controller/DocumentationController.java ファイルの表示

@@ -0,0 +1,29 @@
package com.ningdatech.pmapi.filemanage.controller;

import com.ningdatech.basic.model.PageVo;
import com.ningdatech.pmapi.filemanage.manage.DocumentationManage;
import com.ningdatech.pmapi.filemanage.model.param.DocumentationListParam;
import com.ningdatech.pmapi.filemanage.model.vo.DocumentationVO;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;

/**
* @Classname DocumentationController
* @Description
* @Date 2023/6/6 15:48
* @Author PoffyZhang
*/
@RestController
@AllArgsConstructor
@Api(tags = "档案管理-资料文档控制器")
@RequestMapping("/api/v1/file-manage/documentation")
public class DocumentationController {

private final DocumentationManage documentationManage;

@GetMapping("/list")
public PageVo<DocumentationVO> list(@ModelAttribute DocumentationListParam param){
return documentationManage.list(param);
}
}

+ 52
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/manage/DocumentationManage.java ファイルの表示

@@ -0,0 +1,52 @@
package com.ningdatech.pmapi.filemanage.manage;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ningdatech.basic.model.PageVo;
import com.ningdatech.pmapi.filemanage.model.entity.Documentation;
import com.ningdatech.pmapi.filemanage.model.param.DocumentationListParam;
import com.ningdatech.pmapi.filemanage.model.vo.DocumentationVO;
import com.ningdatech.pmapi.filemanage.service.IDocumentationService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

/**
* @Classname DocumentationManage
* @Description
* @Date 2023/6/6 16:04
* @Author PoffyZhang
*/
@Component
@AllArgsConstructor
@Slf4j
public class DocumentationManage {

private final IDocumentationService documentationService;

/**
* 文档列表
* @param param
* @return
*/
public PageVo<DocumentationVO> list(DocumentationListParam param) {
Page<Documentation> page = param.page();
documentationService.page(page, Wrappers.lambdaQuery(Documentation.class)
.eq(Objects.nonNull(param.getGroupId()), Documentation::getGroupId, param.getGroupId()));

if(0L == page.getTotal()){
return PageVo.empty();
}

List<DocumentationVO> vos = page.getRecords().stream()
.map(d -> BeanUtil.copyProperties(d,DocumentationVO.class))
.collect(Collectors.toList());

return PageVo.of(vos,page.getTotal());
}
}

+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/mapper/DocumentationMapper.java ファイルの表示

@@ -0,0 +1,16 @@
package com.ningdatech.pmapi.filemanage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ningdatech.pmapi.filemanage.model.entity.Documentation;

/**
* <p>
* Mapper 接口
* </p>
*
* @author CMM
* @since 2023-02-27
*/
public interface DocumentationMapper extends BaseMapper<Documentation> {

}

+ 5
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/mapper/DocumentationMapper.xml ファイルの表示

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ningdatech.pmapi.filemanage.mapper.DocumentationMapper">

</mapper>

+ 44
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/entity/Documentation.java ファイルの表示

@@ -0,0 +1,44 @@
package com.ningdatech.pmapi.filemanage.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
* @Classname Documentation
* @Description
* @Date 2023/6/6 14:41
* @Author PoffyZhang
*/
@Data
@TableName("nd_documentation")
@ApiModel(value = "nd_documentation", description = "资料文档")
public class Documentation {

@ApiModelProperty("主键")
@TableId(type = IdType.AUTO)
private Long id;

@ApiModelProperty("文件名")
private String fileName;

@ApiModelProperty("上传人")
private String creatBy;

@ApiModelProperty("上传时间")
private LocalDateTime creatOn;

@ApiModelProperty("文档大小 kb")
private Long size;

@ApiModelProperty("文档分类ID")
private Long groupId;

@ApiModelProperty("排序")
private Integer sort;
}

+ 38
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/entity/DocumentationGroup.java ファイルの表示

@@ -0,0 +1,38 @@
package com.ningdatech.pmapi.filemanage.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
* @Classname Documentation
* @Description
* @Date 2023/6/6 14:41
* @Author PoffyZhang
*/
@Data
@TableName("nd_documentation_group")
@ApiModel(value = "nd_documentation_group", description = "资料文档分组")
public class DocumentationGroup {

@ApiModelProperty("主键")
@TableId(type = IdType.AUTO)
private Long id;

@ApiModelProperty("上传人")
private String creatBy;

@ApiModelProperty("上传时间")
private LocalDateTime creatOn;

@ApiModelProperty("分组名")
private String name;

@ApiModelProperty("排序")
private Integer sort;
}

+ 19
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/param/DocumentationListParam.java ファイルの表示

@@ -0,0 +1,19 @@
package com.ningdatech.pmapi.filemanage.model.param;

import com.ningdatech.basic.model.PagePo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
* @Classname DocumentationListParam
* @Description
* @Date 2023/6/6 16:06
* @Author PoffyZhang
*/
@Data
public class DocumentationListParam extends PagePo {

@ApiModelProperty("分组ID")
private Long groupId;

}

+ 39
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/model/vo/DocumentationVO.java ファイルの表示

@@ -0,0 +1,39 @@
package com.ningdatech.pmapi.filemanage.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
* @Classname Documentation
* @Description
* @Date 2023/6/6 14:41
* @Author PoffyZhang
*/
@Data
@ApiModel(value = "nd_documentation", description = "资料文档")
public class DocumentationVO {

@ApiModelProperty("主键")
private Long id;

@ApiModelProperty("文件名")
private String fileName;

@ApiModelProperty("上传人")
private String creatBy;

@ApiModelProperty("上传时间")
private LocalDateTime creatOn;

@ApiModelProperty("文档大小 kb")
private Long size;

@ApiModelProperty("文档分类ID")
private Long groupId;

@ApiModelProperty("排序")
private Integer sort;
}

+ 9
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/service/IDocumentationService.java ファイルの表示

@@ -0,0 +1,9 @@
package com.ningdatech.pmapi.filemanage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ningdatech.pmapi.filemanage.model.entity.Documentation;

public interface IDocumentationService extends IService<Documentation> {


}

+ 20
- 0
pmapi/src/main/java/com/ningdatech/pmapi/filemanage/service/impl/DocumentationServiceImpl.java ファイルの表示

@@ -0,0 +1,20 @@
package com.ningdatech.pmapi.filemanage.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ningdatech.pmapi.filemanage.mapper.DocumentationMapper;
import com.ningdatech.pmapi.filemanage.model.entity.Documentation;
import com.ningdatech.pmapi.filemanage.service.IDocumentationService;
import org.springframework.stereotype.Service;

/**
* <p>
* 服务实现类
* </p>
*
* @author Poffy
* @since 2023-02-13
*/
@Service
public class DocumentationServiceImpl extends ServiceImpl<DocumentationMapper, Documentation> implements IDocumentationService {

}

+ 1
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java ファイルの表示

@@ -204,6 +204,7 @@ public class DeclaredProjectManage {
//项目名称去重
if(StringUtils.isNotBlank(projectDto.getProjectName()) &&
!projectDto.getProjectName().equals(projectInfo.getProjectName())){
projectDto.setProjectCode(projectInfo.getProjectCode());
defaultDeclaredProjectManage.checkDuplication(projectDto);
}
//判断申报金额 是否等于总的 判断年度支付金额 是否等于总金额


+ 1
- 1
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java ファイルの表示

@@ -91,7 +91,7 @@ public class DefaultDeclaredProjectManage {
public void checkDuplication(ProjectDTO project){
VUtils.isTrue(projectService.count(Wrappers.lambdaQuery(Project.class)
.eq(Project::getProjectName,project.getProjectName())
.ne(Objects.nonNull(project.getId()),Project::getId,project.getId())) > 0)
.ne(Objects.nonNull(project.getProjectCode()),Project::getProjectCode,project.getProjectCode())) > 0)
.throwMessage(String.format("修改失败 此项目名 【%s】 已存在!",project.getProjectName()));
}



+ 1
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java ファイルの表示

@@ -89,6 +89,7 @@ public class ProjectAdjustmentManage {
//项目名称去重
if(StringUtils.isNotBlank(projectDto.getProjectName()) &&
!projectDto.getProjectName().equals(projectInfo.getProjectName())){
projectDto.setProjectCode(projectInfo.getProjectCode());
defaultDeclaredProjectManage.checkDuplication(projectDto);
}



+ 3
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java ファイルの表示

@@ -34,6 +34,9 @@ public class ProjectDTO implements Serializable {
@ApiModelProperty("所属地区编号")
private String areaCode;

@ApiModelProperty("项目编号")
private String projectCode;

@ApiModelProperty("所属地区名称")
private String area;



+ 6
- 2
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CheckProvincialReviewResultTask.java ファイルの表示

@@ -16,6 +16,7 @@ import com.ningdatech.pmapi.scheduler.contants.TaskContant;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.net.InetAddress;
@@ -40,10 +41,13 @@ public class CheckProvincialReviewResultTask {
private final IProjectService projectService;
private final StateMachineUtils stateMachineUtils;

@Value("${hostname}")
private String HOST_NAME;

@Scheduled(cron = "0 */2 * * * ?")
public void statusFlow() throws UnknownHostException {
//测试暂时用自己电脑HOST
if (TaskContant.Host.HOST_207.equals(InetAddress.getLocalHost().getHostName())) {
//
if (HOST_NAME.equals(InetAddress.getLocalHost().getHostName())) {
//1. 定时取 省级部门联审中的项目 去取项目
List<Project> projectList = projectService.list(Wrappers.lambdaQuery(Project.class)
.eq(Project::getStage, ProjectStatusEnum.NOT_APPROVED.getCode())


+ 114
- 0
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CommonLogTask.java ファイルの表示

@@ -0,0 +1,114 @@
package com.ningdatech.pmapi.scheduler.task;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.io.file.FileWriter;
import cn.hutool.core.lang.UUID;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ningdatech.log.mapper.OptLogMapper;
import com.ningdatech.log.model.domain.OptLog;
import com.ningdatech.pmapi.organization.mapper.DingEmployeeInfoMapper;
import com.ningdatech.pmapi.organization.model.entity.DingEmployeeInfo;
import com.ningdatech.pmapi.scheduler.task.model.CommonLog;
import com.ningdatech.pmapi.user.entity.UserInfo;
import com.ningdatech.pmapi.user.service.IUserInfoService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

/**
* 通用日志写入任务
* @author liushuai
*/
@Component
@RequiredArgsConstructor
public class CommonLogTask {
private final OptLogMapper optLogMapper;
private final IUserInfoService userInfoService;
private final DingEmployeeInfoMapper dingEmployeeInfoMapper;
/**
* 日志记录文件位置
*/
private final static String LOG_RECORD_ADDRESS = "/opt/log/";
private final static String LOG_ID_FILE = "logId.txt";
private final static String LOG_FILE = "common_log_";
@Scheduled(fixedDelay = 120000)
public void writeLog(){
//获取记录ID文件
boolean idFileExist = FileUtil.exist(LOG_RECORD_ADDRESS + LOG_ID_FILE);
if (!idFileExist){
FileUtil.touch(LOG_RECORD_ADDRESS + LOG_ID_FILE);
}
FileReader fileReader = new FileReader(LOG_RECORD_ADDRESS + LOG_ID_FILE);
String result = fileReader.readString();
long startLogId = 0L;
if (StringUtils.isNotBlank(result)){
startLogId = Long.parseLong(result);
}
LambdaQueryWrapper<OptLog> query = Wrappers.lambdaQuery(OptLog.class).gt(OptLog::getId,startLogId);
//查询日志
List<OptLog> logList = optLogMapper.selectList(query);
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if (CollUtil.isNotEmpty(logList)){
logList.forEach(optLog -> {
CommonLog commonLog = new CommonLog();
UserInfo userInfo = userInfoService.getById(optLog.getCreateBy());
String employeeCode = userInfo.getEmployeeCode();
if (StringUtils.isNotBlank(employeeCode)){
DingEmployeeInfo dingEmployeeInfo = dingEmployeeInfoMapper.selectOne(new LambdaQueryWrapper<DingEmployeeInfo>()
.eq(DingEmployeeInfo::getEmployeeCode,employeeCode));
if (dingEmployeeInfo != null){
commonLog.setUserId(String.valueOf(dingEmployeeInfo.getAccountId()));
}
}else {
commonLog.setUserId(String.valueOf(userInfo.getId()));
}
commonLog.setUserRole("政府工作人员");
commonLog.setAreaCode(userInfo.getRegionCode());
String description = optLog.getDescription();
if (description.equals("登录")){
commonLog.setActionType(1);
}else if (description.equals("退出登录")){
commonLog.setActionType(2);
}else {
commonLog.setActionType(3);
}
String actionId = UUID.randomUUID().toString();
commonLog.setActionId(actionId);
commonLog.setActionTime(df.format(optLog.getStartTime()));
commonLog.setActionDuration(optLog.getConsumingTime());
commonLog.setActionStatus(0);
commonLog.setAppCode("");
//判断当天日志文件是否存在
DateTimeFormatter dfNow = DateTimeFormatter.ofPattern("yyyyMMdd");
String fileName = LOG_RECORD_ADDRESS + LOG_FILE + dfNow.format(LocalDateTime.now()) + ".log";
boolean fileExist = FileUtil.exist(fileName);
if (!fileExist){
//不存在则创建当天日志文件
FileUtil.touch(fileName);
}
//写入通用规则
FileWriter writer = new FileWriter(LOG_RECORD_ADDRESS + LOG_FILE);
writer.append(JSONUtil.toJsonStr(commonLog));
if (commonLog.getActionType() == 3){
CommonLog commonLogEnd = new CommonLog();
BeanUtil.copyProperties(commonLog,commonLogEnd);
commonLogEnd.setActionType(4);
writer.append(JSONUtil.toJsonStr(commonLogEnd));
}
});
//记录最后一个节点位置
FileWriter writer = new FileWriter(LOG_RECORD_ADDRESS + LOG_ID_FILE);
writer.write(String.valueOf(logList.get(logList.size() - 1).getId()));
}
}
}

+ 5
- 1
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/InitProcessTask.java ファイルの表示

@@ -22,6 +22,7 @@ import com.wflow.workflow.service.WflowFormsService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@@ -48,9 +49,12 @@ public class InitProcessTask {

private final RegionCacheHelper regionCacheHelper;

@Value("${hostname}")
private String HOST_NAME;

@Scheduled(cron = "0 14 16 07 3 ?")
public void doTask() throws UnknownHostException {
if (TaskContant.Host.HOST_ZPF.equals(InetAddress.getLocalHost().getHostName())) {
if (HOST_NAME.equals(InetAddress.getLocalHost().getHostName())) {
log.info("=========== 初始化丽水二期 系统表单和流程配置 ======== 任务开始");
StopWatch stopWatch = new StopWatch();
stopWatch.start();


+ 6
- 2
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/ProjectStatusFlowTask.java ファイルの表示

@@ -12,6 +12,7 @@ import com.ningdatech.pmapi.staging.service.IProjectStagingService;
import com.ningdatech.pmapi.staging.utils.ProjectStatusFlowMapUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@@ -40,10 +41,13 @@ public class ProjectStatusFlowTask {

private final ProjectStatusFlowMapUtil projectStatusFlowMapUtil;

@Value("${hostname}")
private String HOST_NAME;

@Scheduled(cron = "0 */1 * * * ?")
public void statusFlow() throws UnknownHostException {
//测试暂时用自己207
if (TaskContant.Host.HOST_207.equals(InetAddress.getLocalHost().getHostName())) {
//
if (HOST_NAME.equals(InetAddress.getLocalHost().getHostName())) {
//1. 定时取 项目暂存表的数据 去进行状态继续流转
List<ProjectStaging> stagingList = projectStagingService.list(Wrappers.lambdaQuery(ProjectStaging.class)
.eq(ProjectStaging::getDead,Boolean.FALSE)


+ 5
- 1
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/WorkNoticeFlowTask.java ファイルの表示

@@ -10,6 +10,7 @@ import com.ningdatech.pmapi.staging.service.INdWorkNoticeStagingService;
import com.ningdatech.pmapi.todocenter.bean.entity.WorkNoticeInfo;
import com.ningdatech.zwdd.client.ZwddClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@@ -36,10 +37,13 @@ public class WorkNoticeFlowTask {
private final INdWorkNoticeStagingService workNoticeStagingService;
private final ZwddClient zwddClient;

@Value("${hostname}")
private String HOST_NAME;

@Scheduled(cron = "0 */1 * * * ?")
public void statusFlow() throws UnknownHostException {
//测试暂时用自己电脑HOST
if (TaskContant.Host.HOST_207.equals(InetAddress.getLocalHost().getHostName())) {
if (HOST_NAME.equals(InetAddress.getLocalHost().getHostName())) {
//1. 定时取 工作通知暂存表的数据进行发送
List<WorkNoticeStaging> stagingList = workNoticeStagingService.list(Wrappers.lambdaQuery(WorkNoticeStaging.class)
.eq(WorkNoticeStaging::getDead, Boolean.FALSE)


+ 43
- 0
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/model/CommonLog.java ファイルの表示

@@ -0,0 +1,43 @@
package com.ningdatech.pmapi.scheduler.task.model;

import lombok.Data;

@Data
public class CommonLog {
/**
* 用户id
*/
private String userId;
/**
* 用户角色(群众、企业、政府工作人员、第三方)
*/
private String userRole;
/**
* 地区编码
*/
private String areaCode;
/**
* 操作类型(1-登录 2-离开 3-办事开始 4-办事结束)
*/
private Integer actionType;
/**
* 操作标识
*/
private String actionId;
/**
* 操作时间
*/
private String actionTime;
/**
* 操作时长
*/
private Long actionDuration;
/**
* 操作状态(0-成功 1-失败)
*/
private Integer actionStatus;
/**
* 应用编码
*/
private String appCode;
}

+ 7
- 2
pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java ファイルの表示

@@ -393,7 +393,7 @@ public class TodoCenterManage {
}
nodeId = task.getTaskDefinitionKey();
// 退回该任务
processTaskService.handleTask(param, employeeCode);
processTaskService.handleTaskLs(param, employeeCode);
//退回审核后 所处理的逻辑
handlerManage.afterBackTodo(declaredProject,instance);
break;
@@ -954,7 +954,12 @@ public class TodoCenterManage {
VUtils.isTrue(Objects.isNull(projectInfo)).throwMessage("调整失败 此项目不存在!");

//项目名称去重
defaultDeclaredProjectManage.checkDuplication(projectDto);
//项目名称去重
if(StringUtils.isNotBlank(projectDto.getProjectName()) &&
!projectDto.getProjectName().equals(projectInfo.getProjectName())){
projectDto.setProjectCode(projectInfo.getProjectCode());
defaultDeclaredProjectManage.checkDuplication(projectDto);
}
defaultDeclaredProjectManage.checkAmount(projectDto);

//修改项目内容


+ 2
- 0
pmapi/src/main/resources/application-dev.yml ファイルの表示

@@ -209,6 +209,8 @@ irs:
secret-key: 4
api-url: https://ibcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf

hostname: iZbp13nwyvib53j4j1p2xoZ

login:
phone-verify-code:
skip: true


+ 2
- 6
pmapi/src/main/resources/application-prod.yml ファイルの表示

@@ -182,12 +182,7 @@ organization:
- GO_c1a6f8d5338e4a468337b08da76e2e31

yxt:
#wsdl-url: http://115.239.137.23:9501/ws/v1?wsdl
wsdl-url: file:///data/nd-project-management/wsdl.xml
# #账号
# user-code: hzndkj
# #密码
# password: hzndkj@2021
wsdl-url: classpath:wsdl-prod.xml
#账号
user-code: Lssdsjj
#密码
@@ -214,6 +209,7 @@ irs:
secret-key: 4
api-url: https://ibcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf

hostname: iZ6mx01gyeodd80imxd2gbZ
login:
phone-verify-code:
skip: true


+ 120
- 0
pmapi/src/main/resources/wsdl-prod.xml ファイルの表示

@@ -0,0 +1,120 @@
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://impl.v1.ws.api.service.yxt.gooben.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://v1.ws.api.service.yxt.gooben.com/" name="WsItfTask" targetNamespace="http://impl.v1.ws.api.service.yxt.gooben.com/">
<wsdl:import location="http://60.188.225.145:9501/ws/v1?wsdl=WsItfTask.wsdl" namespace="http://v1.ws.api.service.yxt.gooben.com/">
</wsdl:import>
<wsdl:binding name="WsItfTaskSoapBinding" type="ns1:WsItfTask">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getSentResultCall">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSentResultCall">
<soap:header message="ns1:getSentResultCall" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSentResultCallResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getSubmitResult">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSubmitResult">
<soap:header message="ns1:getSubmitResult" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSubmitResultResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="addFile">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="addFile">
<soap:header message="ns1:addFile" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="addFileResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="submitMCLZTask">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="submitMCLZTask">
<soap:header message="ns1:submitMCLZTask" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="submitMCLZTaskResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getSentTaskResultCall">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSentTaskResultCall">
<soap:header message="ns1:getSentTaskResultCall" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSentTaskResultCallResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getSentTaskResultSms">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSentTaskResultSms">
<soap:header message="ns1:getSentTaskResultSms" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSentTaskResultSmsResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="submitTask">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="submitTask">
<soap:header message="ns1:submitTask" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="submitTaskResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getSentResultSms">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSentResultSms">
<soap:header message="ns1:getSentResultSms" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSentResultSmsResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="authorization">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="authorization">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="authorizationResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getSmsReceive">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getSmsReceive">
<soap:header message="ns1:getSmsReceive" part="token" use="literal">
</soap:header>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output name="getSmsReceiveResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WsItfTask">
<wsdl:port binding="tns:WsItfTaskSoapBinding" name="WsItfTaskImplPort">
<soap:address location="http://60.188.225.145:9501/ws/v1"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

読み込み中…
キャンセル
保存