Explorar o código

后端:准入 增项 年审 信息变更 记录快照

baichengfei %!s(int64=5) %!d(string=hai) anos
pai
achega
6f95471041

+ 25 - 0
src/dashoo.cn/backend/api/business/oilsupplier/supplierlog/supplierlog.go

@@ -0,0 +1,25 @@
+package supplierlog
+
+import (
+	"time"
+)
+
+type OilSupplierLog struct {
+	Id                int       `xorm:"not null pk autoincr INT(10)"`
+	SupplierId        int       `xorm:"INT(10)"`
+	SourceID          int       `xorm:"INT(10)"`      // 源数据ID(申请的ID)
+	NewSupplierName   string    `xorm:"VARCHAR(255)"` // 新公司名称
+	NewCommercialNo   string    `xorm:"VARCHAR(255)"` // 新统一社会信用代码
+	OperType          int       `xorm:"INT(10)"`      // 快照类型 1准入 2增项 3年审 4资质信息变更
+	CertFile          string    `xorm:"TEXT"`         // 企业资质列表
+	CertSub           string    `xorm:"TEXT"`         // 企业资质列表
+	AgencyManufacture string    `xorm:"TEXT"`         // 所代理制造商名称列表
+	InspectionReport  string    `xorm:"TEXT"`         // 现场考察报告列表
+	BaseInfo          string    `xorm:"TEXT"`         // 企业基本信息
+	Equipment         string    `xorm:"TEXT"`         // 主要设备
+	Performance       string    `xorm:"TEXT"`         // 近三年主要业绩
+	Patent            string    `xorm:"TEXT"`         // 专利及专有技术
+	AwardProject      string    `xorm:"TEXT"`         // 近三年省部级及以上获奖项目
+	Remark            string    `xorm:"TEXT"`         // 日志备注
+	CreateOn          time.Time `xorm:"DATETIME created"`
+}

+ 313 - 0
src/dashoo.cn/backend/api/business/oilsupplier/supplierlog/supplierlogService.go

