ソースを参照

撤回状态机项目库项目状态更新

master
CMM 1年前
コミット
57a21a6915
10個のファイルの変更481行の追加46行の削除
  1. +9
    -4
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java
  2. +3
    -3
      pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java
  3. +43
    -19
      pmapi/src/test/resources/application-dev.yml
  4. +3
    -5
      pmapi/src/test/resources/integration/zwdd-dev.yml
  5. +11
    -10
      pmapi/src/test/resources/integration/zwdd-prod.yml
  6. +5
    -4
      pmapi/src/test/resources/security/auth-dev.yml
  7. +1
    -1
      pmapi/src/test/resources/security/auth-prod.yml
  8. バイナリ
      pmapi/src/test/resources/template/simsun.ttc
  9. +286
    -0
      pmapi/src/test/resources/template/预审申请单.html
  10. +120
    -0
      pmapi/src/test/resources/wsdl.xml

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

@@ -734,10 +734,14 @@ public class TodoCenterManage {
* @since 2023/02/08
*/
private void updatePassProjectStatus(Long userId, Project declaredProject) {
stateMachineUtils.pass(declaredProject);
declaredProject.setUpdateOn(LocalDateTime.now());
declaredProject.setUpdateBy(userId);
projectService.updateById(declaredProject);
try {
stateMachineUtils.pass(declaredProject);
declaredProject.setUpdateOn(LocalDateTime.now());
declaredProject.setUpdateBy(userId);
projectService.updateById(declaredProject);
} catch (Exception e) {
throw new BizException("状态机执行失败!");
}
}

/**
@@ -821,6 +825,7 @@ public class TodoCenterManage {
stateMachineUtils.withDraw(declaredProject);
declaredProject.setUpdateOn(LocalDateTime.now());
declaredProject.setUpdateBy(userId);
projectService.updateById(declaredProject);
} catch (Exception e) {
throw new BizException("状态机执行失败!");
}


+ 3
- 3
pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java ファイルの表示

@@ -24,10 +24,10 @@ public class StateMachineTest extends AppTests {
@Test
public void stateMachineTest() {
Project project = new Project();
project.setStage(ProjectStatusEnum.PROJECT_APPROVED.getCode());
project.setStatus(ProjectStatusEnum.IN_THE_ANNUAL_PLAN.getCode());
project.setStage(ProjectStatusEnum.NOT_APPROVED.getCode());
project.setStatus(ProjectStatusEnum.UNDER_INTERNAL_AUDIT.getCode());
project.setDeclareAmount(BigDecimal.valueOf(2000));
stateMachineUtils.pass(project);
stateMachineUtils.withDraw(project);
System.out.println(String.format("project:%s", JSON.toJSONString(project)));
}
}

+ 43
- 19
pmapi/src/test/resources/application-dev.yml ファイルの表示

@@ -1,5 +1,5 @@
server:
port: 28888
port: 38888
servlet:
context-path: /pm

@@ -15,7 +15,7 @@ spring:
timeout: 5000
host: 47.98.125.47
port: 26379
database: 0
database: 4
password: Ndkj1234
jedis:
pool:
@@ -87,7 +87,11 @@ spring:
wall:
config:
multi-statement-allow: true

#设置上传 单个文件的大小
servlet:
multipart:
max-file-size: 100MB
max-request-size: 150MB
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
@@ -97,22 +101,21 @@ mybatis-plus:
logic-not-delete-value: false
logging:
config: classpath:logback-spring.xml
#日志配置
#日志配置
level:
root: info
file:
path: logs

nd:
log:
enabled: true
type: DB
cache:
type: REDIS
serializerType: ProtoStuff
cacheNullVal: true
def:
keyPrefix: pm
log:
enabled: true
type: DB
# 文件存储
file:
storage-type: ALI_OSS
@@ -172,15 +175,36 @@ sa-token:
token-style: uuid
# 是否输出操作日志
is-log: false
#浙政钉公司顶级organizationCode
organization:
dept-visible-scopes:
- GO_ff70e47bae684fdba0d64f4acab85661

yxt:
# wsdl-url: http://115.239.137.23:9501/ws/v1?wsdl
wsdl-url: classpath:/wsdl.xml
#账号
user-code: hzndkj
#密码
password: hzndkj@2021
#音信通开关
sms-enable: true
tel-enable: true

#省局联审 请求信息
provincial:
host: http://zj.ningdatech.com/prometheus-zhejiang_foreign
pushUrl: /api/v1/foreign/importantPro
detailUrl: /api/v1/foreign/importantProView
key: 7196317343a64e67895dc0375c098fe7
secret: 75152a97f20e4c4c854dc6301cf72ad4


#专有钉钉
ding:
#扫码
app-auth-key: expert-base_dingoa-c5nnefYVnie
app-auth-secret: nm8qtST8uK431HYrjr7srcE23sT4889QgMcYFM3L
# #免登/获取信息
app-key: file-manage-4Mjx9358wuxjyYFjY3
app-secret: hE41938wqyQ5LOpc1QDRA9e7gb5YugoClWD3nY4O
#专有钉钉在开发管理工作台,右键查看网页源码realmId: '31141',浙政钉固定196729
tenantId: 31141
domain: openplatform.dg-work.cn
#天印服务器接口信息
irs:
seal-platform:
project-id: 1
project-secret: 2
access-key: 3
secret-key: 4
api-url: https://ibcdsg.zj.gov.cn:8443/restapi/prod/IC33000020220309000004/seal-platform/seal/v1/rest/sign/signPdf

+ 3
- 5
pmapi/src/test/resources/integration/zwdd-dev.yml ファイルの表示

@@ -2,11 +2,9 @@
integration:
zwdd:
#扫码
app-auth-key: expert-base_dingoa-c5nnefYVnie
app-auth-secret: nm8qtST8uK431HYrjr7srcE23sT4889QgMcYFM3L
# #免登/获取信息
# app-key: file-manage-4Mjx9358wuxjyYFjY3
# app-secret: hE41938wqyQ5LOpc1QDRA9e7gb5YugoClWD3nY4O
app-auth-key: ls-rebuild_dingoa-rgeWs3YVr26z
app-auth-secret: 37qCe6ylNMW0N8K2741z0c2b9vJP2gtuMRQQtZ9P
#免登/获取信息
app-key: ls_rebuild-10c8n5X0707yFV7jURr
app-secret: gN8J3WazyXLMWKDuFmx6C4yaH5lFUY41x8rYLLo6
#专有钉钉在开发管理工作台,右键查看网页源码realmId: '31141',浙政钉固定196729


+ 11
- 10
pmapi/src/test/resources/integration/zwdd-prod.yml ファイルの表示

@@ -1,11 +1,12 @@
#专有钉钉
ding:
#扫码
app-auth-key: expert-base_dingoa-c5nnefYVnie
app-auth-secret: nm8qtST8uK431HYrjr7srcE23sT4889QgMcYFM3L
# #免登/获取信息
app-key: file-manage-4Mjx9358wuxjyYFjY3
app-secret: hE41938wqyQ5LOpc1QDRA9e7gb5YugoClWD3nY4O
#专有钉钉在开发管理工作台,右键查看网页源码realmId: '31141',浙政钉固定196729
tenantId: 31141
domain: openplatform.dg-work.cn
integration:
zwdd:
#扫码
app-auth-key: ls-rebuild_dingoa-rgeWs3YVr26z
app-auth-secret: 37qCe6ylNMW0N8K2741z0c2b9vJP2gtuMRQQtZ9P
#免登/获取信息
app-key: ls_rebuild-10c8n5X0707yFV7jURr
app-secret: gN8J3WazyXLMWKDuFmx6C4yaH5lFUY41x8rYLLo6
#专有钉钉在开发管理工作台,右键查看网页源码realmId: '31141',浙政钉固定196729
tenantId: 31141
domain: openplatform.dg-work.cn

+ 5
- 4
pmapi/src/test/resources/security/auth-dev.yml ファイルの表示

@@ -2,7 +2,8 @@ security:
auth:
auth-require-url: /api/v1/user/auth/auth-require
invalid-session-url: /api/v1/user/auth/invalid-session
password-login-url: /api/v1/user/auth/login/password
password-login-url: /api/v1/user/auth/login
agent-login-url: /api/v1/user/auth/agent-login
logout-url: /api/v1/user/auth/logout
ignore-auth-urls:
- /v2/api-docs
@@ -15,13 +16,13 @@ security:
- /api/v1/user/auth/invalid-session
- /api/v1/user/auth/login/password
- /api/v1/user/auth/forget-password
- /api/v1/**
- /doc.html
- /ok.html
- /open/api/**
- /oa/**
- /wflow/**
- /sys/**
- /api/v1/verification/**
ignore-csrf-urls:
- /api/v1/user/auth/**
- /v2/api-docs
@@ -38,6 +39,7 @@ security:
- /oa/**
- /wflow/**
- /sys/**
- /api/v1/verification/**
role-map:
"engineer":
"project_manager":
@@ -49,5 +51,4 @@ security:
- /api/v1/user-info/save
- /api/v1/user-info/del
- /api/v1/user-info/kick-off/**
- /api/v1/user-info/password/mod
- /api/v1/**
- /api/v1/user-info/password/mod

+ 1
- 1
pmapi/src/test/resources/security/auth-prod.yml ファイルの表示

@@ -2,7 +2,7 @@ security:
auth:
auth-require-url: /api/v1/user/auth/auth-require
invalid-session-url: /api/v1/user/auth/invalid-session
password-login-url: /api/v1/user/auth/login/password
password-login-url: /api/v1/user/auth/login
logout-url: /api/v1/user/auth/logout
ignore-auth-urls:
- /v2/api-docs


バイナリ
pmapi/src/test/resources/template/simsun.ttc ファイルの表示


+ 286
- 0
pmapi/src/test/resources/template/预审申请单.html ファイルの表示

@@ -0,0 +1,286 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:font-family="http://www.w3.org/1999/xhtml"
>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
html,
body {
padding: 0;
margin: 0;
font-family: SimSun;
}
.pdf {
margin: 0 auto;
padding: 10px 0 30px;
text-align: center;
}
.title {
padding: 0 0 40px 0;
font-size: 34px;
margin: 40px 0 0 0;
font-family: SimSun;
}
.tab {
padding: 0 20px;
}
.projectId {
color: #999999;
text-align: left;
margin-bottom: 8px;
}
.projectId > .time {
float: right;
}

table {
width: 100%;
border-collapse: collapse;
font-size: 16px;
table-layout: fixed;
word-break: break-all;
word-wrap: break-word;
text-align: left;
}
td {
padding: 15px 8px;
border: 1px solid;
}
.tabTit {
background-color: #eee;
}
.label {
width: 150px;
}
.sealTd {
height: 200px;
position: relative;
}
.seal {
position: absolute;
right: 20px;
bottom: 30px;
width: 150px;
}
.seal > .time {
text-align: right;
}
.content {
height: 150px;
}
.text {
min-height: 150px;
}
.content > .right {
float: right;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="pdf">
<p class="title">
<span>#title#</span>
</p>
<div class="tab">
<p class="projectId">
<span>
项目编号:
<span>#projectNo#</span>
</span>
<span class="time">#time#</span>
</p>
<table>
<tbody>
<tr>
<td class="tabTit" colspan="4">项目基本信息</td>
</tr>
<tr>
<td class="label">项目名称</td>
<td colspan="3" align="center">#projectName#</td>
</tr>
<tr>
<td class="label">是否临时增补</td>
<td align="center">#isTemporaryAugment#</td>
<td class="label">是否一地创新全省共享项目</td>
<td align="center">#isInnovateWholeProvinceShare#</td>
</tr>
<tr>
<td class="label">项目负责人</td>
<td align="center">#responsibleMan#</td>
<td class="label">负责人手机号</td>
<td align="center">#responsibleManMobile#</td>
</tr>
<tr>
<td class="label">项目联系人</td>
<td align="center">#contactName#</td>
<td class="label">项目联系人手机号</td>
<td align="center">#contactPhone#</td>
</tr>
<tr>
<td class="label">建设单位</td>
<td align="center">#buildOrgName#</td>
<td class="label">建设单位统一社会信用代码</td>
<td align="center">#orgCreditCode#</td>
</tr>
<tr>
<td class="label">项目类型</td>
<td align="center">#projectType#</td>
<td class="label">是否首次新建</td>
<td align="center">#isFirst#</td>
</tr>
<tr>
<td class="label">预算年度</td>
<td align="center">#projectYear#</td>
<td class="label">建设起止时间</td>
<td align="center">#beginAndEndTime#</td>
</tr>
<tr>
<td class="label">四大体系</td>
<td colspan="3" align="center">#fourSystems#</td>
</tr>
<tr>
<td class="label">是否数字化改革项目</td>
<td align="center">#isDigitalReform#</td>
<td class="label">综合业务领域</td>
<td align="center">#bizDomain#</td>
</tr>
<tr>
<td class="label">立项依据</td>
<td colspan="3" align="center">#buildBasisList#</td>
</tr>
<tr>
<td class="label">是否上云</td>
<td align="center">#isCloud#</td>
<td class="label">云类型</td>
<td align="center">#cloudType#</td>
</tr>
<tr>
<td class="label">项目简介</td>
<td colspan="3" align="center">#projectIntroduction#</td>
</tr>
<tr>
<td class="tabTit" colspan="4">资金申报情况</td>
</tr>
<tr>
<td class="label">申报金额</td>
<td colspan="3" align="center">#declareAmount#</td>
</tr>
<tr>
<td class="label">自有资金</td>
<td align="center">#declareHaveAmount#</td>
<td class="label">政府投资-本级财政资金</td>
<td align="center">#declareGovOwnFinanceAmount#</td>
</tr>
<tr>
<td class="label">政府投资-上级补助资金</td>
<td align="center">#declareGovSuperiorFinanceAmount#</td>
<td class="label">银行贷款</td>
<td align="center">#declareBankLendingAmount#</td>
</tr>
<tr>
<td class="label">其他资金</td>
<td colspan="3" align="center">#declareOtherAmount#</td>
</tr>
<tr>
<td class="label">本年计划投资(万元)</td>
<td colspan="3" align="center">#yearPlanInvest#</td>
</tr>
<tr>
<td class="tabTit" colspan="4">资金分配情况</td>
</tr>
<tr>
<td class="label">软件开发</td>
<td align="center">#softwareDevelopmentAmount#</td>
<td class="label">云资源、硬件购置</td>
<td align="center">#cloudHardwarePurchaseAmount#</td>
</tr>
<tr>
<td class="label">第三方服务</td>
<td colspan="3" align="center">#thirdPartyAmount#</td>
</tr>
<tr>
<td class="tabTit" colspan="4">年度支付计划</td>
</tr>
<tr>
<td class="label">年度支付金额</td>
<td colspan="3" align="center">#annualPlanAmount#</td>
</tr>
<tr>
<td class="label">自有资金</td>
<td align="center">#annualPlanHaveAmount#</td>
<td class="label">政府投资-本级财政资金</td>
<td align="center">#annualPlanGovOwnFinanceAmount#</td>
</tr>
<tr>
<td class="label">政府投资-上级补助资金</td>
<td align="center">#annualPlanGovSuperiorFinanceAmount#</td>
<td class="label">银行贷款</td>
<td align="center">#annualPlanBankLendingAmount#</td>
</tr>
<tr>
<td class="label">其他资金</td>
<td colspan="3" align="center">#annualPlanOtherAmount#</td>
</tr>
<tr>
<td class="tabTit" colspan="4">备注</td>
</tr>
<tr>
<td class="label">备注</td>
<td colspan="3" align="center">#projectRemarks#</td>
</tr>
<tr>
<td class="tabTit" colspan="4">单位意见</td>
</tr>
<tr>
<td class="label">本级主管单位意见(盖章)</td>
<td colspan="3" class="text content">
<div class="right">
<p>
<span>#superOrgOpinion#</span>
</p>
<p>
<span>#superOrgAuditDate#</span>
</p>
</div>
</td>
</tr>
<tr>
<td class="label">上级主管单位意见(盖章)</td>
<td colspan="3" class="text content">
<div class="right">
<p>
<span>#higherOrgOpinion#</span>
</p>
<p>
<span>#higherOrgAuditDate#</span>
</p>
</div>
</td>
</tr>
<tr>
<td class="label">
<span>#bigDataBureauName#</span>
意见(盖章)
</td>
<td colspan="3" class="text content">
<div class="right">
<p>
<span>#bigDataBureauOpinion#</span>
</p>
<p>
<span>#bigDataBureauAuditDate#</span>
</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>

+ 120
- 0
pmapi/src/test/resources/wsdl.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://120.26.44.207: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://120.26.44.207:9501/ws/v1"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

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