|
|
@@ -658,6 +658,7 @@ func (c *TaskController) Add() {
|
|
|
T_report_number := c.GetString("T_report_number") // 报告编号
|
|
|
T_report_type := c.GetString("T_report_type") // 报告类型
|
|
|
T_device_quantity, _ := c.GetInt("T_device_quantity") // 终端数量
|
|
|
+ T_cnas, _ := c.GetInt("T_cnas") // cnas实验室
|
|
|
|
|
|
// 查询信息采集信息
|
|
|
infoCollection, is := InfoCollection.Read_InfoCollection(T_InfoCollection_id)
|
|
|
@@ -708,6 +709,7 @@ func (c *TaskController) Add() {
|
|
|
T_report_number: T_report_number,
|
|
|
T_report_type: T_report_type,
|
|
|
T_device_quantity: T_device_quantity,
|
|
|
+ T_cnas: T_cnas,
|
|
|
}
|
|
|
if T_report_number != "/" {
|
|
|
_, exist := Task.Read_TaskbyT_report_number(T_report_number)
|
|
|
@@ -1027,6 +1029,8 @@ func (c *TaskController) Up() {
|
|
|
T_doc3 := c.GetString("T_doc3")
|
|
|
T_pdf3 := c.GetString("T_pdf3")
|
|
|
T_pdf4 := c.GetString("T_pdf4") // 验证标识
|
|
|
+ T_pdf5 := c.GetString("T_pdf5") // 检测报告
|
|
|
+ T_pdf6 := c.GetString("T_pdf6") // 原始记录
|
|
|
|
|
|
T_VerifyDeviceDataStartTime := c.GetString("T_VerifyDeviceDataStartTime") // 验证设备数据开始时间
|
|
|
T_VerifyDeviceDataEndTime := c.GetString("T_VerifyDeviceDataEndTime") // 验证设备数据开始时间
|
|
|
@@ -1051,6 +1055,7 @@ func (c *TaskController) Up() {
|
|
|
T_report_number := c.GetString("T_report_number") // 报告编号
|
|
|
T_report_type := c.GetString("T_report_type") // 报告编号
|
|
|
T_device_quantity, _ := c.GetInt("T_device_quantity") // 报告编号
|
|
|
+ T_cnas, _ := c.GetInt("T_cnas") // cnas实验室
|
|
|
|
|
|
T_task_id := c.GetString("T_task_id")
|
|
|
r, is := Task.Read_Task(T_task_id)
|
|
|
@@ -1260,6 +1265,66 @@ func (c *TaskController) Up() {
|
|
|
r.T_marking_state = 1
|
|
|
clos = append(clos, "T_marking_state")
|
|
|
}
|
|
|
+ if len(T_pdf5) > 0 {
|
|
|
+ r.T_pdf5 = T_pdf5
|
|
|
+ clos = append(clos, "T_pdf5")
|
|
|
+ r.T_examining_report_state = 1
|
|
|
+ clos = append(clos, "T_examining_report_state")
|
|
|
+ // 添加已提交状态 检测报告记录
|
|
|
+ auditRecordJson, err := Task.Add_AuditRecord(r.T_examining_report_audit_record, "", User_r.T_uuid, r.T_examining_report_state, "", "")
|
|
|
+ if err == nil {
|
|
|
+ r.T_examining_report_audit_record = auditRecordJson
|
|
|
+ clos = append(clos, "T_examining_report_audit_record")
|
|
|
+ r.T_examining_report_end_time = time.Now().Format("2006-01-02 15:04:05")
|
|
|
+ clos = append(clos, "T_examining_report_end_time")
|
|
|
+ if len(r.T_examining_report_start_time) > 0 {
|
|
|
+ r.T_examining_report_time_interval, _ = lib.MinutesDifference(r.T_examining_report_start_time, r.T_examining_report_end_time)
|
|
|
+ clos = append(clos, "T_examining_report_time_interval")
|
|
|
+ // 扣除暂停时间
|
|
|
+ Task_Compute := Task.Read_TaskTime_Compute(r.T_task_id, 3)
|
|
|
+ if Task_Compute > 0 {
|
|
|
+ r.T_examining_report_time_interval -= float64(Task_Compute)
|
|
|
+ }
|
|
|
+ clos = append(clos, "T_examining_report_time_interval")
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 通知 报告人员
|
|
|
+ _, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
|
|
|
+ System.Add_News(r.T_delivery, fmt.Sprintf("【%s-%s】检测报告 已提交", company_r.T_name, r.T_name), "")
|
|
|
+ go wx.WxSend(r.T_delivery, fmt.Sprintf("【%s-%s】检测报告 已提交", company_r.T_name, r.T_name))
|
|
|
+ }
|
|
|
+ if len(T_pdf6) > 0 {
|
|
|
+ r.T_pdf6 = T_pdf6
|
|
|
+ clos = append(clos, "T_pdf6")
|
|
|
+ r.T_examining_report_state = 1
|
|
|
+ clos = append(clos, "T_original_record_state")
|
|
|
+ // 添加已提交状态 原始记录 记录
|
|
|
+ auditRecordJson, err := Task.Add_AuditRecord(r.T_original_record_audit_record, "", User_r.T_uuid, r.T_original_record_state, "", "")
|
|
|
+ if err == nil {
|
|
|
+ r.T_original_record_audit_record = auditRecordJson
|
|
|
+ clos = append(clos, "T_original_record_audit_record")
|
|
|
+ r.T_original_record_end_time = time.Now().Format("2006-01-02 15:04:05")
|
|
|
+ clos = append(clos, "T_original_record_end_time")
|
|
|
+ if len(r.T_reporting_start_time) > 0 {
|
|
|
+ r.T_original_record_time_interval, _ = lib.MinutesDifference(r.T_original_record_start_time, r.T_original_record_end_time)
|
|
|
+ clos = append(clos, "T_original_record_time_interval")
|
|
|
+ // 扣除暂停时间
|
|
|
+ Task_Compute := Task.Read_TaskTime_Compute(r.T_task_id, 2)
|
|
|
+ if Task_Compute > 0 {
|
|
|
+ r.T_original_record_time_interval -= float64(Task_Compute)
|
|
|
+ }
|
|
|
+ clos = append(clos, "T_original_record_time_interval")
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 通知 报告人员
|
|
|
+ _, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
|
|
|
+ System.Add_News(r.T_delivery, fmt.Sprintf("【%s-%s】原始记录 已提交", company_r.T_name, r.T_name), "")
|
|
|
+ go wx.WxSend(r.T_delivery, fmt.Sprintf("【%s-%s】原始记录 已提交", company_r.T_name, r.T_name))
|
|
|
+ }
|
|
|
|
|
|
if len(T_VerifyDeviceDataStartTime) > 0 {
|
|
|
r.T_VerifyDeviceDataStartTime = T_VerifyDeviceDataStartTime
|
|
|
@@ -1369,6 +1434,9 @@ func (c *TaskController) Up() {
|
|
|
clos = append(clos, "T_device_quantity")
|
|
|
}
|
|
|
|
|
|
+ r.T_cnas = T_cnas
|
|
|
+ clos = append(clos, "T_cnas")
|
|
|
+
|
|
|
if !Task.Update_Task(r, clos...) {
|
|
|
c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
|
|
|
c.ServeJSON()
|
|
|
@@ -1665,6 +1733,218 @@ func (c *TaskController) UpReportingState() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// 修改检测报告状态
|
|
|
+func (c *TaskController) UpExaminingReportState() {
|
|
|
+ Admin_r, Admin_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+
|
|
|
+ User_r, User_is := Account.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+ if !Admin_is && !User_is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ operate_uuid := ""
|
|
|
+ if Admin_is {
|
|
|
+ operate_uuid = Admin_r.T_uuid
|
|
|
+ }
|
|
|
+ if User_is {
|
|
|
+ operate_uuid = User_r.T_uuid
|
|
|
+ }
|
|
|
+
|
|
|
+ T_examining_report_state, _ := c.GetInt("T_examining_report_state") // 1 已完成(客户通过) 5已退回(客户) 3已通过(报告负责人) 4已退回(报告负责人)
|
|
|
+ T_reason := c.GetString("T_reason") // 退回原因
|
|
|
+ T_signature := c.GetString("T_signature") // 通过后客户签名图片链接
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id")
|
|
|
+ r, is := Task.Read_Task(T_task_id)
|
|
|
+ if !is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
|
|
|
+
|
|
|
+ clos := make([]string, 0)
|
|
|
+ if T_examining_report_state > 0 {
|
|
|
+ r.T_examining_report_state = T_examining_report_state
|
|
|
+ clos = append(clos, "T_examining_report_state")
|
|
|
+ }
|
|
|
+ if len(T_signature) > 0 {
|
|
|
+ r.T_examining_report_signature = T_signature
|
|
|
+ clos = append(clos, "T_examining_report_signature")
|
|
|
+ }
|
|
|
+
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStateClientReturn || T_examining_report_state == Task.TaskExaminingReportStateReturn {
|
|
|
+ r.T_examining_report_return_times += 1
|
|
|
+ clos = append(clos, "T_examining_report_return_times")
|
|
|
+ // 客户退回时新增驳回次数和驳回记录
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStateClientReturn {
|
|
|
+ r.T_reject_times += 1
|
|
|
+ var rejectRecordList []Task.AuditRecord
|
|
|
+ if len(r.T_reject_record) > 0 {
|
|
|
+ err := json.Unmarshal([]byte(r.T_reject_record), &rejectRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ rejectRecordList = append(rejectRecordList, Task.AuditRecord{
|
|
|
+ T_uuid: User_r.T_uuid,
|
|
|
+ T_state: T_examining_report_state,
|
|
|
+ T_reason: T_reason,
|
|
|
+ T_time: time.Now().Format("2006-01-02 15:04:05"),
|
|
|
+ T_type: "examining_report",
|
|
|
+ })
|
|
|
+ rejectRecordJson, err := json.Marshal(rejectRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ r.T_reject_record = string(rejectRecordJson)
|
|
|
+ clos = append(clos, "T_reject_times")
|
|
|
+ clos = append(clos, "T_reject_record")
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ auditRecordJson, err := Task.Add_AuditRecord(r.T_examining_report_audit_record, User_r.T_uuid, Admin_r.T_uuid, T_examining_report_state, T_reason, "")
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ r.T_examining_report_audit_record = auditRecordJson
|
|
|
+ clos = append(clos, "T_examining_report_audit_record")
|
|
|
+
|
|
|
+ if !Task.Update_Task(r, clos...) {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已提交
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStateSubmitted {
|
|
|
+ System.Add_News(r.T_collection, fmt.Sprintf("【%s-%s】检测报告 %s,请尽快与客户沟通确定", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state]), "")
|
|
|
+ go wx.WxSend(r.T_collection, fmt.Sprintf("【%s-%s】检测报告 %s,请尽快与客户沟通确定", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state]))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已通过
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStatePass {
|
|
|
+ infoCollection, _ := InfoCollection.Read_InfoCollection(r.T_InfoCollection_id)
|
|
|
+ System.Add_News(infoCollection.T_submit_uuid, fmt.Sprintf("【%s-%s】检测报告 %s,请尽快与客户沟通确定", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state]), "")
|
|
|
+ go wx.WxSend(infoCollection.T_submit_uuid, fmt.Sprintf("【%s-%s】检测报告 %s,请尽快与客户沟通确定", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state]))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已退回(负责人)
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStateReturn {
|
|
|
+ System.Add_News(r.T_scheme, fmt.Sprintf("【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason), "")
|
|
|
+ go wx.WxSend(r.T_scheme, fmt.Sprintf("【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已退回(客户)
|
|
|
+ if T_examining_report_state == Task.TaskExaminingReportStateClientReturn {
|
|
|
+ System.Add_News(r.T_scheme, fmt.Sprintf("!!!【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason), "")
|
|
|
+ go wx.WxSend(r.T_scheme, fmt.Sprintf("!!!【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason))
|
|
|
+
|
|
|
+ System.Add_News(conf.VdelUuid, fmt.Sprintf("!!!【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason), "")
|
|
|
+ go wx.WxSend(conf.VdelUuid, fmt.Sprintf("!!!【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason))
|
|
|
+
|
|
|
+ go wx.WxSend(conf.BoosUuid, fmt.Sprintf("!!!【%s-%s】检测报告 %s,%s", company_r.T_name, r.T_name, Task.TaskExaminingReportStateMap[T_examining_report_state], T_reason))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加任务操作日志
|
|
|
+ Task.Add_TaskLogs_T(operate_uuid, T_task_id, "任务管理", "修改检测报告状态", r)
|
|
|
+ System.Add_UserLogs_T(operate_uuid, "任务管理", "修改检测报告状态", r)
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 修改原始数据状态
|
|
|
+func (c *TaskController) UpOriginalRecordState() {
|
|
|
+ Admin_r, Admin_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+
|
|
|
+ User_r, User_is := Account.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
|
|
|
+ if !Admin_is && !User_is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ operate_uuid := ""
|
|
|
+ if Admin_is {
|
|
|
+ operate_uuid = Admin_r.T_uuid
|
|
|
+ }
|
|
|
+ if User_is {
|
|
|
+ operate_uuid = User_r.T_uuid
|
|
|
+ }
|
|
|
+
|
|
|
+ T_original_record_state, _ := c.GetInt("T_original_record_state") // 1 已完成(客户通过) 5已退回(客户) 3已通过(报告负责人) 4已退回(报告负责人)
|
|
|
+ T_reason := c.GetString("T_reason") // 退回原因
|
|
|
+ T_signature := c.GetString("T_signature") // 通过后客户签名图片链接
|
|
|
+
|
|
|
+ T_task_id := c.GetString("T_task_id")
|
|
|
+ r, is := Task.Read_Task(T_task_id)
|
|
|
+ if !is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
|
|
|
+
|
|
|
+ clos := make([]string, 0)
|
|
|
+ if T_original_record_state > 0 {
|
|
|
+ r.T_original_record_state = T_original_record_state
|
|
|
+ clos = append(clos, "T_original_record_state")
|
|
|
+ }
|
|
|
+ if len(T_signature) > 0 {
|
|
|
+ r.T_original_record_signature = T_signature
|
|
|
+ clos = append(clos, "T_original_record_signature")
|
|
|
+ }
|
|
|
+
|
|
|
+ if T_original_record_state == Task.TaskOriginalRecordStateReturn {
|
|
|
+ r.T_original_record_return_times += 1
|
|
|
+ clos = append(clos, "T_original_record_return_times")
|
|
|
+ }
|
|
|
+
|
|
|
+ auditRecordJson, err := Task.Add_AuditRecord(r.T_original_record_audit_record, User_r.T_uuid, Admin_r.T_uuid, T_original_record_state, T_reason, "")
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ r.T_original_record_audit_record = auditRecordJson
|
|
|
+ clos = append(clos, "T_original_record_audit_record")
|
|
|
+
|
|
|
+ if !Task.Update_Task(r, clos...) {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已提交
|
|
|
+ if T_original_record_state == Task.TaskOriginalRecordStateSubmitted {
|
|
|
+ System.Add_News(r.T_collection, fmt.Sprintf("【%s-%s】原始数据 %s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state]), "")
|
|
|
+ go wx.WxSend(r.T_collection, fmt.Sprintf("【%s-%s】原始数据 %s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state]))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已通过
|
|
|
+ if T_original_record_state == Task.TaskOriginalRecordStatePass {
|
|
|
+ infoCollection, _ := InfoCollection.Read_InfoCollection(r.T_InfoCollection_id)
|
|
|
+ System.Add_News(infoCollection.T_submit_uuid, fmt.Sprintf("【%s-%s】原始数据 %s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state]), "")
|
|
|
+ go wx.WxSend(infoCollection.T_submit_uuid, fmt.Sprintf("【%s-%s】原始数据 %s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state]))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已退回(负责人)
|
|
|
+ if T_original_record_state == Task.TaskOriginalRecordStateReturn {
|
|
|
+ System.Add_News(r.T_scheme, fmt.Sprintf("【%s-%s】原始数据 %s,%s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state], T_reason), "")
|
|
|
+ go wx.WxSend(r.T_scheme, fmt.Sprintf("【%s-%s】原始数据 %s,%s", company_r.T_name, r.T_name, Task.TaskOriginalRecordStateMap[T_original_record_state], T_reason))
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加任务操作日志
|
|
|
+ Task.Add_TaskLogs_T(operate_uuid, T_task_id, "任务管理", "修改原始数据状态", r)
|
|
|
+ System.Add_UserLogs_T(operate_uuid, "任务管理", "修改原始数据状态", r)
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
// 进场 改成 方案开始
|
|
|
func (c *TaskController) EnterArea() {
|
|
|
// 验证登录 User_is, User_r
|
|
|
@@ -1998,6 +2278,22 @@ func (c *TaskController) AuditRecordList() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+ case "T_examining_report":
|
|
|
+ if len(r.T_examining_report_audit_record) > 0 {
|
|
|
+ err := json.Unmarshal([]byte(r.T_examining_report_audit_record), &auditRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case "T_original_record":
|
|
|
+ if len(r.T_original_record_audit_record) > 0 {
|
|
|
+ err := json.Unmarshal([]byte(r.T_original_record_audit_record), &auditRecordList)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("JSON 反序列化失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
|
|
|
@@ -2259,7 +2555,7 @@ func randomColor(i int) color.RGBA {
|
|
|
}
|
|
|
|
|
|
// 获取加完水印的pdf
|
|
|
-func GetWatermarkPdf(task Task.Task, pdfURL string, flag string) (pdf string) {
|
|
|
+func GetWatermarkPdf_command(task Task.Task, pdfURL string, flag string) (pdf string) {
|
|
|
if len(pdfURL) == 0 {
|
|
|
return
|
|
|
}
|
|
|
@@ -2304,6 +2600,95 @@ func GetWatermarkPdf(task Task.Task, pdfURL string, flag string) (pdf string) {
|
|
|
|
|
|
return
|
|
|
}
|
|
|
+func GetSignaturePdf_command(task Task.Task, pdfURL string, flag string) (pdf string) {
|
|
|
+ if len(pdfURL) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ currentDirectory := lib.GetCurrentDirectory()
|
|
|
+ scriptPath := currentDirectory + "/script"
|
|
|
+ pdf_file_out_name := uuid.New().String() + ".pdf"
|
|
|
+ pdfFilename := currentDirectory + "/ofile/" + uuid.New().String() + ".pdf"
|
|
|
+ pdf_file_out := currentDirectory + "/ofile/signature" + pdf_file_out_name
|
|
|
+ signature_img := currentDirectory + "/script/报告专用章.png"
|
|
|
+
|
|
|
+ // 执行Python脚本
|
|
|
+ cmd := exec.Command("python3", "add_signature.py", pdfURL, pdfFilename, signature_img, pdf_file_out)
|
|
|
+ cmd.Dir = scriptPath
|
|
|
+ // 获取命令输出
|
|
|
+ _, err := cmd.CombinedOutput()
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("执行python脚本添加公章错误:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ _, err = os.Stat(pdf_file_out)
|
|
|
+ if os.IsNotExist(err) {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+
|
|
|
+ lib.Pload_qiniu(pdf_file_out, pdf_file_out_name)
|
|
|
+ if !lib.Pload_qiniu(pdf_file_out, pdf_file_out) {
|
|
|
+ err = errors.New("上传水印pdf失败")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ os.Remove(pdfFilename)
|
|
|
+ os.Remove(pdf_file_out)
|
|
|
+ }()
|
|
|
+
|
|
|
+ pdf = "https://bzdcoldverifyoss.baozhida.cn/" + pdf_file_out_name
|
|
|
+
|
|
|
+ switch flag {
|
|
|
+ case "T_pdf1":
|
|
|
+ task.T_pdf1_signature = pdf
|
|
|
+ Task.Update_Task(task, "T_pdf1_signature")
|
|
|
+ case "T_pdf2":
|
|
|
+ task.T_pdf2_signature = pdf
|
|
|
+ Task.Update_Task(task, "T_pdf2_signature")
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetWatermarkPdf(task Task.Task, pdfURL string, flag string) (pdf string) {
|
|
|
+ if len(pdfURL) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加公章 T_pdf5为CNAS实验室 ,不添加公章
|
|
|
+ var signaturePdf, watermarkPdf string
|
|
|
+ var err error
|
|
|
+ if flag != "T_pdf5" {
|
|
|
+ signaturePdf, err = lib.GetSignaturePdf(pdfURL)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("获取加报告章pdf失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加水印
|
|
|
+ watermarkPdf, err = lib.GetWatermarkPdf(pdfURL)
|
|
|
+ if err != nil {
|
|
|
+ logs.Error("获取加水印pdf失败:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ switch flag {
|
|
|
+ case "T_pdf1":
|
|
|
+ task.T_pdf1_watermark = watermarkPdf
|
|
|
+ task.T_pdf1_signature = signaturePdf
|
|
|
+ Task.Update_Task(task, "T_pdf1_watermark", "T_pdf1_signature")
|
|
|
+ case "T_pdf2":
|
|
|
+ task.T_pdf2_watermark = watermarkPdf
|
|
|
+ task.T_pdf2_signature = signaturePdf
|
|
|
+ Task.Update_Task(task, "T_pdf2_watermark", "T_pdf2_signature")
|
|
|
+ case "T_pdf5":
|
|
|
+ task.T_pdf5_watermark = watermarkPdf
|
|
|
+ Task.Update_Task(task, "T_pdf5_watermark")
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
|
|
|
// 暂停申请
|
|
|
// 列表 -
|
|
|
@@ -2320,7 +2705,7 @@ func (c *TaskController) TaskTimeList() {
|
|
|
var r_jsons lib.R_JSONS
|
|
|
|
|
|
T_task_id := c.GetString("T_task_id")
|
|
|
- T_task_type, _ := c.GetInt("T_task_type", 0) // 公司名称
|
|
|
+ T_task_type, _ := c.GetInt("T_task_type", 0)
|
|
|
|
|
|
var cnt int64
|
|
|
List, cnt := Task.Read_TaskTime_List(T_task_id, T_task_type)
|
|
|
@@ -2600,7 +2985,7 @@ func (c *TaskController) Copy() {
|
|
|
return
|
|
|
}
|
|
|
var_ := Task.Task{
|
|
|
- T_Distributor_id: User_r.T_Distributor_id,
|
|
|
+ T_Distributor_id: r.T_Distributor_id,
|
|
|
T_InfoCollection_id: r.T_InfoCollection_id,
|
|
|
T_InfoTemplate_id: infoCollection.T_InfoTemplate_id,
|
|
|
T_start_time: infoCollection.T_start_time, // 项目开始时间使用信息采集开始时间
|
|
|
@@ -2632,6 +3017,7 @@ func (c *TaskController) Copy() {
|
|
|
T_temp_range: r.T_temp_range,
|
|
|
T_report_type: r.T_report_type,
|
|
|
T_device_quantity: r.T_device_quantity,
|
|
|
+ T_cnas: r.T_cnas,
|
|
|
}
|
|
|
var_.T_report_number, _ = Task.GenerateNextT_report_number(var_.T_device_type)
|
|
|
T_paste_task_id, is := Task.Add_Task(var_)
|
|
|
@@ -2953,14 +3339,14 @@ func (c *TaskController) TaskData_Stat() {
|
|
|
|
|
|
// SyncPDFWatermark 同步水印
|
|
|
func (c *TaskController) SyncPDFWatermark() {
|
|
|
- //List, _ := Task.Read_Task_List_For_Watermark("pdf1")
|
|
|
- //for _, task := range List {
|
|
|
- // GetWatermarkPdf(task, task.T_pdf1, "T_pdf1")
|
|
|
- //}
|
|
|
- //List2, _ := Task.Read_Task_List_For_Watermark("pdf2")
|
|
|
- //for _, task := range List2 {
|
|
|
- // GetWatermarkPdf(task, task.T_pdf2, "T_pdf2")
|
|
|
- //}
|
|
|
+ List, _ := Task.Read_Task_List_For_Watermark("pdf1")
|
|
|
+ for _, task := range List {
|
|
|
+ GetSignaturePdf_command(task, task.T_pdf1, "T_pdf1")
|
|
|
+ }
|
|
|
+ List2, _ := Task.Read_Task_List_For_Watermark("pdf2")
|
|
|
+ for _, task := range List2 {
|
|
|
+ GetSignaturePdf_command(task, task.T_pdf2, "T_pdf2")
|
|
|
+ }
|
|
|
c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
|
|
|
c.ServeJSON()
|
|
|
return
|