@@ -0,0 +1,313 @@
+package supplierlog
+
+import (
+	"dashoo.cn/backend/api/business/oilsupplier/annualaudit"
+	"dashoo.cn/backend/api/business/oilsupplier/infochange"
+	"dashoo.cn/backend/api/business/oilsupplier/majorequip"
+	"dashoo.cn/backend/api/business/oilsupplier/manufacturer"
+	"dashoo.cn/backend/api/business/oilsupplier/patent"
+	"dashoo.cn/backend/api/business/oilsupplier/performance"
+	"dashoo.cn/backend/api/business/oilsupplier/qualchange"
+	"dashoo.cn/backend/api/business/oilsupplier/supplier"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierfile"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierscenefile"
+	"dashoo.cn/backend/api/business/oilsupplier/winning"
+	. "dashoo.cn/backend/api/mydb"
+	"dashoo.cn/utils"
+	"encoding/json"
+	"log"
+	"strconv"
+	"time"
+
+	//"dashoo.cn/utils"
+	//. "dashoo.cn/utils/db"
+	"github.com/go-xorm/xorm"
+)
+
+type SupplierlogService struct {
+	MyServiceBase
+}
+
+func GetSupplierLogService(xormEngine *xorm.Engine) *SupplierlogService {
+	s := new(SupplierlogService)
+	s.DBE = xormEngine
+	return s
+}
+
+// 准入
+func (s *SupplierlogService) SaveSupplierLogForAccess(supplierId int, supplierCertId int) {
+	var model OilSupplierLog
+	s.GetEntityByWhere("OilSupplierLog", "SupplierId="+strconv.Itoa(supplierId)+" and SourceId= "+strconv.Itoa(supplierCertId)+" and OperType=1", &model)
+	if model.Id <= 0 {
+		// 准入申请信息--包含人员结构信息
+		certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
+		var supplierCertEntity suppliercert.OilSupplierCert
+		certSrv.GetEntityById(supplierCertId, &supplierCertEntity)
+
+		whereSupplierCert := "SupplierCertId=" + strconv.Itoa(supplierCertId)
+		whereSupplier := "SupplierId=" + strconv.Itoa(supplierCertEntity.SupplierId)
+		// 企业基本信息
+		supplierSrv := supplier.GetOilSupplierService(utils.DBE)
+		var supplierEntity supplier.OilSupplier
+		supplierSrv.GetEntityById(supplierCertEntity.SupplierId, &supplierEntity)
+		// 所代理制造商名称
+		manufSrv := manufacturer.GetmanufacturerService(utils.DBE)
+		var manufList []manufacturer.Manufacturer
+		manufSrv.GetEntitysByWhere("Manufacturer", whereSupplierCert, &manufList)
+		// 现场考察报告列表
+		sceneFileSrv := supplierscenefile.GetSupplierScenefileService(utils.DBE)
+		var sceneFileList []supplierscenefile.OilSupplierSceneFile
+		sceneFileSrv.GetEntitysByWhere("OilSupplierFile", whereSupplier, &sceneFileList)
+		// 主要设备
+		majorEquipmentSrv := majorequip.GetMajorequipService(utils.DBE)
+		var majorEquipmentList []majorequip.OilEnterpriseMajorEquipment
+		majorEquipmentSrv.GetEntitysByWhere("OilEnterpriseMajorEquipment", whereSupplierCert, &majorEquipmentList)
+		// 近三年主要业绩
+		threeYearsPerformanceSrv := performance.GetPerformanceService(utils.DBE)
+		var threeYearsPerformanceList []performance.OilThreeYearsPerformance
+		threeYearsPerformanceSrv.GetEntitysByWhere("OilThreeYearsPerformance", whereSupplierCert, &threeYearsPerformanceList)
+		// 专利及专有技术
+		patentTechSrv := patent.GetPatentService(utils.DBE)
+		var patentTechList []patent.OilPatentStatistical
+		patentTechSrv.GetEntitysByWhere("OilPatentStatistical", whereSupplierCert, &patentTechList)
+		// 近三年省部级及以上获奖项目
+		winningProSrv := winning.GetWinningService(utils.DBE)
+		var winingProList []winning.OilWinningProject
+		winningProSrv.GetEntitysByWhere("OilWinningProject", whereSupplierCert, &winingProList)
+		// 企业资质
+		certFileSrv := supplierfile.GetSupplierfileService(utils.DBE)
+		var certFileList []supplierfile.OilSupplierFile
+		certFileSrv.GetEntitysByWhere("OilSupplierFile", whereSupplier, &certFileList)
+		// 准入范围
+		certSubSrv := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
+		var certSubList []suppliercertsub.OilSupplierCertSub
+		certSubSrv.GetEntitysByWhere("OilSupplierCertSub", whereSupplier+" and Type=1 and "+whereSupplierCert+" and TypeCode="+supplierCertEntity.SupplierTypeCode, &certSubList)
+
+		// json 化数据
+		supplierBaseInfo, _ := json.Marshal(supplierEntity)
+		agencyManufacture, _ := json.Marshal(manufList)
+		inspectionReport, _ := json.Marshal(sceneFileList)
+		majorEquipment, _ := json.Marshal(majorEquipmentList)
+		threeYearsPerformance, _ := json.Marshal(threeYearsPerformanceList)
+		patentTech, _ := json.Marshal(patentTechList)
+		winingPro, _ := json.Marshal(winingProList)
+		certFile, _ := json.Marshal(certFileList)
+		certSub, _ := json.Marshal(certSubList)
+
+		// 插入日志信息
+		var model OilSupplierLog
+		model.SupplierId = supplierId
+		model.SourceID = supplierCertEntity.Id
+		model.NewSupplierName = supplierEntity.SupplierName
+		model.NewCommercialNo = supplierEntity.CommercialNo
+		model.OperType = 1
+		model.BaseInfo = string(supplierBaseInfo)
+		model.AgencyManufacture = string(agencyManufacture)
+		model.InspectionReport = string(inspectionReport)
+		model.Equipment = string(majorEquipment)
+		model.Performance = string(threeYearsPerformance)
+		model.Patent = string(patentTech)
+		model.AwardProject = string(winingPro)
+		model.CertFile = string(certFile)
+		model.CertSub = string(certSub)
+		model.CreateOn = time.Now()
+		_, err := s.InsertEntity(&model)
+		if err != nil {
+			log.Println(err)
+		}
+	} else {
+		log.Println("不存在")
+	}
+}
+
+// 增项
+func (s *SupplierlogService) SaveSupplierLogForAppend(supplierId int, supplierCertAppendId int) {
+	var model OilSupplierLog
+	s.GetEntityByWhere("OilSupplierLog", "SupplierId="+strconv.Itoa(supplierId)+" and SourceId= "+strconv.Itoa(supplierCertAppendId)+" and OperType=2", &model)
+	if model.Id <= 0 {
+		// 增项申请信息
+		appendCertSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
+		var appendCertEntity suppliercertappend.OilSupplierCertAppend
+		appendCertSrv.GetEntityById(supplierCertAppendId, &appendCertEntity)
+
+		whereSupplierCertAppend := " SupplierCertAppendId=" + strconv.Itoa(supplierCertAppendId)
+		whereSupplier := " SupplierId=" + strconv.Itoa(appendCertEntity.SupplierId)
+		// 原企业基本信息
+		//svc.GetEntityByIdBytbl(OilSupplierName, Id, &model)
+		supplierSrv := supplier.GetOilSupplierService(utils.DBE)
+		var supplierEntity supplier.OilSupplier
+		supplierSrv.GetEntityById(appendCertEntity.SupplierId, &supplierEntity)
+		// 企业基本信息 变更项
+		var changeInfoItems []suppliercertappendsub.OilAppendChangeItem
+		where := " SupplierId = " + strconv.Itoa(supplierId) + " and InfoId =" + strconv.Itoa(supplierCertAppendId)
+		where = where + " and ChangeStatus = 0"
+		supplierSrv.GetEntitysByWhere("OilAppendChangeItem", where, &changeInfoItems)
+
+		// 企业资质
+		var appendCertFileList []suppliercertappendsub.OilAppendChangeDetail
+		appendWhere := " a.SupplierId = " + strconv.Itoa(supplierId)
+		appendWhere = appendWhere + " and a.SupplierTypeCode in ( '000', '" + appendCertEntity.AppendType + "')"
+		appendCertSubSrv := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
+		appendCertSubSrv.GetQualPagingEntities("OilSupplierFile", "OilAppendChangeDetail", 1, 100, "a.Id", true, &appendCertFileList, appendWhere, strconv.Itoa(supplierCertAppendId))
+		// 准入范围 Type是3的就是本次新增的
+		certSubSrv := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
+		var certSubList []suppliercertsub.OilSupplierCertSub
+		certSubSrv.GetEntitysByWhere("OilSupplierCertSub", whereSupplier+" and "+whereSupplierCertAppend+" and Type IN ('1', '3') and SupplierTypeCode IN ('000', '"+appendCertEntity.AppendType+"')", &certSubList)
+		// json 化数据 SupplierTypeCode
+		supplierBaseInfo, _ := json.Marshal(supplierEntity)
+		supplierBaseInfoChangeItem, _ := json.Marshal(changeInfoItems)
+		certFile, _ := json.Marshal(appendCertFileList)
+		certSub, _ := json.Marshal(certSubList)
+
+		// 插入日志信息
+		var model OilSupplierLog
+		model.SupplierId = supplierId
+		model.SourceID = supplierCertAppendId
+		model.NewSupplierName = supplierEntity.SupplierName
+		model.NewCommercialNo = supplierEntity.CommercialNo
+		model.OperType = 2
+		model.BaseInfo = string(supplierBaseInfo) + "&& " + string(supplierBaseInfoChangeItem)
+		model.CertFile = string(certFile)
+		model.CertSub = string(certSub)
+		model.CreateOn = time.Now()
+		_, err := s.InsertEntity(&model)
+		if err != nil {
+			log.Println(err)
+		}
+	} else {
+		log.Println("已存在")
+	}
+}
+
+// 年审
+func (s *SupplierlogService) SaveSupplierLogForAnnual(supplierId int, annualId int) {
+	var model OilSupplierLog
+	s.GetEntityByWhere("OilSupplierLog", "SupplierId="+strconv.Itoa(supplierId)+" and SourceId= "+strconv.Itoa(annualId)+" and OperType=3", &model)
+	if model.Id <= 0 {
+		// 年审申请信息
+		annualSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
+		var annualEntity annualaudit.OilAnnualAudit
+		annualSrv.GetEntityById(annualId, &annualEntity)
+
+		// 原企业基本信息
+		//svc.GetEntityByIdBytbl(OilSupplierName, Id, &model)
+		supplierSrv := supplier.GetOilSupplierService(utils.DBE)
+		var supplierEntity supplier.OilSupplier
+		supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
+		// 企业基本信息 变更项
+		var changeInfoItems []infochange.OilAnnualChangeItem
+		whereAnnual := " InfoId = " + strconv.Itoa(annualId)
+		supplierSrv.GetEntitysByWhere("OilAnnualChangeItem", whereAnnual, &changeInfoItems)
+
+		// 企业资质
+		var annualCertFileList []qualchange.OilQualChangeDetail
+		annualWhere := " a.SupplierId = " + strconv.Itoa(supplierId)
+		annualWhere = annualWhere + " and a.SupplierTypeCode in ( '000', '" + annualEntity.SupplierTypeName + "')"
+		annualCertSubSrv := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
+		annualCertSubSrv.GetQualPagingEntities("OilSupplierFile", "OilAnnualChangeDetail", 1, 100, "a.Id", true, &annualCertFileList, annualWhere, strconv.Itoa(annualId))
+
+		whereSupplierCert := "SupplierCertId=" + strconv.Itoa(annualEntity.CerId)
+		// 主要设备
+		majorEquipmentSrv := majorequip.GetMajorequipService(utils.DBE)
+		var majorEquipmentList []majorequip.OilEnterpriseMajorEquipment
+		majorEquipmentSrv.GetEntitysByWhere("OilEnterpriseMajorEquipment", whereSupplierCert, &majorEquipmentList)
+		// 近三年主要业绩
+		threeYearsPerformanceSrv := performance.GetPerformanceService(utils.DBE)
+		var threeYearsPerformanceList []performance.OilThreeYearsPerformance
+		threeYearsPerformanceSrv.GetEntitysByWhere("OilThreeYearsPerformance", whereSupplierCert, &threeYearsPerformanceList)
+		// 专利及专有技术
+		patentTechSrv := patent.GetPatentService(utils.DBE)
+		var patentTechList []patent.OilPatentStatistical
+		patentTechSrv.GetEntitysByWhere("OilPatentStatistical", whereSupplierCert, &patentTechList)
+		// 近三年省部级及以上获奖项目
+		winningProSrv := winning.GetWinningService(utils.DBE)
+		var winingProList []winning.OilWinningProject
+		winningProSrv.GetEntitysByWhere("OilWinningProject", whereSupplierCert, &winingProList)
+
+		// json 化数据
+		supplierBaseInfo, _ := json.Marshal(supplierEntity)
+		supplierBaseInfoChangeItem, _ := json.Marshal(changeInfoItems)
+		majorEquipment, _ := json.Marshal(majorEquipmentList)
+		threeYearsPerformance, _ := json.Marshal(threeYearsPerformanceList)
+		patentTech, _ := json.Marshal(patentTechList)
+		winingPro, _ := json.Marshal(winingProList)
+		certFile, _ := json.Marshal(annualCertFileList)
+
+		// 插入日志信息
+		var model OilSupplierLog
+		model.SupplierId = supplierId
+		model.SourceID = annualId
+		model.NewSupplierName = supplierEntity.SupplierName
+		model.NewCommercialNo = supplierEntity.CommercialNo
+		model.OperType = 3 // 年审
+		model.BaseInfo = string(supplierBaseInfo) + "&" + string(supplierBaseInfoChangeItem)
+		model.Equipment = string(majorEquipment)
+		model.Performance = string(threeYearsPerformance)
+		model.Patent = string(patentTech)
+		model.AwardProject = string(winingPro)
+		model.CertFile = string(certFile)
+		model.CreateOn = time.Now()
+		_, err := s.InsertEntity(&model)
+		if err != nil {
+			log.Println(err)
+		}
+	} else {
+		log.Println("已存在")
+	}
+}
+
+// 信息变更
+func (s *SupplierlogService) SaveSupplierLogForInfoChange(supplierId int, infoChangeId int) {
+	var model OilSupplierLog
+	s.GetEntityByWhere("OilSupplierLog", "SupplierId="+strconv.Itoa(supplierId)+" and SourceId= "+strconv.Itoa(infoChangeId)+" and OperType=4", &model)
+	if model.Id <= 0 {
+		// 信息变更申请信息
+		changeSrv := infochange.GetInfoChangeService(utils.DBE)
+		var infoChangeEntity infochange.OilInfoChange
+		changeSrv.GetEntityById(infoChangeId, &infoChangeEntity)
+
+		// 原企业基本信息
+		//svc.GetEntityByIdBytbl(OilSupplierName, Id, &model)
+		supplierSrv := supplier.GetOilSupplierService(utils.DBE)
+		var supplierEntity supplier.OilSupplier
+		supplierSrv.GetEntityById(infoChangeEntity.SupplierId, &supplierEntity)
+		// 企业基本信息 变更项
+		var changeInfoItems []infochange.OilInfoChangeItem
+		svc := infochange.GetInfoChangeService(utils.DBE)
+		where := " InfoId = " + strconv.Itoa(infoChangeId)
+		svc.GetEntitysByWhere("OilInfoChangeItem", where, &changeInfoItems)
+
+		// 企业资质
+		var allCertFileList []qualchange.OilQualChangeDetail
+		changeWhere := " a.SupplierId = " + strconv.Itoa(supplierId)
+		//changeWhere = changeWhere + " and a.SupplierTypeCode in ( '000', '" + infoChangeEntity.SupplierTypeCode + "')" // 取全部资质 不再筛选
+		allCertSubSrv := qualchange.GetQualChangeService(utils.DBE)
+		allCertSubSrv.GetQualPagingEntities("OilSupplierFile", "OilQualChangeDetail", 1, 1000, "a.Id", true, &allCertFileList, changeWhere, strconv.Itoa(infoChangeId))
+
+		// json 化数据
+		supplierBaseInfo, _ := json.Marshal(supplierEntity)
+		supplierBaseInfoChangeItem, _ := json.Marshal(changeInfoItems)
+		certFile, _ := json.Marshal(allCertFileList)
+
+		// 插入日志信息
+		var model OilSupplierLog
+		model.SupplierId = supplierId
+		model.SourceID = infoChangeId
+		model.NewSupplierName = supplierEntity.SupplierName
+		model.NewCommercialNo = supplierEntity.CommercialNo
+		model.OperType = 4
+		model.BaseInfo = string(supplierBaseInfo) + "&" + string(supplierBaseInfoChangeItem)
+		model.CertFile = string(certFile)
+		model.CreateOn = time.Now()
+		_, err := s.InsertEntity(&model)
+		if err != nil {
+			log.Println(err)
+		}
+	} else {
+		log.Println("已存在")
+	}
+}

