|
|
@@ -4,6 +4,8 @@ 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/supplierfile"
|
|
|
+ "dashoo.cn/backend/api/business/oilsupplier/tableheader"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
@@ -1423,11 +1425,15 @@ func (this *OilGoodsAptitudeController) InsertGoodsAptitude() {
|
|
|
// @router /updatasuppiercertsub [get]
|
|
|
func (this *OilGoodsAptitudeController) UpdataSuppierCertSub() {
|
|
|
|
|
|
+ excelFileName := "F:/ssa.xlsx"
|
|
|
+ xlFile, _ := xlsx.OpenFile(excelFileName)
|
|
|
+ var sheet = xlFile.Sheets[0]
|
|
|
+
|
|
|
t := time.Now()
|
|
|
|
|
|
supsvc := supplier.GetOilSupplierService(utils.DBE)
|
|
|
var suppliercertList []suppliercert.OilSupplierCert
|
|
|
- where := "SupplierTypeCode='01' and InFlag != '3' "
|
|
|
+ where := "SupplierTypeCode='01' AND OutsideFlog = '' AND (InFlag IN ('1','2')) "
|
|
|
supsvc.GetEntities(&suppliercertList, where)
|
|
|
|
|
|
var goodsaptitudeClassList []goodsaptitudeclass.OilGoodsAptitudeClass
|
|
|
@@ -1436,31 +1442,93 @@ func (this *OilGoodsAptitudeController) UpdataSuppierCertSub() {
|
|
|
|
|
|
var colsname = []string{"Name"}
|
|
|
for _, suppliercert := range suppliercertList {
|
|
|
+ row := sheet.AddRow()
|
|
|
+ cell := row.AddCell()
|
|
|
+ cell.Value = strconv.Itoa(suppliercert.SupplierId)
|
|
|
log.Println(suppliercert.SupplierId)
|
|
|
var supplierCertSubList []suppliercertsub.OilSupplierCertSub
|
|
|
- wheresup := "SupplierId = " + strconv.Itoa(suppliercert.SupplierId) + " and SupplierTypeCode='01'"
|
|
|
+ wheresup := "SupplierId = " + strconv.Itoa(suppliercert.SupplierId) + " and SupplierTypeCode='01' AND Type IN ('1', '3')"
|
|
|
supsvc.GetEntities(&supplierCertSubList, wheresup)
|
|
|
fmt.Println(len(supplierCertSubList))
|
|
|
- for _, supplierCertSub := range supplierCertSubList {
|
|
|
+ // 准入项
|
|
|
+ //for idx, supplierCertSub := range supplierCertSubList {
|
|
|
+
|
|
|
+ for idx :=0; idx < len(supplierCertSubList); idx++{
|
|
|
+ row := sheet.AddRow()
|
|
|
+ cell := row.AddCell()
|
|
|
+ cell.Value = "删除"
|
|
|
+
|
|
|
+ supplierCertSub := supplierCertSubList[idx]
|
|
|
+ decCode := supplierCertSub.Code
|
|
|
+ // 物资类的准入编码
|
|
|
for _, goodsaptitudeClass := range goodsaptitudeClassList {
|
|
|
+ // 如果编码相同的后 判断有没有改名 然后查询准入项需要哪些资质 去查资质表里有没有这些资质 没有就删除这个准入项
|
|
|
if supplierCertSub.Code == goodsaptitudeClass.Code {
|
|
|
- if supplierCertSub.Name != goodsaptitudeClass.Name {
|
|
|
- var entity suppliercertsub.OilSupplierCertSub
|
|
|
- entity.Name = goodsaptitudeClass.Name
|
|
|
- where := "Id = " + strconv.Itoa(supplierCertSub.Id)
|
|
|
- supsvc.UpdateEntityBywheretbl(OilSupplierCertSubName, &entity, colsname, where)
|
|
|
+ decCode = ""
|
|
|
+ goodsAptitudeNameArr := this.GetGoodsAptitudeName(strconv.Itoa(goodsaptitudeClass.Id), strconv.Itoa(supplierCertSub.IsManufacturer))
|
|
|
+ for _, val := range goodsAptitudeNameArr {
|
|
|
+ var supplierFile supplierfile.OilSupplierFile
|
|
|
+ where := "SupplierId=" + strconv.Itoa(suppliercert.SupplierId) + " and NeedFileType='" + val + "'" + " and SupplierTypeCode IN ('000', '01')"
|
|
|
+ has := supsvc.GetEntityByWhere(OilSupplierFileName, where, &supplierFile)
|
|
|
+ if !has {
|
|
|
+ cell := row.AddCell()
|
|
|
+ cell.Value = supplierCertSub.Code + " " + supplierCertSub.Name
|
|
|
+ log.Println(supplierCertSub.Code + "====" + val)
|
|
|
+ wheredel := "Id = " + strconv.Itoa(supplierCertSub.Id)
|
|
|
+ supsvc.DeleteEntityBytbl(OilSupplierCertSubName, wheredel)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ if supplierCertSub.Name != goodsaptitudeClass.Name {
|
|
|
+ row := sheet.AddRow()
|
|
|
+ cell := row.AddCell()
|
|
|
+ cell.Value = supplierCertSub.Code + ":" + supplierCertSub.Name + "==" + goodsaptitudeClass.Name
|
|
|
+ var entity suppliercertsub.OilSupplierCertSub
|
|
|
+ entity.Name = goodsaptitudeClass.Name
|
|
|
+ where := "Id = " + strconv.Itoa(supplierCertSub.Id)
|
|
|
+ supsvc.UpdateEntityBywheretbl(OilSupplierCertSubName, &entity, colsname, where)
|
|
|
+ }
|
|
|
}
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
+ if decCode != "" {
|
|
|
+ wheredel := "Code = '" + decCode + "'"
|
|
|
+ supsvc.DeleteEntityBytbl(OilSupplierCertSubName, wheredel)
|
|
|
+ }
|
|
|
+ cell1 := row.AddCell()
|
|
|
+ cell1.Value = decCode
|
|
|
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
elapsed := time.Since(t)
|
|
|
log.Println(elapsed)
|
|
|
+ xlFile.Save(excelFileName)
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+func (this *OilGoodsAptitudeController) GetGoodsAptitudeName(classId, IsManuf string) []string {
|
|
|
+
|
|
|
+ var goodsAptitudeName string
|
|
|
+
|
|
|
+ var goodsAptitudeList []goodsaptitude.OilGoodsAptitudeF
|
|
|
+ svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
|
|
|
+ where := "ClassId=" + classId
|
|
|
+ svc.GetGoodsAptitudeF(&goodsAptitudeList, where)
|
|
|
+
|
|
|
+ for _, goodsAptitude := range goodsAptitudeList {
|
|
|
+ t := reflect.TypeOf(goodsAptitude)
|
|
|
+ v := reflect.ValueOf(goodsAptitude)
|
|
|
+ for k := 0; k < t.NumField(); k++ {
|
|
|
+ if v.Field(k).Interface() == "1" {
|
|
|
+ var tableHeader tableheader.BaseTableheader
|
|
|
+ where := "Code='" + t.Field(k).Name + "' and IsManuf in ('0','" + IsManuf + "')"
|
|
|
+ has := svc.GetEntityByWhere(BaseTableHeader, where, &tableHeader)
|
|
|
+ if has {
|
|
|
+ goodsAptitudeName += tableHeader.Name + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ return strings.Split(goodsAptitudeName, ",")
|
|
|
}
|