lining 6 年 前
コミット
f0cfdc67c9

+ 54 - 2
src/dashoo.cn/backend/api/business/workflow/ActivitiService.go

@@ -36,9 +36,9 @@ func GetActivitiService(xormEngine *xorm.Engine) *ActivitiService {
 	s.BaseUrl = utils.Cfg.MustValue("workflow", "BaseUrl")
 	//s.BaseUrl = "http://localhost:8081/api/acti"
 	s.AposeUrl = utils.Cfg.MustValue("workflow", "AposeUrl")
-	//s.OriginUrl = "http://192.168.0.120:8081/api"
+	//s.OriginUrl = "http://localhost:8081/api"
 	s.OriginUrl = utils.Cfg.MustValue("workflow", "OriginUrl")
-	//s.AposeUrl = "http://192.168.0.120:8081/api/apose"
+	//s.AposeUrl = "http://localhost:8081/api/apose"
 	//s.AposeUrl = "http://192.168.0.171:8081/api/apose"
 	s.Username = "leader"
 	s.Password = "123456"
@@ -501,3 +501,55 @@ func (this *ActivitiService) FillWordTemplate(datas map[string]interface{}, temp
 	fmt.Println("==retDocUrl==", retDocUrl)
 	return retDocUrl
 }
+
+// 带水印
+func (this *ActivitiService) FillWordWatermarkTemplate(datas map[string]interface{}, templateUrl string, fileName,watermark string) string {
+	var wordTempVM WordTemplateWatermarkVM
+	wordTempVM.Datas = datas
+	wordTempVM.TemplateUrl = templateUrl
+	wordTempVM.FileName = fileName
+	wordTempVM.Watermark = watermark
+
+	fmt.Println("==templateWatermarkUrl===", templateUrl)
+	jsonParam, err := json.Marshal(wordTempVM)
+	if err != nil {
+		fmt.Println(err, "生成json字符串错误")
+	}
+	params := string(jsonParam)
+	//token = Authorization(this.Username, this.Password)
+	retVal := this.PostOrigin("/word/fill-word-watermark", params, "")
+	if retVal.StatusCode != 200 {
+		return ""
+	}
+	//pdfByte, err := ioutil.ReadAll(retVal.Body)
+	//ioutil.WriteFile("E:\aa.pdf", pdfByte, 777)
+	//模板下载到服务器
+	_dir := utils.Cfg.MustValue("file", "tmplateDir") + "word"
+	utils.CreatePath(_dir)
+	_dir += "/tmp_" + strconv.Itoa(int(time.Now().Unix())) + ".docx"
+	raw := retVal.Body
+	defer raw.Close()
+
+	file, err := os.Create(_dir)
+	defer file.Close()
+	writer := bufio.NewWriter(file)
+	defer writer.Flush()
+	body, err := ioutil.ReadAll(raw)
+	writer.Write(body)
+
+	if err != nil {
+		return ""
+	}
+	var sw *Seaweed
+	var filer []string
+	if _filer := os.Getenv("GOSWFS_FILER_URL"); _filer != "" {
+		filer = []string{_filer}
+	}
+	sw = NewSeaweed("http", utils.Cfg.MustValue("file", "upFileHost"), filer, 2*1024*1024, 5*time.Minute)
+	//_, fID, err := sw.Upload(retVal.Body, "tmp.pdf", int64(len(pdfByte)), "", "")
+	_, _, fID, err := sw.UploadFile(_dir, "", "")
+	retDocUrl := utils.Cfg.MustValue("file", "downFileHost") + "/" + fID
+	os.Remove(_dir)
+	fmt.Println("==retDocWatermarkUrl==", retDocUrl)
+	return retDocUrl
+}

+ 10 - 3
src/dashoo.cn/backend/api/business/workflow/workflow.go

@@ -26,7 +26,7 @@ type ActiMyTasksVM struct {
 
 type ActiMyTasksRetWithTimeVM struct {
 	BusinessKey string `json:"businessKey"`
-	WorkflowId string  `json:"workflowId"`
+	WorkflowId  string `json:"workflowId"`
 	CreateTime  int64  `json:"createTime"`
 }
 
@@ -54,6 +54,13 @@ type WordTemplateVM struct {
 	FileName    string                 `json:"fileName"`
 }
 
+type WordTemplateWatermarkVM struct {
+	Datas       map[string]interface{} `json:"datas"`
+	TemplateUrl string                 `json:"templateUrl"`
+	FileName    string                 `json:"fileName"`
+	Watermark   string                 `json:"watermark"`
+}
+
 type MultiActiCompleteVM struct {
 	ProcessKey     string            `json:"processKey"`
 	BusinessKey    string            `json:"businessKey"`
@@ -106,7 +113,7 @@ const (
 	//业务步骤编码 初审
 	FIRST_TRIAL string = "FIRST_TRIAL"
 	// 复审
-	SECOND_TRIAL string= "SECOND_TRIAL"
+	SECOND_TRIAL string = "SECOND_TRIAL"
 	//专业处室接收
 	PROF_RECE string = "PROF_RECE"
 
@@ -135,4 +142,4 @@ type TableDetailData struct {
 	Cols       []string      `json:"cols"`
 	Merge      []string      `json:"merge"`
 	ColsNum    int           `json:"colsNum"`
-}
+}

+ 1 - 1
src/dashoo.cn/backend/api/controllers/oilsupplier/supplierdataentry.go

@@ -245,7 +245,7 @@ func (this *SupplierDataEntryController) DocExport() {
 	}
 	datamap["TableComment"] = []string{"MajorEquipments", "ThreeYears", "Patent", "Winning"}
 
-	retDocUrl := svcActiviti.FillWordTemplate(datamap, Url, fileName)
+	retDocUrl := svcActiviti.FillWordWatermarkTemplate(datamap, Url, fileName, model1.SupplierName)
 	var datainfo ErrorDataInfo
 	datainfo.Code = 0
 	datainfo.Item = retDocUrl