浏览代码

导出待删除准入项

lining 6 年之前
父节点
当前提交
43af302a38

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

@@ -4,6 +4,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierdataentry"
 	"dashoo.cn/backend/api/business/oilsupplier/supplierfile"
 	"dashoo.cn/backend/api/business/oilsupplier/tableheader"
 	"encoding/json"
@@ -20,6 +21,7 @@ import (
 
 	"dashoo.cn/backend/api/business/items"
 
+	"dashoo.cn/backend/api/business/workflow"
 	"dashoo.cn/backend/api/business/baseUser"
 	"dashoo.cn/backend/api/business/oilsupplier/goodsaptitude"
 	. "dashoo.cn/backend/api/controllers"
@@ -33,6 +35,16 @@ type OilGoodsAptitudeController struct {
 	BaseController
 }
 
+func structToMapDemo(obj interface{}) map[string]interface{} {
+	obj1 := reflect.TypeOf(obj)
+	obj2 := reflect.ValueOf(obj)
+	var data = make(map[string]interface{})
+	for i := 0; i < obj1.NumField(); i++ {
+		data[obj1.Field(i).Name] = obj2.Field(i).Interface()
+	}
+	return data
+}
+
 // @Title 获取列表
 // @Description get user by token
 // @Success 200 {object} []goodsaptitude.OilGoodsAptitude
@@ -1243,7 +1255,6 @@ func (this *OilGoodsAptitudeController) ImportExcel() {
 	columnArr := strings.Split(Fstrs, ",")
 
 	defer func() {
-		fmt.Println("=====================")
 		session.Close()
 	}()
 
@@ -2136,3 +2147,142 @@ func (this *OilGoodsAptitudeController) OilCompare() {
 	this.Data["json"] = &datainfo
 	this.ServeJSON()
 }
+
+// @Title 导出数据到word,作为导出pdf的中间步骤
+// @Description 数据存入word
+// @Success	200	{object} controllers.Request
+// @router /exportpdf/:tbid/:typecode  [post]
+func (this *OilGoodsAptitudeController) PdfExport() {
+	Id := this.Ctx.Input.Param(":tbid")
+	SupplierTypeCode := this.Ctx.Input.Param(":typecode")
+	var Url string
+	var fileName string
+	var model1 supplierdataentry.SupplierDataEntry
+	var model2 supplierdataentry.SupplierCertDataEntry
+
+	svc := supplierdataentry.GetSupplierDataEntryService(utils.DBE)
+	where1 := "1=1"
+	where1 += " AND Id = '" + Id + "'"
+	where2 := "SupplierId = '" + Id + "' and SupplierTypecode='"+ SupplierTypeCode +"'"
+	svc.GetEntityByWhere(OilSupplierName, where1, &model1)
+	svc.GetEntityByWhere(OilSupplierCertName, where2, &model2)
+
+	var tabledata []supplierdataentry.SupplierCertSubEntry
+	where3:="SupplierId = '" + Id + "' and SupplierTypecode='"+ SupplierTypeCode +"' and Type in ('1','3')"//准入状态的准入项
+	svc.GetEntitysByOrderbyWhere(TmpOilSupplierCertSubName, where3, "1", &tabledata)
+
+	datamap := structToMapDemo(model1.OilSupplier)
+	if model2.SupplierTypeCode == "01" {
+		Url = utils.Cfg.MustValue("workflow", "goodsPdfHost")
+		fileName = "待删除物资类准入范围.docx"
+	} else if model2.SupplierTypeCode == "02" {
+		Url = utils.Cfg.MustValue("workflow", "basisPdfHost")
+		fileName = "待删除基建类准入范围.docx"
+		datamap["TJInNotify"] = model1.TJInNotify
+	} else {
+		Url = utils.Cfg.MustValue("workflow", "techPdfHost")
+		fileName = "待删除技术服务类准入范围.docx"
+	}
+
+	//model1
+	datamap["SetupTime"] = model1.SetupTime.Format("2006年01月02日")
+	datamap["QualifCert"] = model1.QualifCert
+	datamap["QualifCertLevel"] = model1.QualifCertLevel
+	datamap["SpecIndustryCert"] = model1.SpecIndustryCert
+	datamap["MaunLicense"] = model1.MaunLicense
+	if model1.HseTraining == "1" {
+		datamap["HseTraining"] = "是"
+	} else {
+		datamap["HseTraining"] = "否"
+	}
+	if model1.OperType != "" {
+		if model1.OperType == "1" || model1.OperType == "制造商"{
+			datamap["OperType"] = "√制造商 □代理商 □贸易商"
+		}else if model1.OperType == "2" || model1.OperType == "代理商"{
+			datamap["OperType"] = "□制造商 √代理商 □贸易商"
+		}else if model1.OperType == "3" || model1.OperType == "代理商"{
+			datamap["OperType"] = "□制造商 □代理商 √贸易商"
+		}else {
+			datamap["OperType"] = "□制造商 □代理商 □贸易商"
+		}
+	}
+	if model1.SpecTypeCode != "" {
+		if model1.SpecTypeCode == "1"{
+			datamap["SpecTypeCode"] = "√一般外部 □多元企业"
+		}else if model1.SpecTypeCode == "2"{
+			datamap["SpecTypeCode"] = "□一般外部 √多元企业"
+		}else {
+			datamap["SpecTypeCode"] = "□一般外部 □多元企业"
+		}
+	}
+	if model1.Grade == "1"{
+		datamap["Grade"] = "一级"
+	}else if model1.SpecTypeCode == "2"{
+		datamap["Grade"] = "二级"
+	}
+	datamap["Fax"] = model1.Fax
+	datamap["CompanyTel"] = model1.CompanyTel
+	datamap["SupplierName"] = model1.SupplierName
+	datamap["Country"] = model1.Country
+	datamap["MaunAgent"] = model1.MaunAgent
+	datamap["SupplierCertificate"] = model1.SupplierCertificate
+	datamap["MgrUnit"] = model1.MgrUnit
+	datamap["CommercialNo"] = model1.CommercialNo
+	datamap["CountryTaxNo"] = model1.CountryTaxNo
+	datamap["OrganCode"] = model1.OrganCode
+	datamap["Address"] = model1.Address
+	datamap["ZipCode"] = model1.ZipCode
+	datamap["LinkAddress"] = model1.LinkAddress
+	datamap["LinkZipCode"] = model1.LinkZipCode
+	datamap["QualitySystemCert"] = model1.QualitySystemCert
+	datamap["ProductQualityCert"] = model1.ProductQualityCert
+	datamap["MaunLicense"] = model1.MaunLicense
+	datamap["LegalPerson"] = model1.LegalPerson
+	datamap["CompanyType"] = model1.CompanyType
+	datamap["ContactName"] = model1.ContactName
+	datamap["RegCapital"] = strconv.FormatFloat(model1.RegCapital,'f',2,64)+"万元"+model1.Currency
+	datamap["DepositBank"] = model1.DepositBank
+	datamap["BankAccount"] = model1.BankAccount
+	datamap["Mobile"] = model1.Mobile
+	datamap["EMail"] = model1.EMail
+	datamap["BankCreditRating"] = model1.BankCreditRating
+	datamap["BusinessScope"] = model1.BusinessScope
+	datamap["Telphone"] = model1.Telphone
+	datamap["AccessCardNo"] = model2.AccessCardNo
+	datamap["PrintYear"] = time.Now().Year()
+	datamap["PrintMonth"] = time.Now().Month()
+	datamap["PrintDay"] = time.Now().Day()
+
+	datamap["Name"] = ""
+
+	if len(tabledata) != 0 {
+		var Name string
+		Name = "\n待删除准入范围:"+ tabledata[0].Code
+		Name = Name + " " + tabledata[0].Name
+		var i int
+		for i = 1; i < len(tabledata); i++ {
+			Name += ";"
+			Name += tabledata[i].Code
+			Name = Name + " " + tabledata[i].Name
+		}
+		//if i == 100 {
+		//	Name += "(准入范围未完全显示,请到系统查看详情)"
+		//}
+
+		datamap["Name"] =datamap["Name"].(string) + Name
+	} else {
+		datamap["Name"] =datamap["Name"].(string)
+	}
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+
+
+	retDocUrl := svcActiviti.FillWordTemplate(datamap, Url, fileName)
+	var datainfo ErrorDataInfo
+	datainfo.Code = 0
+	datainfo.Item = retDocUrl
+	datainfo.Message = "准备导出"
+	this.Data["json"] = &datainfo
+	this.ServeJSON()
+
+}

+ 6 - 0
src/dashoo.cn/frontend_web/src/api/oilsupplier/goodsaptitude.js

@@ -145,5 +145,11 @@ export default {
       method: 'get',
       params: params
     })
+  },
+  pdfexport (tbid, typecode, myAxios) {
+    return myAxios({
+      url: '/goodsaptitude/exportpdf/' + tbid + '/' + typecode,
+      method: 'post'
+    })
   }
 }