+ 40 - 39
src/dashoo.cn/backend/api/controllers/base.go

@@ -259,43 +259,44 @@ var (
 	BaseBadRecord                            string = "BadRecord"                       //不良记录表
 	// TODO: 删除准入范围和资质对应关系表
 	// OilSupplierCert2FileName                 string = "OilSupplierCert2File"         // 准入与资质对应关系表
-	OilCorporateInfoName                     string = "OilCorporateInfo"                //企业用户注册临时表
-	OilSupplierPauseReasonName               string = "OilSupplierPauseReason"
-	OilPaymentInfoName                       string = "OilPaymentInfo" //交费信息
-	OilActivityName                          string = "OilActivity"    //
-	OilCatalogName                           string = "OilCatalog"     //目录表
-	DelOilSupplierCertName                   string = "Del_OilSupplierCert"
-	DelOilSupplierName                       string = "Del_OilSupplier"
-	DelOilSupplierFileName                   string = "Del_OilSupplierFile"
-	DelOilPaymentInfoName                    string = "Del_OilPaymentInfo"
-	DelOilSupplierCertSubName                string = "Del_OilSupplierCertSub"
-	DelOilSupplierCertAppendName             string = "Del_OilSupplierCertAppend"
-	DelOilAnnualAuditName                    string = "Del_OilAnnualAudit"
-	DelOilInfoChangeName                     string = "Del_OilInfoChange"
-	SupplierApplyTimeName                    string = "OilSupplierApplyTime"
-	OilAnnualChangeItemName                  string = "OilAnnualChangeItem" //信息变更表
-	Tmp_OilGoodsAptitudeName                 string = "tmp_OilGoodsAptitude"
-	Tmp_OilGoodsAptitudeClassName            string = "tmp_OilGoodsAptitudeClass"
-	TmpOilSupplierCertSubName                string = "tmp_OilSupplierCertSub"
-	TmpOilBasisBuildName                     string = "Tmp_OilBasisBuild"
-	OilSupplierSceneFileName                 string = "OilSupplierSceneFile"          // 现场考察报告
-	OilCatalogSubName                        string = "OilCatalogSub"                 // 目录提交审核的主表
-	OilAppendChangeItemName                  string = "OilAppendChangeItem"           // 增项信息变更的表
-	OilAppendChangeDetailName                string = "OilAppendChangeDetail"         // 增项资质变更
-	OilAnnualChangeDetailName                string = "OilAnnualChangeDetail"         //年审资质变更表
-	Tmp_TechnologyName                       string = "Tmp_OilTechnologyService"      //技术服务资质编码临时表
-	Tmp_TechnologyClassName                  string = "Tmp_OilTechnologyServiceClass" //
-	ImportTechsrvDetailViewName              string = "import_techsrv_detail_view"    //技术服务
-	ImportTechsrvClassViewName               string = "import_techsrv_class_view"     //技术服务
-	ManufacturerName                         string = "Manufacturer"
-	OilContractName                          string = "OilContract"                //合同表
-	OilContractEvaluationItemsName           string = "OilContractEvaluationItems" //合同业绩评价项目
-	OilContractReviewName                    string = "OilContractReview"          //合同审核工作流
-	OilEvaluationItemsName                   string = "OilEvaluationItems"         //业绩评价项目
-	OilContractEvaluationOrderName           string = "OilContractEvaluationOrder" //评价工单表
-	OilContractOffGradeName					 string = "OilContractOffGrade"        //业绩评价不合格原因
-	OilContractSumScoreName                  string = "OilContractSumScore"        //年度汇总评分
-	OilContractSumScoreItemsName             string = "OilContractSumScoreItems"   //年度汇总评分明细
+	OilCorporateInfoName           string = "OilCorporateInfo" //企业用户注册临时表
+	OilSupplierPauseReasonName     string = "OilSupplierPauseReason"
+	OilPaymentInfoName             string = "OilPaymentInfo" //交费信息
+	OilActivityName                string = "OilActivity"    //
+	OilCatalogName                 string = "OilCatalog"     //目录表
+	DelOilSupplierCertName         string = "Del_OilSupplierCert"
+	DelOilSupplierName             string = "Del_OilSupplier"
+	DelOilSupplierFileName         string = "Del_OilSupplierFile"
+	DelOilPaymentInfoName          string = "Del_OilPaymentInfo"
+	DelOilSupplierCertSubName      string = "Del_OilSupplierCertSub"
+	DelOilSupplierCertAppendName   string = "Del_OilSupplierCertAppend"
+	DelOilAnnualAuditName          string = "Del_OilAnnualAudit"
+	DelOilInfoChangeName           string = "Del_OilInfoChange"
+	SupplierApplyTimeName          string = "OilSupplierApplyTime"
+	OilAnnualChangeItemName        string = "OilAnnualChangeItem" //信息变更表
+	Tmp_OilGoodsAptitudeName       string = "tmp_OilGoodsAptitude"
+	Tmp_OilGoodsAptitudeClassName  string = "tmp_OilGoodsAptitudeClass"
+	TmpOilSupplierCertSubName      string = "tmp_OilSupplierCertSub"
+	TmpOilBasisBuildName           string = "Tmp_OilBasisBuild"
+	OilSupplierSceneFileName       string = "OilSupplierSceneFile"          // 现场考察报告
+	OilCatalogSubName              string = "OilCatalogSub"                 // 目录提交审核的主表
+	OilAppendChangeItemName        string = "OilAppendChangeItem"           // 增项信息变更的表
+	OilAppendChangeDetailName      string = "OilAppendChangeDetail"         // 增项资质变更
+	OilAnnualChangeDetailName      string = "OilAnnualChangeDetail"         //年审资质变更表
+	Tmp_TechnologyName             string = "Tmp_OilTechnologyService"      //技术服务资质编码临时表
+	Tmp_TechnologyClassName        string = "Tmp_OilTechnologyServiceClass" //
+	ImportTechsrvDetailViewName    string = "import_techsrv_detail_view"    //技术服务
+	ImportTechsrvClassViewName     string = "import_techsrv_class_view"     //技术服务
+	ManufacturerName               string = "Manufacturer"
+	OilContractName                string = "OilContract"                //合同表
+	OilContractEvaluationItemsName string = "OilContractEvaluationItems" //合同业绩评价项目
+	OilContractReviewName          string = "OilContractReview"          //合同审核工作流
+	OilEvaluationItemsName         string = "OilEvaluationItems"         //业绩评价项目
+	OilContractEvaluationOrderName string = "OilContractEvaluationOrder" //评价工单表
+	OilContractOffGradeName        string = "OilContractOffGrade"        //业绩评价不合格原因
+	OilContractSumScoreName        string = "OilContractSumScore"        //年度汇总评分
+	OilContractSumScoreItemsName   string = "OilContractSumScoreItems"   //年度汇总评分明细
+	OilSupplierLogName             string = "OilSupplierLog"             //供方申请日志(快照)
 )
 
 //分页信息及数据
