王宇昕 5 éve
szülő
commit
50439bab40
21 módosított fájl, 594 hozzáadás és 850 törlés
  1. BIN
      src/dashoo.cn/backend/api/api.zip
  2. 1 1
      src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems/contractEvaluationItems.go
  3. 19 4
      src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReview.go
  4. 13 1
      src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReviewService.go
  5. 21 11
      src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go
  6. 11 11
      src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScoreService.go
  7. 2 2
      src/dashoo.cn/backend/api/business/oilcontract/evaluationItems/evaluationItems.go
  8. 2 0
      src/dashoo.cn/backend/api/business/todolist/todolist.go
  9. 1 0
      src/dashoo.cn/backend/api/business/workflow/workflow.go
  10. 84 240
      src/dashoo.cn/backend/api/controllers/oilcontract/contractAnnualListener.go
  11. 0 37
      src/dashoo.cn/backend/api/controllers/oilcontract/contractDailyListener.go
  12. 4 0
      src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationItems.go
  13. 13 121
      src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go
  14. 218 9
      src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go
  15. 45 1
      src/dashoo.cn/backend/api/controllers/oilsupplier/todolist.go
  16. 1 7
      src/dashoo.cn/backend/api/routers/router.go
  17. 3 3
      src/dashoo.cn/frontend_web/nuxt.config.js
  18. 23 0
      src/dashoo.cn/frontend_web/src/api/oilcontract/contractSumScore.js
  19. 87 211
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year-check/_opera/operation.vue
  20. 20 149
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year-check/index.vue
  21. 26 42
      src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/index.vue

BIN
src/dashoo.cn/backend/api/api.zip


+ 1 - 1
src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems/contractEvaluationItems.go

