|
|
package service
|
|
|
|
|
|
import (
|
|
|
"cu-helper/cus-eng-con-sys/config"
|
|
|
"cu-helper/cus-eng-con-sys/cryptokit"
|
|
|
"cu-helper/cus-eng-con-sys/model"
|
|
|
"strings"
|
|
|
|
|
|
"github.com/mizuki1412/go-core-kit/class/exception"
|
|
|
"github.com/mizuki1412/go-core-kit/service/logkit"
|
|
|
)
|
|
|
|
|
|
// ReqFinishAct 完工确认请求
|
|
|
/*
|
|
|
完工确认分3个步骤进行
|
|
|
1、获取下一步办理人员Assignee(零星,扩容是资源录入需要手动指定)
|
|
|
2、上传完工报告
|
|
|
3、提交完工确认请求
|
|
|
*/
|
|
|
|
|
|
func ReqFinishAct(ctx *model.Ctx) {
|
|
|
//这里YSSQ指的是下一个步骤,获取下一个步骤办理人员
|
|
|
processDefinitionKey := ctx.Data.Get("processDefinitionKey").String()
|
|
|
docUploadWGQR(ctx)
|
|
|
switch processDefinitionKey {
|
|
|
case config.ProcessHouse:
|
|
|
//小区要先资源录入
|
|
|
reqFinishActProcess(ctx, "")
|
|
|
case config.ProcessLX:
|
|
|
//零星直接验收申请
|
|
|
id := getAssigneeId(ctx, "YSSQ")
|
|
|
reqFinishActProcess(ctx, id)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func docUploadWGQR(ctx *model.Ctx) {
|
|
|
businessKey := getRemandId(ctx)
|
|
|
taskId := ctx.Data.Get("id").String()
|
|
|
h := model.NewHeader("multipart/form-data")
|
|
|
header := h.GenReqParam()
|
|
|
f := model.NewDocUpload(businessKey, "WGQR", "ACT", taskId)
|
|
|
form := f.GenReqParam()
|
|
|
crypt := cryptokit.NewDocEncrypt()
|
|
|
params := crypt.GenReqParam()
|
|
|
client := ctx.RestyClient
|
|
|
resp, err := client.R().
|
|
|
SetHeaders(header).SetFormData(form).SetQueryParams(params).SetFile("myfile", config.DocUploadWGQRFilePath).Post(config.UrlPrefix + "/zjgd/frm/docInfoController/goUpload.action")
|
|
|
if err != nil {
|
|
|
panic(exception.New(err.Error()))
|
|
|
}
|
|
|
dataOri := strings.Trim(resp.String(), `"`)
|
|
|
data := cryptokit.Decrypt(dataOri)
|
|
|
logkit.Info("docUploadWGQR:" + data)
|
|
|
}
|
|
|
|
|
|
func reqFinishActProcess(ctx *model.Ctx, assigneeId string) {
|
|
|
processInsId := ctx.Data.Get("processInstanceId").String()
|
|
|
taskId := ctx.Data.Get("id").String()
|
|
|
processDefinitionKey := ctx.Data.Get("processDefinitionKey").String()
|
|
|
h := model.NewHeader("application/x-www-form-urlencoded; charset=UTF-8")
|
|
|
header := h.GenReqParam()
|
|
|
f := model.NewFinishActProcess(processInsId, taskId, assigneeId, processDefinitionKey)
|
|
|
form := f.GenReqParam()
|
|
|
client := ctx.RestyClient
|
|
|
resp, err := client.R().
|
|
|
SetHeaders(header).SetFormData(form).Post(config.UrlPrefix + "/zjgd/frm/actInfoController/startActFinishProcess")
|
|
|
if err != nil {
|
|
|
panic(exception.New(err.Error()))
|
|
|
}
|
|
|
dataOri := strings.Trim(resp.String(), `"`)
|
|
|
data := cryptokit.Decrypt(dataOri)
|
|
|
logkit.Info("finishActProcess:" + data)
|
|
|
}
|