+ 4 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/_opera/operation.vue

@@ -69,7 +69,10 @@
 
           <el-col :span="8">
             <el-form-item label="物资级别" label-width="110px">
-              <el-input v-model="formData.GoodsLevel" placeholder="请输入" style="width: 100%"></el-input>
+              <el-select size="mini" style="width:100px" v-model="formData.GoodsLevel" placeholder="请选择物资级别">
+                <el-option label="一级" value="1"></el-option>
+                <el-option label="二级" value="2"></el-option>
+              </el-select>
             </el-form-item>
           </el-col>
 

+ 43 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/goodsaptitude/_opera/showdelcertsub.vue

@@ -188,7 +188,7 @@
                   </el-form-item>
                   <el-form-item>
                     <el-button type="primary" size="mini" style="margin-left: 8px" @click="search">查询</el-button>
-                    <!--<el-button type="primary" @click="toPdf" size="mini" style="margin-left: 25px">下载准入范围</el-button>-->
+                    <el-button type="primary" @click="toPdf" size="mini" style="margin-left: 25px">下载待删除准入范围</el-button>
                   </el-form-item>
                 </el-form>
               </span>
@@ -401,6 +401,48 @@ export default {
   },
 
   methods: {
+    // 导出准入范围到pdf
+    toPdf () {
+      api.pdfexport(this.Id, this.SupplierTypeCode, this.$axios)
+        .then(res => {
+          // response
+          if (res.data.code === 0) {
+            // this.$message({
+            //   type: 'success'
+            //   message: res.data.message
+            // })
+            let docurl = res.data.item
+            let pdfurl
+            // 内网服务器专用
+            if (process.client && docurl.indexOf('upfile') === 0) {
+              const myDomain = window.location.host
+              // location.href = 'http://' + myDomain + '/' + docurl
+              pdfurl = 'http://' + process.env.LOCAL_IP + '/' + docurl
+              let requestParams = {
+                pdfUrl: pdfurl,
+                watermark: this.SupplierName
+              }
+              this.$axios.post('supplierdataentry/word-to-pdf-watermark', requestParams)
+                .then(function (res) {
+                  window.open('http://' + myDomain + '/' + res.data)
+                })
+            } else {
+              // location.href = 'http://' + docurl
+              pdfurl = 'http://' + docurl
+              let requestParams = {
+                pdfUrl: pdfurl,
+                watermark: this.SupplierName
+              }
+              this.$axios.post('supplierdataentry/word-to-pdf-watermark', requestParams)
+                .then(function (res) {
+                  window.open('http://' + res.data)
+                })
+            }
+          }
+        }).catch(err => {
+          console.error(err)
+        })
+    },
     delSupplierCertSub () {
       this.$confirm('此操作将删除缺少资质的准入项, 是否继续?', '提示', {
         confirmButtonText: '确定',