Sfoglia il codice sorgente

匹配准入项删除

lining 6 anni fa
parent
commit
6cc93dc60e

+ 49 - 0
src/dashoo.cn/backend/api/business/oilsupplier/goodsaptitude/oilgoodsaptitude.go

@@ -242,4 +242,53 @@ type Tmp_OilGoodsAptitude struct {
 	ModifiedOn        time.Time `xorm:"DATETIME"`
 	ModifiedUserId    int       `xorm:"INT(10)"`
 	ModifiedBy        string    `xorm:"VARCHAR(50)"`
+}
+
+type OilGoodsAptitudeF struct {
+	F01               string    `xorm:"default '' VARCHAR(2)"`
+	F02               string    `xorm:"default '' VARCHAR(2)"`
+	F03               string    `xorm:"default '' VARCHAR(2)"`
+	F04               string    `xorm:"default '' VARCHAR(2)"`
+	F05               string    `xorm:"default '' VARCHAR(2)"`
+	F06               string    `xorm:"default '' VARCHAR(2)"`
+	F07               string    `xorm:"default '' VARCHAR(2)"`
+	F08               string    `xorm:"default '' VARCHAR(2)"`
+	F09               string    `xorm:"default '' VARCHAR(2)"`
+	F10               string    `xorm:"default '' VARCHAR(2)"`
+	F11               string    `xorm:"default '' VARCHAR(2)"`
+	F12               string    `xorm:"default '' VARCHAR(2)"`
+	F13               string    `xorm:"default '' VARCHAR(2)"`
+	F14               string    `xorm:"default '' VARCHAR(2)"`
+	F15               string    `xorm:"default '' VARCHAR(2)"`
+	F16               string    `xorm:"default '' VARCHAR(2)"`
+	F17               string    `xorm:"default '' VARCHAR(2)"`
+	F18               string    `xorm:"default '' VARCHAR(2)"`
+	F19               string    `xorm:"default '' VARCHAR(2)"`
+	F20               string    `xorm:"default '' VARCHAR(2)"`
+	F21               string    `xorm:"default '' VARCHAR(2)"`
+	F22               string    `xorm:"default '' VARCHAR(2)"`
+	F23               string    `xorm:"default '' VARCHAR(2)"`
+	F24               string    `xorm:"default '' VARCHAR(2)"`
+	F25               string    `xorm:"default '' VARCHAR(2)"`
+	F26               string    `xorm:"default '' VARCHAR(2)"`
+	F27               string    `xorm:"default '' VARCHAR(2)"`
+	F28               string    `xorm:"default '' VARCHAR(2)"`
+	F29               string    `xorm:"default '' VARCHAR(2)"`
+	F30               string    `xorm:"default '' VARCHAR(2)"`
+	F31               string    `xorm:"default '' VARCHAR(2)"`
+	F32               string    `xorm:"default '' VARCHAR(2)"`
+	F33               string    `xorm:"default '' VARCHAR(2)"`
+	F34               string    `xorm:"default '' VARCHAR(2)"`
+	F35               string    `xorm:"default '' VARCHAR(2)"`
+	F36               string    `xorm:"default '' VARCHAR(2)"`
+	F37               string    `xorm:"default '' VARCHAR(2)"`
+	F38               string    `xorm:"default '' VARCHAR(2)"`
+	F39               string    `xorm:"default '' VARCHAR(2)"`
+	F40               string    `xorm:"default '' VARCHAR(2)"`
+	F41               string    `xorm:"default '' VARCHAR(2)"`
+	F42               string    `xorm:"default '' VARCHAR(2)"`
+	F43               string    `xorm:"default '' VARCHAR(2)"`
+	F44               string    `xorm:"default '' VARCHAR(2)"`
+	F45               string    `xorm:"default '' VARCHAR(2)"`
+	F46               string    `xorm:"default '' VARCHAR(2)"`
 }

+ 14 - 0
src/dashoo.cn/backend/api/business/oilsupplier/goodsaptitude/oilgoodsaptitudeService.go

@@ -111,4 +111,18 @@ func (s *OilGoodsAptitudeService) GetFCode() string {
 		return ""
 	}
 	return results[0]["FCodes"]
+}
+
+func (s *OilGoodsAptitudeService) GetGoodsAptitudeF(entity interface{}, where string) error {
+	sql := "select F01,F02,F03,F04,F05,F06,F07,F08,F09,F10,"
+	sql += "F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,"
+	sql += "F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,"
+	sql += "F31,F32,F33,F34,F35,F36,F37,F38,F39,F40,"
+	sql += "F41,F42,F43,F44,F45,F46 from OilGoodsAptitude "
+	if where != "" {
+		sql = sql + " where " + where
+	}
+	err := s.DBE.Sql(sql).Find(entity)
+
+	return err
 }

