|
|
@@ -2,6 +2,7 @@ package service
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
+ worksrv "dashoo.cn/micro/app/service/work"
|
|
|
"database/sql"
|
|
|
"encoding/base64"
|
|
|
"encoding/json"
|
|
|
@@ -25,7 +26,6 @@ import (
|
|
|
"dashoo.cn/micro/app/service"
|
|
|
baseService "dashoo.cn/micro/app/service/base"
|
|
|
projsrv "dashoo.cn/micro/app/service/proj"
|
|
|
- worksrv "dashoo.cn/micro/app/service/work"
|
|
|
workflowService "dashoo.cn/micro/app/service/workflow"
|
|
|
|
|
|
"dashoo.cn/opms_libary/micro_srv"
|
|
|
@@ -1270,10 +1270,6 @@ func ContractApplyApproval(ctx context.Context, flow *workflowModel.PlatWorkflow
|
|
|
if contract == nil {
|
|
|
return fmt.Errorf("合同不存在:%s Id: %d", flow.BizCode, flow.Id)
|
|
|
}
|
|
|
-
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
if msg.ProcessType != "finish" && msg.ProcessType != "terminate" {
|
|
|
return fmt.Errorf("无法识别的 ProcessType :%s", msg.ProcessType)
|
|
|
}
|
|
|
@@ -1302,13 +1298,13 @@ func ContractApplyApproval(ctx context.Context, flow *workflowModel.PlatWorkflow
|
|
|
if status != "30" {
|
|
|
return nil
|
|
|
}
|
|
|
- s, err := NewCtrContractService(ctx)
|
|
|
- if err != nil {
|
|
|
- return err
|
|
|
- }
|
|
|
|
|
|
return contractDao.DB.Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
|
|
|
// 交付状态(0发起 10项目立项 15进行中 20 完成 30审批拒绝40关闭)
|
|
|
+ _, err = worksrv.DeliverOrderAdd(tx, contractId, request.UserInfo{}, nil, "10")
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
if contract.ContractId != 0 {
|
|
|
oldContract, err := contractDao.TX(tx).Where("id = ?", contract.ContractId).One()
|
|
|
if err != nil {
|
|
|
@@ -1319,7 +1315,7 @@ func ContractApplyApproval(ctx context.Context, flow *workflowModel.PlatWorkflow
|
|
|
SoftwareMaintenanceLimit := int(softSub)
|
|
|
hardSub := contract.HardwareMaintenanceEndTime.Sub(oldContract.HardwareMaintenanceBeginTime).Hours() / 24 / 365
|
|
|
HardwareMaintenanceLimit := int(hardSub)
|
|
|
- err = s.AddDynamicsByCurrentUser(tx, int(contract.ContractId), "续签合同审批通过", map[string]interface{}{
|
|
|
+ opnContent := map[string]interface{}{
|
|
|
"contractId": contract.ContractId,
|
|
|
"contractName": contract.ContractName,
|
|
|
"contractCode": contract.ContractCode,
|
|
|
@@ -1331,25 +1327,29 @@ func ContractApplyApproval(ctx context.Context, flow *workflowModel.PlatWorkflow
|
|
|
"newSoftwareMaintenanceEndTime": contract.SoftwareMaintenanceEndTime,
|
|
|
"newHardwareMaintenanceBeginTime": contract.HardwareMaintenanceBeginTime,
|
|
|
"newHardwareMaintenanceEndTime": contract.HardwareMaintenanceEndTime,
|
|
|
- })
|
|
|
+ }
|
|
|
+ dynamics := model.CtrContractDynamics{
|
|
|
+ ContractId: contract.ContractId,
|
|
|
+ OpnPeople: "系统自动创建",
|
|
|
+ OpnDate: gtime.Now(),
|
|
|
+ OpnType: "续签合同审批通过",
|
|
|
+ OpnContent: gconv.String(opnContent),
|
|
|
+ }
|
|
|
+ _, err = contractDao.DB.Model("ctr_contract_dynamics").TX(tx).Data(dynamics).InsertAndGetId()
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
-
|
|
|
- _, err = s.Dao.TX(tx).Where("id = ?", contract.ContractId).Data(map[string]interface{}{
|
|
|
+ _, err = contractDao.TX(tx).Where("id = ?", contract.ContractId).Data(map[string]interface{}{
|
|
|
"software_maintenance_end_time": contract.SoftwareMaintenanceEndTime,
|
|
|
"hardware_maintenance_end_time": contract.HardwareMaintenanceEndTime,
|
|
|
"software_maintenance_limit": SoftwareMaintenanceLimit,
|
|
|
"hardware_maintenance_limit": HardwareMaintenanceLimit,
|
|
|
}).Update()
|
|
|
-
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- _, err = worksrv.DeliverOrderAdd(tx, contractId, request.UserInfo{}, nil, "10")
|
|
|
- return err
|
|
|
+ return nil
|
|
|
})
|
|
|
}
|
|
|
|