@@ -23,7 +23,7 @@ type EvaluationItems struct {
 	Id             int       `json:"Id"`
 	ParentId       int       `json:"ParentId"`
 	SequenceNo     string    `json:"SequenceNo"`
-	Content        string    `json:"content"`
+	Content        string    `json:"Content"`
 	NormalScore    string    `json:"NormalScore"`
 	LevelCode      int       `json:"LevelCode"`
 	Remark         string    `json:"Remark"`

+ 19 - 4
src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReview.go

@@ -17,13 +17,15 @@ type OilContractReview struct {
 	CommitComId       string    `xorm:"default '0' comment('提交二级单位Id') VARCHAR(50)"`
 	ProfessionalAudit int       `json:"ProfessionalAudit" xorm:"comment('业务处室专业审批人id') INT(11) 'ProfessionalAudit'"`
 	AuditIndex        int       `json:"AuditIndex" xorm:"default 0 comment('审批次数') INT(11) 'AuditIndex'"`
-	IsFinal           string    `json:"IsFinal" xorm:"comment('是否最终评价(履行完成) 0否1是')  INT(11) 'IsFinal'"`
+	IsFinal           int       `json:"IsFinal" xorm:"comment('是否最终评价(履行完成) 0否1是')  INT(11) 'IsFinal'"`
 	CreateOn          time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
 	CreateUserId      int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
 	CreateBy          string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`
 	ModifiedOn        time.Time `json:"ModifiedOn" xorm:"DATETIME 'ModifiedOn'"`
 	ModifiedUserId    int       `json:"ModifiedUserId" xorm:"INT(11) 'ModifiedUserId'"`
 	ModifiedBy        string    `json:"ModifiedBy" xorm:"VARCHAR(50) 'ModifiedBy'"`
+	UnitId            int       `json:"UnitId" xorm:"INT(11) 'UnitId'"`
+	Unit              string    `json:"Unit" xorm:"VARCHAR(50) 'Unit'"`
 }
 type OilContractReviewListVo struct {
 	Id                int       `json:"Id"`
@@ -48,9 +50,22 @@ type OilContractReviewListVo struct {
 	ModifiedUserId    int       `json:"ModifiedUserId"`
 	ModifiedBy        string    `json:"ModifiedBy"`
 
-	SupplierName      string    `json:"SupplierName"`   // 供应商名称
-	ProjectName       string    `json:"ProjectName"`    // 项目名称
-	ContractNo        string    `json:"ContractNo"`     // 合同编号
+	SupplierName         string    `json:"SupplierName"`   // 供应商名称
+	ProjectName          string    `json:"ProjectName"`    // 项目名称
+	ContractNo           string    `json:"ContractNo"`     // 合同编号
+	SupplierId           int       `json:"SupplierId"`
+	ProjectPlace         string    `json:"ProjectPlace"`
+	ProjectOwner         string    `json:"ProjectOwner"`
+	Telephone            string    `json:"Telephone"`
+	ProjectType          string    `json:"ProjectType"`
+	ContractClass        string    `json:"ContractClass"`
+	ContractMode         string    `json:"ContractMode"`
+	Amount               string    `json:"Amount"`
+	ContractPeriod       string    `json:"ContractPeriod"`
+	OpenDate             time.Time `json:"OpenDate"`
+	PlanFinishDate       time.Time `json:"PlanFinishDate"`
+	SettleStatus         string    `json:"SettleStatus"`
+	Remark               string    `json:"Remark"`
 }
 type OilContractReviewVo struct {
 	Items []*OilContractEvaluationItemsVo

+ 13 - 1
src/dashoo.cn/backend/api/business/oilcontract/contractReview/contractReviewService.go

@@ -26,7 +26,19 @@ func (s *OilContractReviewService) GetContractReviewList(pageIndex, itemsPerPage
 		"LEFT JOIN OilContract c ON r.ContractId=c.id " +
 		"WHERE "+ where
 
-	sql := "SELECT r.*,c.SupplierName " +
+	sql := "SELECT r.*,c.SupplierName,c.ProjectName,c.ContractNo,c.SupplierId " +
+		",c.ProjectPlace" +
+		",c.ProjectOwner" +
+		",c.Telephone" +
+		",c.ProjectType" +
+		",c.ContractClass" +
+		",c.ContractMode" +
+		",c.Amount" +
+		",c.ContractPeriod" +
+		",c.OpenDate" +
+		",c.PlanFinishDate" +
+		",c.SettleStatus" +
+		",c.Remark " +
 		"FROM OilContractReview r " +
 		"LEFT JOIN OilContract c ON r.ContractId=c.id " +
 		"WHERE "+ where +

+ 21 - 11
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScore.go

@@ -6,30 +6,40 @@ import (
 
 type OilContractSumScore struct {
 	Id               int       `json:"Id" xorm:"not null pk autoincr comment('ID') INT(11) 'Id'"`
+	SupplierId       int       `json:"SupplierId" xorm:"default 0 comment('供应商ID') INT(11) 'SupplierId'"`
+	SupplierName     string    `json:"SupplierName" xorm:"comment('企业名称') VARCHAR(255) 'SupplierName'"`
 	ContractId       int       `json:"ContractId" xorm:"not null default 0 comment('合同表ID') INT(11) 'ContractId'"`
 	Category         int       `json:"Category" xorm:"not null default 0 comment('0二级单位创建1专业处创建') INT(11) 'Category'"`
-	SumScore         string    `json:"SumScore" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore'"`
+	SumScore         float64   `json:"SumScore" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore'"`
 	Content1    	 string    `json:"Content1" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content1'"`
-	NormalSumScore1  string    `json:"NormalSumScore1" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore1'"`
-	SumScore1        string    `json:"SumScore1" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore1'"`
+	NormalSumScore1  float64   `json:"NormalSumScore1" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore1'"`
+	SumScore1        float64   `json:"SumScore1" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore1'"`
 	Content2    	 string    `json:"Content2" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content2'"`
-	NormalSumScore2  string    `json:"NormalSumScore2" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore2'"`
-	SumScore2        string    `json:"SumScore2" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore2'"`
+	NormalSumScore2  float64   `json:"NormalSumScore2" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore2'"`
+	SumScore2        float64   `json:"SumScore2" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore2'"`
 	Content3    	 string    `json:"Content3" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content3'"`
-	NormalSumScore3  string    `json:"NormalSumScore3" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore3'"`
-	SumScore3        string    `json:"SumScore3" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore3'"`
+	NormalSumScore3  float64   `json:"NormalSumScore3" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore3'"`
+	SumScore3        float64   `json:"SumScore3" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore3'"`
 	Content4    	 string    `json:"Content4" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content4'"`
-	NormalSumScore4  string    `json:"NormalSumScore4" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore4'"`
-	SumScore4        string    `json:"SumScore4" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore4'"`
+	NormalSumScore4  float64   `json:"NormalSumScore4" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore4'"`
+	SumScore4        float64   `json:"SumScore4" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore4'"`
 	Content5    	 string    `json:"Content5" xorm:"default '0' comment('评价内容') VARCHAR(50) 'Content5'"`
-	NormalSumScore5  string    `json:"NormalSumScore5" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore5'"`
-	SumScore5        string    `json:"SumScore5" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore5'"`
+	NormalSumScore5  float64   `json:"NormalSumScore5" xorm:"default 0.00 comment('标准分值') DECIMAL(11,2) 'NormalSumScore5'"`
+	SumScore5        float64   `json:"SumScore5" xorm:"default 0.00 comment('实际分值') DECIMAL(11,2) 'SumScore5'"`
+	Status           string    `json:"Status" xorm:"not null default '0' comment('状态标识( 0 初始 - 1待二级初审 - 2待二级复审 - 3-专业科室接收 4 待专业科室审核 - 5 待集中评审 - 6 待交费 - 7 待入库 - 8 完成 - 9审核未通过)') VARCHAR(10) 'Status'"`
 	Note			 string    `json:"Note" xorm:"comment('备注') VARCHAR(255) 'Note'"`
 	ConclusionReason string    `json:"ConclusionReason" xorm:"comment('不合格原因') VARCHAR(255) 'ConclusionReason'"`
 	Conclusion       int       `json:"Conclusion" xorm:"default 0 comment('0不合格,1观察使用,2合格,3优秀') INT(11) 'Conclusion'"`
 	WorkflowId     	 string    `json:"WorkflowId" xorm:"default '0' comment('工作流的ID') VARCHAR(50) 'WorkflowId'"`
 	Businesskey      string    `json:"BusinessKey" xorm:"VARCHAR(255) 'BusinessKey'"`
 	Processkey     	 string    `json:"ProcessKey" xorm:"comment('工作流名称') VARCHAR(255) 'ProcessKey'"`
+	FirstAudit        int       `json:"FirstAudit" xorm:"comment('初审') INT(11) 'FirstAudit'"`
+	SecondAudit       int       `json:"SecondAudit" xorm:"comment('复审') INT(11) 'SecondAudit'"`
+	ThirdAudit        int       `json:"ThirdAudit" xorm:"comment('专业科室审批') INT(11) 'ThirdAudit'"`
+	FourthAudit       int       `json:"FourthAudit" xorm:"comment('集中审批') INT(11) 'FourthAudit'"`
+	CommitComId       string    `xorm:"default '0' comment('提交二级单位Id') VARCHAR(50)"`
+	ProfessionalAudit int       `json:"ProfessionalAudit" xorm:"comment('业务处室专业审批人id') INT(11) 'ProfessionalAudit'"`
+	AuditIndex        int       `json:"AuditIndex" xorm:"default 0 comment('审批次数') INT(11) 'AuditIndex'"`
 	CreateOn       	 time.Time `json:"CreateOn" xorm:"DATETIME 'CreateOn'"`
 	CreateUserId     int       `json:"CreateUserId" xorm:"INT(11) 'CreateUserId'"`
 	CreateBy         string    `json:"CreateBy" xorm:"VARCHAR(50) 'CreateBy'"`

+ 11 - 11
src/dashoo.cn/backend/api/business/oilcontract/contractSumScore/contractSumScoreService.go

@@ -30,17 +30,17 @@ func (s *OilContractSumScoreService) GetPagingComputeEntitiesWithOrderBytbl(page
 	sqlCount += ` ) t `
 
 	var sql string
-	sql =  `select contract.SupplierId,contract.SupplierName,sum(items.Score) as Score, `
-	sql += ` sum(case when items.SequenceNo in  ('1') then items.Score else 0 end) Score1,  `
-	sql += ` sum(case when items.SequenceNo in  ('2') then items.Score else 0 end) Score2,  `
-	sql += ` sum(case when items.SequenceNo in  ('3') then items.Score else 0 end) Score3,  `
-	sql += ` sum(case when items.SequenceNo in  ('4') then items.Score else 0 end) Score4,  `
-	sql += ` sum(case when items.SequenceNo in  ('5') then items.Score else 0 end) Score5,  `
-	sql += ` sum(case when items.SequenceNo in  ('6') then items.Score else 0 end) Score6,  `
-	sql += ` sum(case when items.SequenceNo in  ('7') then items.Score else 0 end) Score7,  `
-	sql += ` sum(case when items.SequenceNo in  ('8') then items.Score else 0 end) Score8,  `
-	sql += ` sum(case when items.SequenceNo in  ('9') then items.Score else 0 end) Score9,  `
-	sql += ` case when sum(items.Score) <60 then '不合格' when sum(items.Score) <80 then '合格' else '优秀' end as Evaluate `
+	sql =  `select contract.SupplierId,contract.SupplierName,count(review.id) as count,ROUND(sum(items.Score)/count(review.id),2) as Score, `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('1') then items.Score else 0 end)/count(review.id),2) Score1,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('2') then items.Score else 0 end)/count(review.id),2) Score2,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('3') then items.Score else 0 end)/count(review.id),2) Score3,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('4') then items.Score else 0 end)/count(review.id),2) Score4,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('5') then items.Score else 0 end)/count(review.id),2) Score5,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('6') then items.Score else 0 end)/count(review.id),2) Score6,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('7') then items.Score else 0 end)/count(review.id),2) Score7,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('8') then items.Score else 0 end)/count(review.id),2) Score8,  `
+	sql += ` ROUND(sum(case when items.SequenceNo in  ('9') then items.Score else 0 end)/count(review.id),2) Score9,  `
+	sql += ` case when sum(items.Score)/count(review.id) <60 then 3 when sum(items.Score)/count(review.id) <80 then 2 else 1 end as Evaluate `
 	sql += ` from ` + controllers.OilContractReviewName + ` review `
 	sql += ` left join ` + controllers.OilContractName + ` contract on review.ContractId=contract.id `
 	sql += ` left join ` + controllers.OilContractEvaluationItemsName + ` items on items.ContentReviewId=review.id and items.LevelCode=1 `

+ 2 - 2
src/dashoo.cn/backend/api/business/oilcontract/evaluationItems/evaluationItems.go

@@ -9,7 +9,7 @@ type OilEvaluationItems struct {
 	ParentId       int       `json:"ParentId" xorm:"not null default 0 comment('上级节点ID') INT(11) 'ParentId'"`
 	Type           string    `json:"Type" xorm:"default '1' comment('分类:1服务商、2供应商、3承包商') VARCHAR(5) 'Type'"`
 	SequenceNo     string    `json:"SequenceNo" xorm:"default '0' comment('序号') VARCHAR(50) 'SequenceNo'"`
-	Content        string    `json:"content" xorm:"comment('评价内容') VARCHAR(1000) 'content'"`
+	Content        string    `json:"Content" xorm:"comment('评价内容') VARCHAR(1000) 'Content'"`
 	NormalScore    string    `json:"NormalScore" xorm:"comment('标准分值') DECIMAL(11,2) 'NormalScore'"`
 	LevelCode      int       `json:"LevelCode" xorm:"not null default 0 comment('级别') INT(11) 'LevelCode'"`
 	Remark         string    `json:"Remark" xorm:"comment('备注') VARCHAR(500) 'Remark'"`
@@ -27,7 +27,7 @@ type DailyItems struct {
 	ParentId       int       `json:"ParentId"`
 	Type           string    `json:"Type"`
 	SequenceNo     string    `json:"SequenceNo"`
-	Content        string    `json:"content"`
+	Content        string    `json:"Content"`
 	NormalScore    string    `json:"NormalScore"`
 	LevelCode      int       `json:"LevelCode"`
 	Remark         string    `json:"Remark"`

+ 2 - 0
src/dashoo.cn/backend/api/business/todolist/todolist.go

@@ -27,4 +27,6 @@ const (
 	// STORAGE string = "7" // 入库
 	INVOICE string = "8" //待开发票
 	INCOME  string = "9" // 收入业务
+	DAILY  string = "10" // 合同日常
+	ANNUAL  string = "11" // 合同年审
 )

+ 1 - 0
src/dashoo.cn/backend/api/business/workflow/workflow.go

@@ -120,6 +120,7 @@ const (
 	// 目录管理审批流程
 	OIL_Catalog string = "oil_catalog"
 
+
 	/*//企业用户 2 一级物资准入流程图  4 战略合作准入 6外部市场准入
 		OIL_FIRST_ENUSER_SUPPLIER_APPLY string = "oil_first_enuser_supplier_apply"
 		//企业用户准入流程图 1评审准入 5内部多元准入

+ 84 - 240
src/dashoo.cn/backend/api/controllers/oilcontract/contractAnnualListener.go

@@ -1,85 +1,43 @@
 package oilcontract
 
 import (
-	msg2 "dashoo.cn/backend/api/business/msg"
-	"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/paymentinfo"
-	"encoding/json"
-	"strconv"
-	"strings"
-	"time"
-
 	"dashoo.cn/backend/api/business/auditsetting"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/workflow"
 	. "dashoo.cn/backend/api/controllers"
 	"dashoo.cn/utils"
+	"encoding/json"
+	"strconv"
+	"strings"
 )
 
-type OilAnnualListenerController struct {
+type OilContractAnnualListenerController struct {
 	BaseController
 }
 
-// @Title 获取二级单位分办人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-fen-trail [post]
-func (this *OilAnnualListenerController) PreFenTrialStatus() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//查出二级单位分办的人员
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-
-	stepCode := workflow.GetWorkFlowStepCode(supplierCertEntity.SupplierTypeCode) // TODO 年审的准入方式
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, annualEntity.CommitComId)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
-
 // 用
 // @Title 获取二级单位初审人员列表--回调
 // @Description get user by token
 // @Success 200 {string} string
 // @router /pre-first-trail [get]
-func (this *OilAnnualListenerController) PreFirstTrail() {
+func (this *OilContractAnnualListenerController) PreFirstTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
+	reviewId := strings.Split(businessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(reviewId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
+	svc.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
 
 	//返回查出的初审人员操作人员列表
-	approverIds := annualEntity.FirstAudit
+	approverIds := contractReviewEntity.FirstAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
@@ -88,131 +46,85 @@ func (this *OilAnnualListenerController) PreFirstTrail() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /pre-second-trail [get]
-func (this *OilAnnualListenerController) PreSecondTrail() {
+func (this *OilContractAnnualListenerController) PreSecondTrail() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "_")[0]
+	dailyId := strings.Split(businessKey, "_")[0]
 
-	certSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	certSrv.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
-	certSrv.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.SECOND_TRIAL_STATUS //二级单位复审
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	//返回查出的复审人员操作人员列表
-	approverIds := annualEntity.SecondAudit
+	approverIds := contractReviewEntity.SecondAudit
 	this.Data["json"] = approverIds
 	this.ServeJSON()
 }
 
-// @Title 查询是否交费--回调
+// @Title 获取业务处室接收分办人员列表 --回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /check-need-pay [get]
-func (this *OilAnnualListenerController) CheckNeedPay() {
-	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
-
-	certSvc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	certSvc.GetEntityById(annualEntity.CerId, &supplierCertEntity)
+// @router /pre-third-trail [post]
+func (this *OilContractAnnualListenerController) PreThirdTrialStatus() {
+	var jsonBlob = this.Ctx.Input.RequestBody
+	var listenerApprove ListenerApproveParams
+	json.Unmarshal(jsonBlob, &listenerApprove)
+	dailyId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	var isPayList []string
-	isPayList = append(isPayList, suppliercert.PINGSHEN)
-	isPayList = append(isPayList, suppliercert.WAIBUSHICHANG)
-	var unPayList []string
-	unPayList = append(unPayList, suppliercert.YIJIWUZI)
-	unPayList = append(unPayList, suppliercert.ERJIWUZI)
-	unPayList = append(unPayList, suppliercert.ZHANLUEHEZUO)
-	unPayList = append(unPayList, suppliercert.NEIBUDUOYUAN)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 
-	result := 0
-	isPay := "false"
-	unPay := "false"
-	for _, eachItem := range isPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 需要付费
-			isPay = "true"
-			result = 1
-			break
-		}
-	}
-	for _, eachItem := range unPayList {
-		if eachItem == supplierCertEntity.InStyle {
-			// 不需要付费
-			unPay = "true"
-			result = 2
-			break
+	//查出业务处室接收分办的人员
+	stepCode := workflow.PROF_RECE //专业处室接收
+	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, strconv.Itoa(contractReviewEntity.ThirdAudit))
+	if approverIds != "" {
+		cols := []string{
+			"Id",
+			"Status",
 		}
+		//进入此步骤,记录在数据库中
+		contractReviewEntity.Status = suppliercert.THIRD_TRIAL_STATUS ////专业处接收
+		svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 	}
-	if isPay == unPay {
-		// 准入类型是否付费有误!请联系管理员
-		result = 0
-	}
-
-	this.Data["json"] = result
+	var approveInfo ListenerApproveInfo
+	approveInfo.Users = approverIds
+	this.Data["json"] = &approveInfo
 	this.ServeJSON()
 }
 
-// @Title 获取交费人--回调
+// @Title 获取业务处室专业审批人员列表--回调
 // @Description get user by token
 // @Success 200 {string} string
-// @router /pre-payer [get]
-func (this *OilAnnualListenerController) GetPrePayer() {
+// @router /pre-prof-audit [get]
+func (this *OilContractAnnualListenerController) PreProfAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
 
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailyId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.PAYING_AUDIT_STATUS //待缴费
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var supplierCertEntity suppliercert.OilSupplierCert
-	supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-
-	// 年审审批通过且需要交费, 创建交费信息
-	supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	var supplierEntity supplier.OilSupplier
-	supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
-
-	paySvc := paymentinfo.GetPaymentService(utils.DBE)
-	var Amount float64
-	costSvc := oilcostmanage.GetOilCostManageService(utils.DBE)
-	Amount = costSvc.GetAmount("ANNUAL", supplierCertEntity.SupplierTypeCode)
-	var payInfo paymentinfo.OilPaymentInfo
-	payInfo.SrcId = annualEntity.Id
-	payInfo.SupplierId = annualEntity.SupplierId
-	payInfo.SupplierCertId = annualEntity.CerId
-	payInfo.USCCode = supplierEntity.CommercialNo
-	payInfo.SupplierName = supplierEntity.SupplierName
-	payInfo.PayType = "2"
-	payInfo.IsPay = "0"
-	payInfo.IsInvoice = "0"
-	payInfo.Amount = strconv.FormatFloat(Amount, 'E', -1, 64)
-	payInfo.CreateUserId = annualEntity.CreateUserId
-	payInfo.CreateBy = annualEntity.CreateBy
-	payInfo.CreateOn = time.Now()
-	paySvc.InsertEntity(&payInfo)
-
-	//创建人即为交费的人员
-	approverIds := annualEntity.CreateUserId
-	this.Data["json"] = approverIds
+	contractReviewEntity.Status = suppliercert.PROF_AUDIT_STATUS //业务处室专业审批
+	svc.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
+
+	//查出业务处室专业审批的人员
+	//专业审批人已在分办时指定
+	//stepCode := workflow.PROF_AUDIT
+	//auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
+	//approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, supplierCertEntity.CommitComId)
+	this.Data["json"] = 1
 	this.ServeJSON()
 }
 
@@ -220,22 +132,22 @@ func (this *OilAnnualListenerController) GetPrePayer() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /law-office-auditors [post]
-func (this *OilAnnualListenerController) GetLawOfficeAuditors() {
+func (this *OilContractAnnualListenerController) GetLawOfficeAuditors() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	var listenerApprove ListenerApproveParams
 	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
+	dailylId := strings.Split(listenerApprove.BusinessKey, "-")[0]
 
-	svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	svc.GetEntityById(annualId, &annualEntity)
+	var contractReviewEntity contractReview.OilContractReview
+	svc := contractReview.GetOilContractReviewService(utils.DBE)
+	svc.GetEntityById(dailylId, &contractReviewEntity)
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.CENT_AUDIT_STATUS //企业法规处
-	svc.UpdateEntityByIdCols(annualId, annualEntity, cols)
+	contractReviewEntity.Status = suppliercert.STOREING_STATUS //企业法规处
+	svc.UpdateEntityByIdCols(dailylId, contractReviewEntity, cols)
 
 	//查出企业法规处审批的人员
 	stepCode := workflow.PROF_REGULATION //企业法规处
@@ -247,47 +159,17 @@ func (this *OilAnnualListenerController) GetLawOfficeAuditors() {
 	this.ServeJSON()
 }
 
-// @Title 企业法规处入库人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-storage-audit [post]
-func (this *OilAnnualListenerController) GetStorageAuditor() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	annualId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STOREING_STATUS //待入库
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//查出入库审批的人员
-	stepCode := workflow.PROF_REGULATION //待入库(企业法规处)
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeForConcentrateAudit(stepCode)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
 
-// @Title 企业法规处审批入库完成, 工作流结束--回调
+// @Title 企业法规处审批完成, 工作流结束--回调
 // @Description get user by token
 // @Success 200 {string} string
 // @router /workflow-end [get]
-func (this *OilAnnualListenerController) WorkflowEndAudit() {
+func (this *OilContractAnnualListenerController) WorkflowEndAudit() {
 	businessKey := this.GetString("businessKey")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
@@ -295,16 +177,8 @@ func (this *OilAnnualListenerController) WorkflowEndAudit() {
 		"ApplyTime",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = suppliercert.STORE_STATUS                  //审核完成
-	annualEntity.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0) //更新年审表时间
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	//更新准入表时间
-	paymentInfoSvc := paymentinfo.GetPaymentService(utils.DBE)
-	var certModel suppliercert.OilSupplierCert
-	certModel.ApplyTime = annualEntity.ApplyTime.AddDate(1, 0, 0)
-	certModel.InFlag = "1"
-	paymentInfoSvc.UpdateEntityByIdCols(strconv.Itoa(annualEntity.CerId), &certModel, []string{"ApplyTime", "InFlag"})
+	contractReviewEntity.Status = suppliercert.STORE_STATUS                  //审核完成
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
 	this.Data["json"] = 1
 	this.ServeJSON()
@@ -314,52 +188,22 @@ func (this *OilAnnualListenerController) WorkflowEndAudit() {
 // @Description get user by token
 // @Success 200 {string} string
 // @router /approval-refuse [get]
-func (this *OilAnnualListenerController) ApprovalRefuse() {
+func (this *OilContractAnnualListenerController) ApprovalRefuse() {
 	businessKey := this.GetString("businessKey")
 	stepCodeStatus := this.GetString("stepCode")
-	annualId := strings.Split(businessKey, "-")[0]
-	srv := annualaudit.GetOilAnnualAuditService(utils.DBE)
-	var annualEntity annualaudit.OilAnnualAudit
-	srv.GetEntityById(annualId, &annualEntity)
+	dailyId := strings.Split(businessKey, "-")[0]
+	var contractReviewEntity contractReview.OilContractReview
+	srv := contractReview.GetOilContractReviewService(utils.DBE)
+	srv.GetEntityById(dailyId, &contractReviewEntity)
 
 	cols := []string{
 		"Id",
 		"Status",
 	}
 	//进入此步骤,记录在数据库中
-	annualEntity.Status = stepCodeStatus
-	srv.UpdateEntityByIdCols(annualId, annualEntity, cols)
-
-	// 获取准入资质信息:
-	//supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-	//var supplierCertEntity suppliercert.OilSupplierCert
-	//supplierCertSrv.GetEntityById(annualEntity.CerId, &supplierCertEntity)
-	//supplierSrv := supplier.GetOilSupplierService(utils.DBE)
-	//var supplierEntity supplier.OilSupplier
-	//supplierSrv.GetEntityById(annualEntity.SupplierId, &supplierEntity)
+	contractReviewEntity.Status = stepCodeStatus
+	srv.UpdateEntityByIdCols(dailyId, contractReviewEntity, cols)
 
-	// TODO 发送驳回通知短信
-	//this.AuditRejectNotice(supplierCertEntity, supplierEntity)
-
-	this.Data["json"] = annualEntity.CreateUserId
+	this.Data["json"] = contractReviewEntity.CreateUserId
 	this.ServeJSON()
 }
-
-// @Title 增项申请审核未通过短信通知
-// @Description 审核未通过短信通知
-// @Success	200	{object}
-// @router /audit-reject-notice/:id [post]
-func (this *OilAnnualListenerController) AuditRejectNotice(supplierCertEntity suppliercert.OilSupplierCert, supplierEntity supplier.OilSupplier) {
-	toMobile := supplierEntity.Mobile
-	bFlag := ""
-	if supplierCertEntity.SupplierTypeCode == "01" {
-		bFlag = "物资类"
-	} else if supplierCertEntity.SupplierTypeCode == "02" {
-		bFlag = "基建类"
-	} else {
-		bFlag = "服务类"
-	}
-	msg := "您的" + bFlag + "年审申请审核未通过,请及时查看!"
-	msgService := msg2.GetMsgService(utils.DBE)
-	msgService.HandleMsg(toMobile, msg, "5-2", supplierCertEntity.CreateBy, supplierEntity.ContactName, strconv.Itoa(supplierCertEntity.CreateUserId), this.User.Username)
-}

+ 0 - 37
src/dashoo.cn/backend/api/controllers/oilcontract/contractDailyListener.go

@@ -2,7 +2,6 @@ package oilcontract
 
 import (
 	"dashoo.cn/backend/api/business/auditsetting"
-	"dashoo.cn/backend/api/business/oilcontract/contract"
 	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
 	"dashoo.cn/backend/api/business/workflow"
@@ -25,42 +24,6 @@ type ListenerApproveInfo struct {
 	Users string `json:"users"`
 }
 
-// @Title 获取二级单位分办人员列表 --回调
-// @Description get user by token
-// @Success 200 {string} string
-// @router /pre-fen-trail [post]
-func (this *OilContractDailyListenerController) PreFenTrialStatus() {
-	var jsonBlob = this.Ctx.Input.RequestBody
-	var listenerApprove ListenerApproveParams
-	json.Unmarshal(jsonBlob, &listenerApprove)
-	var contractReviewEntity contractReview.OilContractReview
-	srv := contractReview.GetOilContractReviewService(utils.DBE)
-	reviewId := strings.Split(listenerApprove.BusinessKey, "-")[0]
-
-	srv.GetEntityById(reviewId, &contractReviewEntity)
-	cols := []string{
-		"Id",
-		"Status",
-	}
-	//进入此步骤,记录在数据库中
-	contractReviewEntity.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
-	srv.UpdateEntityByIdCols(reviewId, contractReviewEntity, cols)
-
-	//查出二级单位分办的人员
-	//取出合同表
-	contractSvc := contract.GetOilContractService(utils.DBE)
-	var contractEntity contract.OilContract
-	contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
-
-	stepCode := workflow.GetWorkFlowStepCode(contractEntity.ContractClass)
-	auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
-	approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, contractReviewEntity.CommitComId)
-	var approveInfo ListenerApproveInfo
-	approveInfo.Users = approverIds
-	this.Data["json"] = &approveInfo
-	this.ServeJSON()
-}
-
 // 用
 // @Title 获取二级单位初审人员列表--回调
 // @Description get user by token

+ 4 - 0
src/dashoo.cn/backend/api/controllers/oilcontract/contractEvaluationItems.go

@@ -109,6 +109,10 @@ func (this *OilContractEvaluationItemsController) GetEntityList() {
 	this.ServeJSON()
 }
 
+// @Title 获取列表树
+// @Description get user by token
+// @Success 200 {object} []contractEvaluationItems.OilContractEvaluationItems
+// @router /tree [get]
 func (this *OilContractEvaluationItemsController) GetTreeList() {
 	//获取分页信息
 	page := this.GetPageInfoForm()

+ 13 - 121
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -29,7 +29,6 @@ type OilContractReviewController struct {
 // @Success 200 {object} []contractReview.OilContractReviewWorkFlow
 // @router /list [get]
 func (this *OilContractReviewController) GetEntityList() {
-
 	//获取分页信息
 	page := this.GetPageInfoForm()
 	where := " 1=1 "
@@ -50,14 +49,11 @@ func (this *OilContractReviewController) GetEntityList() {
 	ProcessKey := this.GetString("ProcessKey")
 	BackRemark := this.GetString("BackRemark")
 	CreateOn := this.GetString("CreateOn")
-	CreateUserId := this.GetString("CreateUserId")
-	CreateBy := this.GetString("CreateBy")
 
 	if Id != "" {
 		where = where + " and r.Id like '%" + Id + "%'"
 	}
 
-
 	if ContractClass != "" {
 		where = where + " and c.ContractClass = '" + ContractClass + "'"
 	}
@@ -83,15 +79,6 @@ func (this *OilContractReviewController) GetEntityList() {
 	}
 
 
-	if CreateUserId != "" {
-		where = where + " and r.CreateUserId like '%" + CreateUserId + "%'"
-	}
-
-
-	if CreateBy != "" {
-		where = where + " and r.CreateBy like '%" + CreateBy + "%'"
-	}
-
 	if CreateOn != "" {
 		dates := strings.Split(CreateOn, ",")
 		if len(dates) == 2 {
@@ -100,6 +87,15 @@ func (this *OilContractReviewController) GetEntityList() {
 			where = where + " and r.CreateOn>='" + minDate + "' and r.CreateOn<='" + maxDate + "'"
 		}
 	}
+
+	// 权限过滤  自己创建的评价 ,同二级部门创建的评价 ,企管法规处能看
+	where = where + " and ( r.CreateUserId =  '" + this.User.Id + "' "
+	where = where + " or r.UnitId = '" +  strconv.Itoa(this.User.UnitId) + "' "
+
+	// 还少个企管法规处
+
+	where = where + " )"
+
 	svc := contractReview.GetOilContractReviewService(utils.DBE)
 	var list []contractReview.OilContractReviewListVo
 	total := svc.GetContractReviewList(page.CurrentPage, page.Size, orderby, asc, &list, where)
@@ -166,6 +162,8 @@ func (this *OilContractReviewController) AddEntity() {
 	var reviewMode contractReview.OilContractReview
 	reviewMode.ContractId = modeVO.ContractId
 	reviewMode.Status = "0"
+	reviewMode.Unit = this.User.Unit
+	reviewMode.UnitId = this.User.UnitId
 	reviewMode.CreateOn = time.Now()
 	reviewMode.CreateBy = this.User.Realname
 	reviewMode.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
@@ -261,6 +259,8 @@ func (this *OilContractReviewController) UpdateEntity() {
 
 		"AuditIndex",
 
+		"IsFinal",
+
 		"CreateOn",
 
 		"CreateUserId",
@@ -543,113 +543,5 @@ func (this *OilContractReviewController) BusinessOfficeSeparateAuditEntity() {
 	conRev.UpdateEntityByIdCols(supplierCertId, contractReviewEntity, cols)
 }
 
-// @Title 确认是否入库
-// @Description 确认是否入库
-// @Success	200	{object} controllers.Request
-// @router /update-is-storage/:id [post]
-//func (this *OilContractReviewController) UpdateIsStorage() {
-//	id := this.Ctx.Input.Param(":id")
-//	result := this.GetString("result")
-//	AccessCardNo := this.GetString("AccessCardNo")
-//	BackRemark := this.GetString("BackRemark")
-//	SupplierId := this.GetString("SupplierId")
-//	var errinfo ErrorInfo
-//	if id == "" {
-//		errinfo.Message = "操作失败!请求信息不完整"
-//		errinfo.Code = -2
-//		this.Data["json"] = &errinfo
-//		this.ServeJSON()
-//		return
-//	}
-//	defer func() { //finally处理失败的异常
-//		if err := recover(); err != nil {
-//			errinfo.Message = err.(string)
-//			errinfo.Code = -1
-//			this.Data["json"] = &errinfo
-//			this.ServeJSON()
-//		} else {
-//			//返回正确结果
-//			if result == "1" {
-//				errinfo.Message = "入库成功"
-//			} else {
-//				errinfo.Message = "退回成功"
-//			}
-//			errinfo.Code = 0
-//			this.Data["json"] = &errinfo
-//			this.ServeJSON()
-//		}
-//	}()
-//
-//	var supplierCertEntity suppliercert.OilSupplierCert
-//	certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
-//	certSrv.GetEntityById(id, &supplierCertEntity)
-//
-//	AuditRemark := ""
-//	if result == "1" {
-//		AuditRemark = "审批通过, 已入库。"
-//		var supplierEntity supplier.OilSupplier
-//		srv := supplier.GetOilSupplierService(utils.DBE)
-//		srv.GetEntityById(SupplierId, &supplierEntity)
-//		var srvCols []string
-//		if supplierCertEntity.SupplierTypeCode == "01" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "WZAccessCardNo")
-//		} else if supplierCertEntity.SupplierTypeCode == "02" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "JSAccessCardNo")
-//		} else if supplierCertEntity.SupplierTypeCode == "03" {
-//			supplierEntity.WZAccessCardNo = AccessCardNo
-//			srvCols = append(srvCols, "JFAccessCardNo")
-//		} else {
-//			panic("准入类别错误!")
-//		}
-//
-//		srv.UpdateEntityByIdCols(SupplierId, &supplierEntity, srvCols)
-//	} else {
-//		if BackRemark != "" {
-//			AuditRemark = BackRemark
-//		} else {
-//			AuditRemark = "待入库未通过。"
-//		}
-//	}
-//
-//	cols := []string{
-//		"Id",
-//		"Status",
-//		"ApplyTime",
-//		"InFlag",
-//		"StorageOn",
-//		"ModifiedOn",
-//		"BackRemark",
-//	}
-//	//进入此步骤,记录在数据库中
-//	if result == "1" {
-//		supplierCertEntity.Status = suppliercert.STORE_STATUS // 7 已入库
-//		supplierCertEntity.StorageOn = time.Now()
-//		supplierCertEntity.ApplyTime = time.Now().AddDate(1, 0, 0)
-//		supplierCertEntity.InFlag = "1"
-//		supplierCertEntity.BackRemark = ""
-//	} else {
-//		supplierCertEntity.Status = suppliercert.NO_STOREING_STATUS // -7 待入库未通过
-//		supplierCertEntity.BackRemark = AuditRemark // 未通过理由
-//	}
-//
-//	supplierCertEntity.ModifiedOn = time.Now()
-//	certSrv.UpdateEntityByIdCols(id, supplierCertEntity, cols)
-//
-//	svcActiviti := workflow.GetActivitiService(utils.DBE)
-//	var ActiComplete workflow.ActiCompleteVM
-//	ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
-//	ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
-//	ActiComplete.UserId = this.User.Id //审批人员
-//	ActiComplete.Result = result
-//	ActiComplete.Remarks = AuditRemark
-//	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
-//	receiveVal := svcActiviti.TaskComplete(ActiComplete)
-//	if receiveVal != "true" {
-//		panic("工作流异常,请联系管理员!" + receiveVal)
-//	}
-//
-//}
 
 

+ 218 - 9
src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go

@@ -1,7 +1,12 @@
 package oilcontract
 
 import (
+	"dashoo.cn/backend/api/business/oilcontract/contract"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
+	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
+	"dashoo.cn/backend/api/business/workflow"
 	"encoding/json"
+	"strconv"
 	"strings"
 	"time"
 
@@ -51,6 +56,9 @@ func (this *OilContractSumScoreController) GetEntityList() {
 	NormalSumScore4 := this.GetString("NormalSumScore4")
 	SumScore4 := this.GetString("SumScore4")
 	Content4 := this.GetString("Content4")
+	NormalSumScore5 := this.GetString("NormalSumScore5")
+	SumScore5 := this.GetString("SumScore5")
+	Content5 := this.GetString("Content5")
 	ConclusionReason := this.GetString("ConclusionReason")
 	Conclusion := this.GetString("Conclusion")
 	CreateOn := this.GetString("CreateOn")
@@ -120,7 +128,17 @@ func (this *OilContractSumScoreController) GetEntityList() {
 	if SumScore4 != "" {
 		where = where + " and SumScore4 like '%" + SumScore4 + "%'"
 	}
+	if Content5 != "" {
+		where = where + " and Content5 like '%" + Content5 + "%'"
+	}
+
+	if NormalSumScore5 != "" {
+		where = where + " and NormalSumScore5 like '%" + NormalSumScore5 + "%'"
+	}
 
+	if SumScore5 != "" {
+		where = where + " and SumScore5 like '%" + SumScore5 + "%'"
+	}
 	if ConclusionReason != "" {
 		where = where + " and ConclusionReason like '%" + ConclusionReason + "%'"
 	}
@@ -130,9 +148,9 @@ func (this *OilContractSumScoreController) GetEntityList() {
 		where = where + " and Conclusion like '%" + Conclusion + "%'"
 	}
 
-	if CreateOn != "" {
-		where = where + " and CreateOn like '%" + CreateOn + "%'"
-	}
+	//if CreateOn != "" {
+	//	where = where + " and CreateOn like '%" + CreateOn + "%'"
+	//}
 
 
 	if CreateUserId != "" {
@@ -171,7 +189,7 @@ func (this *OilContractSumScoreController) GetEntityList() {
 
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 	var list []contractSumScore.OilContractSumScore
-	total := svc.GetPagingEntitiesWithOrderBytbl(this.User.AccCode, page.CurrentPage, page.Size, orderby, asc, &list, where)
+	total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
 	var datainfo DataInfo
 	datainfo.Items = list
 	datainfo.CurrentItemCount = total
@@ -259,11 +277,9 @@ func (this *OilContractSumScoreController) GetDictList() {
 // @router /get/:id [get]
 func (this *OilContractSumScoreController) GetEntity() {
 	Id := this.Ctx.Input.Param(":id")
-
 	var model contractSumScore.OilContractSumScore
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 	svc.GetEntityByIdBytbl(this.User.AccCode+OilContractSumScoreName, Id, &model)
-
 	this.Data["json"] = &model
 	this.ServeJSON()
 }
@@ -277,14 +293,14 @@ func (this *OilContractSumScoreController) AddEntity() {
 	var model contractSumScore.OilContractSumScore
 	var jsonBlob = this.Ctx.Input.RequestBody
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
-
 	json.Unmarshal(jsonBlob, &model)
+	model.Status   = "0"
 	model.Category = 1                      // 二级单位创建
 	model.CreateOn = time.Now()
 	model.CreateBy = this.User.Realname
 	model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
 
-	_, err := svc.InsertEntityBytbl(this.User.AccCode+OilContractSumScoreName, &model)
+	_, err := svc.InsertEntityBytbl(OilContractSumScoreName, &model)
 	var errinfo ErrorDataInfo
 	if err == nil {
 		//新增
@@ -358,6 +374,12 @@ func (this *OilContractSumScoreController) UpdateEntity() {
 
 		"SumScore4",
 
+		"Content5",
+
+		"NormalSumScore5",
+
+		"SumScore5",
+
 		"ConclusionReason",
 
 		"Conclusion",
@@ -423,4 +445,191 @@ func (this *OilContractSumScoreController) DeleteEntity() {
 	}
 }
 
- 
+
+// @Title 二级单位提交审批 --启动工作流
+// @Description 二级单位提交审批
+// @Success	200	{object} controllers.Request
+// @router /unit-audit/:id [post]
+func (this *OilContractSumScoreController) UnitAuditEntity() {
+	Id := this.Ctx.Input.Param(":id")
+	firstAudit := this.GetString("FirstAudit")
+	secondAudit := this.GetString("SecondAudit")
+	thirdAudit := this.GetString("ThirdAudit")
+	AuditRemark := this.GetString("AuditRemark")
+	userId := this.User.Id
+	var baseUserInfo userRole.Base_User
+	userService := userRole.GetUserService(utils.DBE)
+	userService.GetEntityById(userId, &baseUserInfo)
+	unitId := baseUserInfo.UnitId
+	var errinfo ErrorDataInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errinfo.Message = err.(string)
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errinfo.Message = "审核提交成功"
+			errinfo.Code = 0
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}()
+
+	//取出年度评审主表信息
+	conRev := contractSumScore.GetOilContractSumScoreService(utils.DBE)
+	var contractSumEntity contractSumScore.OilContractSumScore
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	//取出合同表
+	contractSvc := contract.GetOilContractService(utils.DBE)
+	var contractEntity contract.OilContract
+	contractSvc.GetEntityById(contractSumEntity.ContractId, &contractEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	//启动工作流
+	businessKey := contractSumEntity.Businesskey
+	processInstanceId := contractSumEntity.WorkflowId
+	// 如果被驳回,不再新启工作流
+	if processInstanceId == "" {
+		//启动工作流
+		businessKey = Id + "-" + strconv.Itoa(contractSumEntity.AuditIndex)
+		processInstanceId = svcActiviti.StartProcess2(workflow.OIL_DAILY_CONTRACT_EVALUATION, businessKey, this.User.Id, "1", contractEntity.ContractClass, contractEntity.SupplierName)
+		if len(processInstanceId) <= 0 {
+			panic("工作流启动失败!")
+		}
+		contractSumEntity.AuditIndex += 1
+	}
+	// 将启动和工作流,选择的初审和复审人员保存下来
+	cols := []string{
+		"Id",
+		"FirstAudit",
+		"SecondAudit",
+		"thirdAudit",
+		"WorkflowId",
+		"BusinessKey",
+		"ProcessKey",
+		"CommitComId",
+		"AuditIndex",
+	}
+	contractSumEntity.Processkey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	contractSumEntity.Businesskey = businessKey
+	contractSumEntity.WorkflowId = processInstanceId
+	contractSumEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
+	contractSumEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
+	contractSumEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
+	contractSumEntity.CommitComId = strconv.Itoa(unitId)
+	conRev.UpdateEntityByIdCols(Id, contractSumEntity, cols)
+
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.Businesskey
+	ActiComplete.UserId = this.User.Id // 当前审批操作人员
+	//ActiComplete.UserNames = secondAudit // 当前审批操作人员
+	ActiComplete.Result = "2" //分办提交给二级单位初审
+	ActiComplete.Remarks = AuditRemark
+	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
+	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+	if receiveVal != "true" {
+		panic("工作流异常,请联系管理员!" + receiveVal)
+	}
+}
+
+// @Title 分办之后的各级审批  --审批 包含:二级单位初审、复审, 业务处室专业审核
+// @Description 分办之后的各级审批
+// @Success	200	{object} controllers.Request
+// @router /common-audit/:id [post]
+func (this *OilContractSumScoreController) CommonAuditEntity() {
+	Id := this.Ctx.Input.Param(":id")
+	result := this.GetString("result")
+	AuditRemark := this.GetString("AuditRemark")
+
+	var errinfo ErrorDataInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errinfo.Message = err.(string)
+			errinfo.Code = -1
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errinfo.Message = "审核提交成功"
+			errinfo.Code = 0
+			this.Data["json"] = &errinfo
+			this.ServeJSON()
+		}
+	}()
+
+	//取出日常评审主表信息
+	conRev := contractReview.GetOilContractReviewService(utils.DBE)
+	var contractSumEntity contractReview.OilContractReview
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.BusinessKey
+	ActiComplete.UserId = this.User.Id //审批人员
+	ActiComplete.Result = result       //前台审批[同意、不同意]
+	ActiComplete.Remarks = AuditRemark
+	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
+	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+	if receiveVal != "true" {
+		panic("工作流异常,请联系管理员!" + receiveVal)
+	}
+}
+
+// @Title 业务处室接收分办
+// @Description 业务处室接收分办
+// @Success 200 {object} controllers.Request
+// @router /business-separate-audit/:id [post]
+func (this *OilContractSumScoreController) BusinessOfficeSeparateAuditEntity() {
+	Id := this.Ctx.Input.Param(":id")
+	ProfessionalAudit := this.GetString("ProfessionalAudit")
+	AuditRemark := this.GetString("AuditRemark")
+
+	var errInfo ErrorDataInfo
+	defer func() { //finally处理失败的异常
+		if err := recover(); err != nil {
+			errInfo.Message = err.(string)
+			errInfo.Code = -1
+			this.Data["json"] = &errInfo
+			this.ServeJSON()
+		} else {
+			//返回正确结果
+			errInfo.Message = "审核提交成功"
+			errInfo.Code = 0
+			this.Data["json"] = &errInfo
+			this.ServeJSON()
+		}
+	}()
+
+	//取出日常评审主表信息
+	conRev := contractReview.GetOilContractReviewService(utils.DBE)
+	var contractSumEntity contractReview.OilContractReview
+	conRev.GetEntityById(Id, &contractSumEntity)
+
+	svcActiviti := workflow.GetActivitiService(utils.DBE)
+	var ActiComplete workflow.ActiCompleteVM
+	ActiComplete.ProcessKey = workflow.OIL_DAILY_CONTRACT_EVALUATION
+	ActiComplete.BusinessKey = contractSumEntity.BusinessKey
+	ActiComplete.UserId = this.User.Id //审批人员
+	ActiComplete.Result = "1"          //前台审批[同意、不同意]
+	ActiComplete.UserNames = ProfessionalAudit
+	ActiComplete.Remarks = AuditRemark
+	ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
+	receiveVal := svcActiviti.TaskComplete(ActiComplete)
+	if receiveVal != "true" {
+		panic("工作流异常,请联系管理员!" + receiveVal)
+	}
+	cols := []string{
+		"Id",
+		"Status",
+		"ProfessionalAudit",
+	}
+	supplierCertId := strings.Split(contractSumEntity.BusinessKey, "-")[0]
+	contractSumEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
+	contractSumEntity.ProfessionalAudit, _ = strconv.Atoi(ProfessionalAudit)
+	conRev.UpdateEntityByIdCols(supplierCertId, contractSumEntity, cols)
+}

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

@@ -2,6 +2,8 @@ package oilsupplier
 
 import (
 	"dashoo.cn/backend/api/business/invoiceinfo"
+	"dashoo.cn/backend/api/business/oilcontract/contract"
+	"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/annualaudit"
 	"dashoo.cn/backend/api/business/oilsupplier/infochange"
 	"dashoo.cn/backend/api/business/oilsupplier/oilcatalog"
@@ -36,7 +38,7 @@ func (this *TodoListController) GetMyTaskEntityList() {
 	supplierTypeCode := this.GetString("SupplierTypeCode")
 	supplierName := this.GetString("SupplierName")
 	wfNames := ""
-	wfNames = workflow.OIL_ENUSER_SUPPLIER_APPLY  + "," + workflow.OIL_ENUSER_APPEND_APPLY + "," + workflow.OIL_INFO_CHANGE + "," + workflow.OIL_AUDIT_APPLY + "," + workflow.OIL_SUPPLIER_VERIFY
+	wfNames = workflow.OIL_ENUSER_SUPPLIER_APPLY  + "," + workflow.OIL_ENUSER_APPEND_APPLY + "," + workflow.OIL_INFO_CHANGE + "," + workflow.OIL_AUDIT_APPLY + "," + workflow.OIL_SUPPLIER_VERIFY+ "," + workflow.OIL_DAILY_CONTRACT_EVALUATION
 
 	var todoliststemp []todolist.TodoList
 
@@ -199,6 +201,26 @@ func (this *TodoListController) GetMyTaskEntityList() {
 				todo.CreateTime = item.CreateTime
 				todoliststemp = append(todoliststemp, todo)
 			}
+		} else if wfName == workflow.OIL_DAILY_CONTRACT_EVALUATION {
+			// 合同日常评审
+			var todo todolist.TodoList
+			conRev := contractReview.GetOilContractReviewService(utils.DBE)
+			var contractReviewEntity contractReview.OilContractReview
+			has = conRev.GetEntityById(id, &contractReviewEntity)
+			contractSvc := contract.GetOilContractService(utils.DBE)
+			var contractEntity contract.OilContract
+			contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
+			if has {
+				todo.Id = contractReviewEntity.Id
+				todo.Type = todolist.DAILY
+				todo.TaskName = item.TaskName
+				todo.UserName = this.User.Realname
+				todo.CreateTime = item.CreateTime
+				todo.SupplierTypeCode = contractEntity.ContractClass
+				todo.SupplierName = contractEntity.SupplierName
+				todo.Status = contractReviewEntity.Status
+				todoliststemp = append(todoliststemp, todo)
+			}
 		}
 	}
 
@@ -262,6 +284,8 @@ func (this *TodoListController) GetMyTaskFinishedList() {
 		wfNames = workflow.OIL_SUPPLIER_VERIFY
 	} else if stype == "9" {
 		wfNames = workflow.OIL_Catalog
+	} else if stype == "10" {
+		wfNames = workflow.OIL_DAILY_CONTRACT_EVALUATION
 	}
 
 	var todoliststemp []todolist.TodoList
@@ -413,6 +437,26 @@ func (this *TodoListController) GetMyTaskFinishedList() {
 				todo.CreateTime = item.CreateTime
 				todoliststemp = append(todoliststemp, todo)
 			}
+		} else if wfName == workflow.OIL_DAILY_CONTRACT_EVALUATION {
+			// 合同日常评审
+			var todo todolist.TodoList
+			conRev := contractReview.GetOilContractReviewService(utils.DBE)
+			var contractReviewEntity contractReview.OilContractReview
+			has = conRev.GetEntityById(id, &contractReviewEntity)
+			contractSvc := contract.GetOilContractService(utils.DBE)
+			var contractEntity contract.OilContract
+			contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
+			if has {
+				todo.Id = contractReviewEntity.Id
+				todo.Type = todolist.DAILY
+				todo.TaskName = item.TaskName
+				todo.UserName = this.User.Realname
+				todo.CreateTime = item.CreateTime
+				todo.SupplierTypeCode = contractEntity.ContractClass
+				todo.SupplierName = contractEntity.SupplierName
+				todo.Status = contractReviewEntity.Status
+				todoliststemp = append(todoliststemp, todo)
+			}
 		}
 
 	}

+ 1 - 7
src/dashoo.cn/backend/api/routers/router.go

@@ -489,12 +489,6 @@ func init() {
 				&oilcontract.OilContractReviewController{},
 			),
 		),
-		// 合同评价明细
-		beego.NSNamespace("/contract-evaluation",
-			beego.NSInclude(
-				&oilcontract.OilContractEvaluationItemsController{},
-			),
-		),
 		// 合同评价工单
 		beego.NSNamespace("/contract-order",
 			beego.NSInclude(
@@ -517,7 +511,7 @@ func init() {
 		// 合同年度评审回调
 		beego.NSNamespace("/contract-annual-listener",
 			beego.NSInclude(
-				&oilcontract.OilAnnualListenerController{},
+				&oilcontract.OilContractAnnualListenerController{},
 			),
 		),
 	)

+ 3 - 3
src/dashoo.cn/frontend_web/nuxt.config.js

@@ -171,9 +171,9 @@ module.exports = {
 
 
   axios: {
-    // baseURL: '//192.168.1.44:10091/api/' // 本机开发使用
-    // baseURL: '//localhost:10091/api/' // 本机开发使用
-    baseURL: '//192.168.1.41:10091/api/' // 本机开发使用
+    //baseURL: '//192.168.1.44:10091/api/' // 本机开发使用
+     baseURL: '//localhost:10091/api/' // 本机开发使用
+    // baseURL: '//192.168.1.41:10091/api/' // 本机开发使用
     // baseURL: '//192.168.124.13:10091/api/' // 本机开发使用
 
     /* --------Nuxt Start发版用 START-------------- */

+ 23 - 0
src/dashoo.cn/frontend_web/src/api/oilcontract/contractSumScore.js

@@ -0,0 +1,23 @@
+export default {
+    GetComputeList(CreateOn, params,myAxios){  //  计算列表
+        return myAxios({
+            url: '/contract-score/compute-list?CreateOn='+ CreateOn,
+            method: 'GET',
+            params: params
+          });
+    },
+    addEntity(formData, myAxios) {   // 新增年度审核
+        return myAxios({
+          url: '/contract-score/add',
+          method: 'post',
+          data: formData
+        })
+      },
+    getList(CreateOn, params, myAxios) {
+      return myAxios({
+        url: '/contract-score/list?CreateOn='+ CreateOn,
+        method: 'GET',
+        params: params
+      });
+    },
+}

+ 87 - 211
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year-check/_opera/operation.vue

@@ -13,199 +13,61 @@
         <span>
           <i class="icon icon-table2"></i> 编辑
         </span>
+        <span style="float: right;">
+          <el-button type="primary" size="mini"  @click="saveEntity">保存</el-button>
+        </span>
       </div>
       <el-tabs v-model="activeName" style="margin-top: -10px">
-        <el-tab-pane label="合同内容" name="1">
+        <el-tab-pane label="评价信息" name="1">
           <el-card class="box-card" style="mini-height: calc(100vh - 113px);">
-            <div slot="header">
-              <span>合同信息</span>
-              <span style="float: right;">
-                <el-button type="primary" size="mini" @click="saveEntity">保存</el-button>
-                <router-link :to="'/oilcontract/contract'">
-                  <el-button type="primary" size="mini" style="margin-left: 8px">返回</el-button>
-                </router-link>
-              </span>
-            </div>
             <el-form label-width="110px" ref="EntityForm" :model="formData">
               <el-row>
                 <el-col :span="8">
-                  <el-form-item label="企业名称">
-                    <el-select ref="SupplierSelect" v-model="formData.SupplierId" placeholder="请选择" style="width: 100%" @change="supplierChangeHandler">
-                      <el-option key="1" label="天津油气公司" value="1"></el-option>
-                      <el-option key="2" label="北京管道公司" value="2"></el-option>
-                      <el-option key="3" label="上海监控公司" value="3"></el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="合同分类">
-                    <el-select  v-model="formData.ContractType" placeholder="请选择" style="width: 100%">
-                      <el-option key="1" label="服务商" value="1"></el-option>
-                      <el-option key="2" label="承包商" value="2"></el-option>
-                      <el-option key="3" label="供应商" value="3"></el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="项目名称">
-                    <el-input v-model="formData.ProjectName" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="服务商名称">
+                    <el-input disabled="disabled" v-model="formData.SupplierName"  style="width: 100%"></el-input>
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="合同编号">
-                    <el-input required v-model="formData.ContractNo" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="评价得分">
+                    <el-input-number v-model="formData.SumScore" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="工程地点">
-                    <el-input v-model="formData.ProjectPlace" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="项目管理(40分)">
+                    <el-input-number v-model="formData.SumScore1" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="项目负责人">
-                    <el-input v-model="formData.ProjectOwner" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="HSE管理(30分)">
+                    <el-input-number v-model="formData.SumScore2" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="联系人电话">
-                    <el-input v-model="formData.Telephone" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="合同履行(15分)">
+                    <el-input-number v-model="formData.SumScore3" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="项目类别">
-                    <el-select v-model="formData.ProjectType" placeholder="请选择" style="width: 100%">
-                      <el-option key="1" label="咨询" value="1"></el-option>
-                      <el-option key="2" label="勘探" value="2"></el-option>
-                      <el-option key="3" label="设计" value="3"></el-option>
-                      <el-option key="4" label="施工" value="4"></el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="合同模式">
-                    <el-input v-model="formData.ContractMode" placeholder="请输入"  style="width: 100%"></el-input>
+                  <el-form-item label="企业诚信(15分)">
+                    <el-input-number v-model="formData.SumScore4" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
                 <el-col :span="8">
-                  <el-form-item label="是否分包">
-                    <el-select placeholder="请选择" v-model="formData.SubPackage" style="width: 100%">
-                      <el-option key="1" label="是" value="1"></el-option>
-                      <el-option key="2" label="否" value="2"></el-option>
+                  <el-form-item label="评价结果">
+                    <el-select v-model="formData.Conclusion" placeholder="请选择" style="width: 100%">
+                      <el-option key="1" label="优秀" value="1"></el-option>
+                      <el-option key="2" label="合格" value="2"></el-option>
+                      <el-option key="3" label="不合格" value="3"></el-option>
                     </el-select>
                   </el-form-item>
                 </el-col>
 
-                <el-col :span="8">
-                  <el-form-item label="合同总金额">
-                    <el-input v-model="formData.Amount" placeholder="请输入"  style="width: 100%">
-                      <template slot="append">(万元)</template>
-                    </el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="合同总工期">
-                    <el-input v-model="formData.ContractPeriod" placeholder="请输入"  style="width: 100%">
-                      <template slot="append">(天)</template>
-                    </el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="开工日期">
-                    <el-input v-model="formData.OpenDate" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="计划竣工时间">
-                    <el-input v-model="formData.PlanFinishDate" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="8">
-                  <el-form-item label="建设单位">
-                    <el-input v-model="formData.ConstructionUnit" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="建设负责人">
-                    <el-input v-model="formData.ConstructionOwner" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="手机号">
-                    <el-input v-model="formData.ConstructionTelphone" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="施工单位">
-                    <el-input v-model="formData.BuildUnit" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="施工负责人">
-                    <el-input v-model="formData.BuildOwner" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="手机号">
-                    <el-input v-model="formData.BuildTelphone" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="监理单位">
-                    <el-input v-model="formData.SuperviseUnit" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="监理负责人">
-                    <el-input v-model="formData.SuperviseOwner" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="手机号">
-                    <el-input v-model="formData.SuperviseTelphone" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="质量监督单位">
-                    <el-input v-model="formData.QualityUnit" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="质量监督负责人">
-                    <el-input v-model="formData.QualityOwner" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :span="8">
-                  <el-form-item label="手机号">
-                    <el-input v-model="formData.QualityTelphone" placeholder="请输入"  style="width: 100%"></el-input>
-                  </el-form-item>
-                </el-col>
-
                 <el-col :span="24">
                   <el-form-item label="备注">
                     <el-input type="textarea" v-model="formData.Remark" placeholder="请输入"  style="width: 100%"></el-input>
@@ -218,9 +80,25 @@
         <el-tab-pane label="基本条件评价" name="2">
           <base-list></base-list>
         </el-tab-pane>
-        <el-tab-pane label="业绩评价" name="3">
+        <el-tab-pane label="专业处室基本条件评价" name="3">
+          <base-list></base-list>
+        </el-tab-pane>
+        <el-tab-pane label="业绩评价" name="4">
+          <evaluation-list></evaluation-list>
+        </el-tab-pane>
+        <el-tab-pane label="专业处室业绩评价" name="5">
           <evaluation-list></evaluation-list>
         </el-tab-pane>
+        <el-tab-pane label="审批流程" name="6">
+          <el-card class="box-card mycard">
+            <div slot="header"
+                 class="clearfix">
+              <span>审批流程</span>
+            </div>
+            <!-- :entryinfo="entrydetail" -->
+            <wf-history ref="WfHistory" :entryinfo="entrydetail"></wf-history>
+          </el-card>
+        </el-tab-pane>
       </el-tabs>
     </el-card>
 
@@ -231,9 +109,10 @@
   import {
     mapGetters
   } from 'vuex'
-  import api from '@/api/oilcontract/contract'
+  import api from '@/api/oilcontract/contractSumScore'
   import evaluationList from './evaluationlist'
   import baseList from './baselist'
+  import WfHistory from '@/components/workflow/wfhistory.vue'
   export default {
     computed: {
       ...mapGetters({
@@ -243,52 +122,33 @@
     name: 'oilcontractEdit',
     components: {
       evaluationList,
-      baseList
+      baseList,
+      WfHistory
     },
 
     data() {
       return {
+        // 当前操作
+        operate:'add',   // add 新增 edit 编辑
+        // 工作流
+        entrydetail: {
+          process: '',
+          business: '',
+          instance: ''
+        },
         activeName: '1',
         serviceId: '',
         formData: {
           Id: '',
-          SupplierId: '1',
-          SupplierName: '',
-          ProjectName: '',
-          ContractNo: '',
-          ProjectPlace: '',
-          ProjectOwner: '',
-          Telephone: '',
-          ProjectType: '1',
-          ContractMode: '',
-          Amount: '',
-          ContractPeriod: '',
-          OpenDate: '',
-          PlanFinishDate: '',
-          ConstructionUnit: '',
-          ConstructionOwner: '',
-          ConstructionTelphone: '',
-          BuildUnit: '',
-          BuildOwner: '',
-          BuildTelphone: '',
-          SuperviseUnit: '',
-          SuperviseOwner: '',
-          SuperviseTelphone: '',
-          QualityUnit: '',
-          QualityOwner: '',
-          QualityTelphone: '',
-          Remark: '',
-          IsDelete: '',
-          CreateOn: '',
-          CreateUserId: '',
-          CreateBy: '',
-          ModifiedOn: '',
-          ModifiedUserId: '',
-          ModifiedBy: '',
-          //缺少
-          SubPackage: '',
-          ContractType: ''
-
+          SupplierId:'',
+          SupplierName:'',
+          SumScore :0,
+          SumScore1:0,
+          SumScore2:0,
+          SumScore3:0,
+          SumScore4:0,
+          Conclusion:1,
+          Note:''
         },
 
         //下拉选择项
@@ -298,17 +158,34 @@
       }
     },
     created() {
-      this.serviceId = this.$route.params.opera;
-      this.getDictOptions();
-      console.log(this.serviceId);
-      if(this.serviceId != 'add' && this.serviceId>0) {
-        this.formData.Id = this.serviceId;
-        this.initDatas();
-      } else {
-        this.formData.Id = 0;
+      console.log('接受操作',this.$route.params)
+      this.operate  = this.$route.params.opera;
+      if(this.operate == 'add'){  // 新增进入
+        this.initPage(this.$route.query.item)
+      }else{ // 编辑进入
+
       }
+      
+      // this.getDictOptions();
+      // console.log(this.serviceId);
+      // if(this.serviceId != 'add' && this.serviceId>0) {
+      //   this.formData.Id = this.serviceId;
+      //   this.initDatas();
+      // } else {
+      //   this.formData.Id = 0;
+      // }
     },
     methods: {
+      initPage(item){
+        this.formData.SupplierId   = parseInt(item.SupplierId)
+        this.formData.SupplierName = item.SupplierName
+        this.formData.SumScore     = item.Score
+        this.formData.SumScore1    = item.Score1
+        this.formData.SumScore2    = item.Score2
+        this.formData.SumScore3    = item.Score3
+        this.formData.SumScore4    = item.Score4
+        this.formData.Conclusion   = item.Evaluate
+      },
       initDatas() {
         if(this.formData.Id) {
           api.getEntity(this.formData.Id, this.$axios).then(res => {
@@ -332,14 +209,11 @@
       saveEntity() {
         this.$refs['EntityForm'].validate((valid) => {
           if (valid) {
-            //this.formData.WellNo = this.$refs.selectWellNo.selectedLabel + '';
-
-            if (!this.formData.Id) {
+            if (this.operate == 'add') {
               this.addEntity();
             } else {
               this.updateEntity();
             }
-
           } else {
             return false
           }
@@ -347,9 +221,11 @@
       },
 
       addEntity() {
+        this.formData.Conclusion   = parseInt( this.formData.Conclusion ) 
         api.addEntity(this.formData, this.$axios).then(res => {
           if (res.data.code === 0) {
             //保存成功后,初始化数据,变成修改
+            this.operate = 'edit'
             this.formData.Id = res.data.item;
             this.initDatas();
             this.$message({

+ 20 - 149
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year-check/index.vue

@@ -12,9 +12,9 @@
           <i class="icon icon-table2"></i> 合同表
         </span>
         <span style="float: right;">
-          <router-link :to="'/oilcontract/contract-basis-year-single/add/operation'">
+          <!-- <router-link :to="'/oilcontract/contract-basis-year-single/add/operation'">
             <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">添加</el-button>
-          </router-link>
+          </router-link> -->
           <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">导入</el-button>
         </span>
         <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
@@ -300,7 +300,7 @@
 </template>
 <script>
   import { mapGetters } from 'vuex';
-  import api from '@/api/oilcontract/contract';
+  import api from '@/api/oilcontract/contractSumScore';
 
   export default {
     computed: {
@@ -366,192 +366,63 @@
 
         },
         tableColumns: [
-
-          {
-            prop: "Id",
-            label: '',
-            width: 100,
-            sort: true
-          },
-
           {
             prop: "SupplierId",
-            label: '供应商ID',
+            label: '服务商ID',
             width: 100,
             sort: true
           },
 
           {
             prop: "SupplierName",
-            label: '企业名称',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ProjectName",
-            label: '项目名称',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ContractNo",
-            label: '合同编号',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ProjectPlace",
-            label: '工程地点',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ProjectOwner",
-            label: '项目负责人',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "Telephone",
-            label: '联系人电话',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ProjectType",
-            label: '项目类别',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ContractMode",
-            label: '合同模式',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "Amount",
-            label: '合同总金额(万元)',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ContractPeriod",
-            label: '合同总工期(天)',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "OpenDate",
-            label: '开工日期',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "PlanFinishDate",
-            label: '计划竣工时间',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "ConstructionUnit",
-            label: '建设单位',
+            label: '服务商名称',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ConstructionOwner",
-            label: '建设负责人',
+            prop: "SumScore",
+            label: '评价得分',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ConstructionTelphone",
-            label: '手机号',
+            prop: "SumScore1",
+            label: '项目管理(40分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "BuildUnit",
-            label: '施工单位',
+            prop: "SumScore2",
+            label: 'HSE管理(30分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "BuildOwner",
-            label: '施工负责人',
+            prop: "SumScore3",
+            label: '合同履行(15分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "BuildTelphone",
-            label: '手机号',
+            prop: "SumScore4",
+            label: '企业诚信(15分)',
             width: 100,
             sort: true
           },
-
           {
-            prop: "SuperviseUnit",
-            label: '监理单位',
+            prop: "Conclusion",
+            label: '评价结果',
             width: 100,
             sort: true
           },
-
-          {
-            prop: "SuperviseOwner",
-            label: '监理负责人',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "SuperviseTelphone",
-            label: '手机号',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "QualityUnit",
-            label: '质量监督单位',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "QualityOwner",
-            label: '质量监督负责人',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "QualityTelphone",
-            label: '手机号',
-            width: 100,
-            sort: true
-          },
-
-          {
-            prop: "Remark",
-            label: '备注',
+           {
+            prop: "Status",
+            label: '状态',
             width: 100,
             sort: true
           }]

+ 26 - 42
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/index.vue

@@ -12,9 +12,6 @@
           <i class="icon icon-table2"></i> 合同表
         </span>
         <span style="float: right;">
-          <router-link :to="'/oilcontract/contract-service-year/add/operation'">
-            <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">添加</el-button>
-          </router-link>
           <el-button type="primary" size="mini" style="margin-left:10px; margin-top: -4px;">导入</el-button>
         </span>
         <el-form ref="form" :inline="true" style="float: right; margin-top: -10px">
@@ -37,41 +34,18 @@
       <el-table size="mini" :data="entityList" border height="calc(100vh - 243px)" style="width: 100%" @sort-change="orderby">
         <el-table-column label="操作" header-align="center" width="100" align="center" fixed>
           <template slot-scope="scope">
-            <router-link :to="'/oilsupplier/oilcontract/' + scope.row.Id + '/operation'">
-              <el-button type="text" title="编辑" size="small" icon="el-icon-edit"></el-button>
-            </router-link>
-
-            <el-popover placement="top" title="提示" v-model="scope.row.deleteConfirmFlag">
-              <el-alert
-                title=""
-                description="确认要删除吗?"
-                type="warning"
-                :closable="false">
-              </el-alert>
-              <br/>
-              <div style="text-align: right; margin: 0">
-                <el-button type="primary" size="mini" @click="deleteEntity(scope.row)">删除</el-button>
-              </div>
-              <el-button slot="reference" type="text" title="删除" style="margin-left:3px" size="small" @click="scope.row.deleteConfirmFlag = true">
-                <i class="el-icon-delete"></i>
-              </el-button>
-            </el-popover>
+              <el-button type="text" title="生成" size="small" icon="el-icon-edit" @click="onNavigateScore(scope.row)">生成</el-button>
           </template>
         </el-table-column>
-
         <el-table-column prop="SupplierName" header-align="center" label="服务商名称"></el-table-column>
-        <el-table-column prop="ContractNo" header-align="center" label="评价得分" width="120"></el-table-column>
+        <el-table-column prop="Score" header-align="center" label="评价得分" width="120"></el-table-column>
         <el-table-column label="评价内容及得分" header-align="center">
-          <el-table-column prop="ProjectPlace" header-align="center" label="项目管理(40分)" width="120"></el-table-column>
-          <el-table-column prop="ProjectOwner" header-align="center" label="HSE管理(30分)" width="120"></el-table-column>
-          <el-table-column prop="Telephone" header-align="center" label="合同履行(15分)" width="120"></el-table-column>
-          <el-table-column prop="ProjectType" header-align="center" label="企业诚信(15分)" width="120"></el-table-column>
-        </el-table-column>
-        <el-table-column label="评价结果" header-align="center">
-          <el-table-column prop="ProjectPlace" header-align="center" label="优秀" width="80"></el-table-column>
-          <el-table-column prop="ProjectOwner" header-align="center" label="合格" width="80"></el-table-column>
-          <el-table-column prop="Telephone" header-align="center" label="不合格" width="80"></el-table-column>
+          <el-table-column prop="Score1" header-align="center" label="项目管理(40分)" width="120"></el-table-column>
+          <el-table-column prop="Score2" header-align="center" label="HSE管理(30分)" width="120"></el-table-column>
+          <el-table-column prop="Score3" header-align="center" label="合同履行(15分)" width="120"></el-table-column>
+          <el-table-column prop="Score4" header-align="center" label="企业诚信(15分)" width="120"></el-table-column>
         </el-table-column>
+        <el-table-column prop="Evaluate" label="评价结果" header-align="center" />
       </el-table>
       <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
                      :page-sizes="[10, 15, 20, 25]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="currentItemCount">
@@ -305,7 +279,7 @@
 </template>
 <script>
   import { mapGetters } from 'vuex';
-  import api from '@/api/oilcontract/contract';
+  import api from '@/api/oilcontract/contractSumScore';
 
   export default {
     computed: {
@@ -380,42 +354,42 @@
           },
 
           {
-            prop: "ContractNo",
+            prop: "Score",
             label: '评价得分',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ProjectPlace",
+            prop: "Score1",
             label: '项目管理(40分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ProjectOwner",
+            prop: "Score2",
             label: 'HSE管理(30分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "Telephone",
+            prop: "Score3",
             label: '合同履行(15分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ProjectType",
+            prop: "Score4",
             label: '企业诚信(15分)',
             width: 100,
             sort: true
           },
 
           {
-            prop: "ContractMode",
+            prop: "Evaluate",
             label: '评价结果',
             width: 100,
             sort: true
@@ -450,7 +424,7 @@
         //查询条件
         Object.assign(params, this.searchForm)
         //访问接口
-        api.getList(myCreateOn.join(','), params, this.$axios).then(res => {
+        api.GetComputeList(myCreateOn.join(','), params, this.$axios).then(res => {
           this.entityList = res.data.items
           this.currentItemCount = res.data.currentItemCount
         }).catch(err => {
@@ -549,7 +523,17 @@
         var minute = date.getMinutes();
         minute = minute < 10 ? ('0' + minute) : minute;
         return y + '-' + m + '-' + d + ' ' + h + ':' + minute;
-      }
+      },
+      //跳转评价
+      onNavigateScore(item){
+        console.log('跳转',item)
+        this.$router.push({
+          path:'/oilcontract/contract-service-year-check/add/operation',
+          query:{
+            item:item
+          }
+        })
+      },
     }
   }