@@ -316,8 +317,8 @@ type SelectIdNameModel struct {
 }
 
 type Result struct {
-	Result1   string    `json:"Result1"`
-	Result2   string    `json:"Result2"`
+	Result1 string `json:"Result1"`
+	Result2 string `json:"Result2"`
 }
 
 func (this *BaseController) Prepare() {

+ 6 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/annualListener.go

@@ -5,6 +5,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/annualaudit"
 	"dashoo.cn/backend/api/business/oilsupplier/oilcostmanage"
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierlog"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	"encoding/json"
 	"strconv"
@@ -326,6 +327,11 @@ func (this *OilAnnualListenerController) WorkflowEndAudit() {
 	certModel.InFlag = "1"
 	paymentInfoSvc.UpdateEntityByIdCols(strconv.Itoa(annualEntity.CerId), &certModel, []string{"ApplyTime", "InFlag"})
 
+	// 入库成功 记录快照
+	supplierLogService := supplierlog.GetSupplierLogService(utils.DBE)
+	sourceId, _ := strconv.Atoi(annualId)
+	supplierLogService.SaveSupplierLogForAnnual(annualEntity.SupplierId, sourceId) // 年审
+
 	this.Data["json"] = 1
 	this.ServeJSON()
 }

+ 6 - 0
src/dashoo.cn/backend/api/controllers/oilsupplier/infoChangeListener.go

@@ -8,6 +8,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierlog"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/controllers"
@@ -254,6 +255,11 @@ func (this *OilInfoChangeListenerController) WorkflowEndAudit() {
 	infoChangeEntity.Status = suppliercert.STORE_STATUS //已入库
 	certAppendSrv.UpdateEntityByIdCols(infoId, infoChangeEntity, cols)
 
+	//  入库成功 实际更新前 记录快照
+	supplierLogService := supplierlog.GetSupplierLogService(utils.DBE)
+	sourceId, _ := strconv.Atoi(infoId)
+	supplierLogService.SaveSupplierLogForInfoChange(infoChangeEntity.SupplierId, sourceId) // 信息变更
+
 	this.Data["json"] = 1
 	this.ServeJSON()
 }

+ 9 - 2
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercert.go

@@ -11,6 +11,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
 	"dashoo.cn/backend/api/business/oilsupplier/supplierfile"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierlog"
 	"dashoo.cn/backend/api/business/organize"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	baseparameter "dashoo.cn/business2/parameter"
@@ -961,7 +962,7 @@ func (this *OilSupplierCertController) BusinessOfficeSeparateAuditEntity() {
 	ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
 	ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
 	ActiComplete.UserId = this.User.Id //审批人员
-	ActiComplete.Result = Result          //前台审批[同意、不同意]
+	ActiComplete.Result = Result       //前台审批[同意、不同意]
 	ActiComplete.UserNames = ProfessionalAudit
 	ActiComplete.Remarks = AuditRemark
 	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
@@ -1068,6 +1069,12 @@ func (this *OilSupplierCertController) UpdateIsStorage() {
 				where := " SupplierCertId = " + id
 				svc1.UpdateEntityBywheretbl(OilSupplierCertSubName, &model1, cols, where)
 				errinfo.Message = "入库成功"
+
+				// 入库成功 记录快照	// 也可以在监听器工作流结束环节记录
+				supplierLogService := supplierlog.GetSupplierLogService(utils.DBE)
+				sourceId, _ := strconv.Atoi(id)
+				supplierId, _ := strconv.Atoi(SupplierId)
+				supplierLogService.SaveSupplierLogForAccess(supplierId, sourceId) // 准入
 			} else {
 				errinfo.Message = "退回成功"
 			}
@@ -1128,7 +1135,7 @@ func (this *OilSupplierCertController) UpdateIsStorage() {
 		supplierCertEntity.BackRemark = ""
 	} else {
 		supplierCertEntity.Status = suppliercert.NO_STOREING_STATUS // -7 待入库未通过
-		supplierCertEntity.BackRemark = AuditRemark // 未通过理由
+		supplierCertEntity.BackRemark = AuditRemark                 // 未通过理由
 	}
 
 	supplierCertEntity.ModifiedOn = time.Now()

+ 9 - 3
src/dashoo.cn/backend/api/controllers/oilsupplier/suppliercertAppendListener.go

@@ -7,6 +7,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
 	"dashoo.cn/backend/api/business/oilsupplier/supplierfile"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierlog"
 	"dashoo.cn/backend/api/business/paymentinfo"
 	"encoding/json"
 	"strconv"
@@ -339,18 +340,23 @@ func (this *OilSupplierCertAppendListenerController) WorkflowEndAudit() {
 	var appendSubModel suppliercertsub.OilSupplierCertSub
 	appendSubModel.Type = "3"
 	certAppendSrv.UpdateEntityBywheretbl(OilSupplierCertSubName, &appendSubModel, []string{"Type"}, appendWhere)
+	// TODO 实际更新前 记录申请快照
+	// 选择在准入项更新以后记录快照,防止第一次审批未通过后又改变了准入范围(待验证)。	// CertSubStatus字段 -1是什么状态
+	supplierLogService := supplierlog.GetSupplierLogService(utils.DBE)
+	sourceId, _ := strconv.Atoi(supplierCertAppendId)
+	supplierLogService.SaveSupplierLogForAppend(supplierCertAppendEntity.SupplierId, sourceId) // 增项
 	//更新资质表
 	appendFileWhere := " SupplierId = " + utils.ToStr(supplierCertAppendEntity.SupplierId) + " and SupType = 2"
 	var appendSubFileModel supplierfile.OilSupplierFile
 	appendSubFileModel.SupType = 3
 	certAppendSrv.UpdateEntityBywheretbl(OilSupplierCertSubName, &appendSubFileModel, []string{"SupType"}, appendFileWhere)
 
-	//更新增项表 TODO 更新相关信息
+	//更新增项表
 	appdWhere := " SupplierId = " + utils.ToStr(supplierCertAppendEntity.SupplierId) + " and SupplierCertId = " + utils.ToStr(supplierCertAppendEntity.SupplierCertId) + " and Status = '6'"
 	var appendModel suppliercertappend.OilSupplierCertAppend
 	appendModel.Status = suppliercert.ALL_PASE_STATUS
 	certAppendSrv.UpdateEntityBywheretbl(OilSupplierCertAppendName, &appendModel, []string{"Status"}, appdWhere)
-	//信息变更 TODO 更新相关信息
+	//信息变更
 	var infoItems []suppliercertappendsub.OilAppendChangeItem
 	where := "SupplierId = " + utils.ToStr(supplierCertAppendEntity.SupplierId) + " and InfoId = " + utils.ToStr(supplierCertAppendId)
 	certAppendSrv.GetEntities(&infoItems, where)
@@ -368,7 +374,7 @@ func (this *OilSupplierCertAppendListenerController) WorkflowEndAudit() {
 		}
 	}
 
-	// 更新资质 TODO 更新相关信息
+	// 更新资质
 	var qualDetail []suppliercertappendsub.OilAppendChangeDetail
 	wheres := "SupplierId = " + utils.ToStr(supplierCertAppendEntity.SupplierId) + " and ParentId=" + supplierCertAppendId
 	certAppendSrv.GetEntities(&qualDetail, wheres)