+ 79 - 11
src/dashoo.cn/backend/api/controllers/oilsupplier/goodsaptitude.go

@@ -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, ",")
 }

+ 49 - 0
src/dashoo.cn/backend/api/controllers/tmpzcgf/tmpzcgf.go

@@ -1,6 +1,7 @@
 package tmpzcgf
 
 import (
+	"dashoo.cn/backend/api/business/oilsupplier/goodsaptitudeclass"
 	"dashoo.cn/backend/api/business/oilsupplier/infochange"
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
@@ -9,6 +10,7 @@ import (
 	. "dashoo.cn/backend/api/controllers"
 	"dashoo.cn/utils"
 	"fmt"
+	"strconv"
 	"time"
 )
 
@@ -636,3 +638,50 @@ func (this *TmpzcgfController) DelBadRecord() {
 	elapsed := time.Since(t)
 	fmt.Println(elapsed)
 }
+
+// @Title OilSupplierCertSub表编码扩容 6位==》8位
+// @Description get user by token
+// @Success 200 {object}
+// @router /capacityexpansion [get]
+func (this *TmpzcgfController) CapacityExpansion() {
+	t := time.Now()
+
+	svc := supplier.GetOilSupplierService(utils.DBE)
+	var suppliercertList []suppliercert.OilSupplierCert
+	where := "SupplierTypeCode='01' and InFlag != '3' "
+	svc.GetEntities(&suppliercertList, where)
+
+	// 供应商
+	for _, suppliercert :=  range suppliercertList {
+		var supplierCertSubList []suppliercertsub.OilSupplierCertSub
+		wheresup := "SupplierId = " + strconv.Itoa(suppliercert.SupplierId) + " and SupplierTypeCode='01' and LENGTH(CODE) != 8 "
+		svc.GetEntities(&supplierCertSubList, wheresup)
+		// 准入项
+		for _, supplierCertSub := range supplierCertSubList {
+			var goodsAptitudeClassList []goodsaptitudeclass.OilGoodsAptitudeClass
+			whereclass := "Code like '" + supplierCertSub.Code + "%' and LENGTH(CODE) = 8"
+			svc.GetEntities(&goodsAptitudeClassList, whereclass)
+			// 扩充的编码
+			var entitys = make([]suppliercertsub.OilSupplierCertSub, len(goodsAptitudeClassList))
+			for idx, goodsAptitudeClass := range goodsAptitudeClassList {
+				entitys[idx].SupplierId = supplierCertSub.SupplierId
+				entitys[idx].SupplierCertId = supplierCertSub.SupplierCertId
+				entitys[idx].SupplierTypeCode = supplierCertSub.SupplierTypeCode
+				entitys[idx].AppendStatus = supplierCertSub.AppendStatus
+				entitys[idx].Type = supplierCertSub.Type
+				entitys[idx].Name = goodsAptitudeClass.Name
+				entitys[idx].Code = goodsAptitudeClass.Code
+				entitys[idx].CertSubStatus = supplierCertSub.CertSubStatus
+				entitys[idx].Remark = "编码扩充"
+			}
+			svc.InsertEntityBytbl(OilSupplierCertSubName, &entitys)
+		}
+
+
+	}
+
+
+	elapsed := time.Since(t)
+	fmt.Println(elapsed)
+
+}

+ 0 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplierappend/_opera/goodsdataopera.vue

@@ -306,7 +306,6 @@
             </el-row>
             <el-row :gutter="20" style="height: calc(100vh - 450px); overflow: auto; margin-top:20px">
               <el-col :span="20">
-                {{switchstatus}}
                 <el-tree v-show="!switchstatus" highlight-current :expand-on-click-node="true" node-key="CodeName"
                          :data="orgtreelist" :props="orgtreeprops" ref="orgmanagetree" check-on-click-node show-checkbox lazy
                          :load="getChildrens" :filter-node-method="filterNode">

+ 6 - 0
src/dashoo.cn/frontend_web/src/pages/system/tmpzcgf.vue

@@ -26,6 +26,7 @@
          <el-col :span="24">
            <el-button size="mini" type="primary" @click="insertCertSub" v-loading.fullscreen.lock="fullscreenLoading">导入CertSub表</el-button>
            <el-button size="mini" type="primary" @click="updateCertSub" v-loading.fullscreen.lock="fullscreenLoading">更新CertSub表</el-button>
+           <el-button size="mini" type="primary" @click="capacityexpansion" v-loading.fullscreen.lock="fullscreenLoading">更新CertSub表的编码</el-button>
          </el-col>
        </el-row>
 
@@ -101,6 +102,11 @@
     created () {
     },
     methods: {
+      capacityexpansion () {
+        this.$axios.get('tmpzcgf/capacityexpansion')
+          .then(res => {
+          })
+      },
       start () {
         this.datadialogVisible = true
         this.time = setInterval(this.timer, 50)