2
3
Просмотр исходного кода

前后:合同业绩评价结果和条件评价结果生成

MAC 5 лет назад
Родитель
Сommit
3e974d5975

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

@@ -99,7 +99,7 @@ type OilContractSumScoreVo struct {
 	B7       int       `json:"B7" xorm:"default 0 comment('B7') INT(11) 'B7'"`
 	B8       int       `json:"B8" xorm:"default 0 comment('B8') INT(11) 'B8'"`
 
-	Result1     	 string    `json:"Result1" xorm:"comment('业绩评价结果') VARCHAR(255) 'Result1'"`
+	Result1     	 float64    `json:"Result1" xorm:"default 0.00 comment('业绩评价结果') DECIMAL(11,2) 'Result1'"`
 	Result2     	 string    `json:"Result2" xorm:"comment('基本条件评价结果') VARCHAR(255) 'Result2'"`
 
 }

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

@@ -129,7 +129,7 @@ func (s *OilContractSumScoreService) GetSumListEntitiesWithOrderBytbl(entitiesPt
 	var sql string
 	sql =  `select contract.Id,contract.SupplierId,contract.SupplierName,contract.Amount, `
 	sql += ` ROUND(sum(case when items.ParentId = 0 AND items.Type = 1 then items.Score else 0 end)/sum(case when items.SequenceNo in  ('1') AND items.Type = 1 then 1 else 0 end),2)  Result1, `
-	sql += ` (case when items.Type = 2 AND items.Value = 0 then 0 else 1 end)  Result2 `
+	sql += ` sum(case when items.Type = 2 AND items.Value = 1 then 1 else 0 end)  Result2 `
 	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 `

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

@@ -49,7 +49,7 @@ type OilContractSumScoreItems struct{
 	B7       int       `json:"B7" xorm:"default 0 comment('B7') INT(11) 'B7'"`
 	B8       int       `json:"B8" xorm:"default 0 comment('B8') INT(11) 'B8'"`
 
-	Result1    	 string    `json:"Result1" xorm:"default '0' comment('业绩评价结果') VARCHAR(50) 'Result1'"`
+	Result1    	 float64   `json:"Result1" xorm:"default 0.00 comment('业绩评价结果') DECIMAL(11,2) 'Result1'"`
 	Result2    	 string    `json:"Result2" xorm:"default '0' comment('基本条件评价结果') VARCHAR(50) 'Result2'"`
 
 }

+ 6 - 5
src/dashoo.cn/backend/api/controllers/oilcontract/contractSumScore.go

@@ -4,6 +4,7 @@ import (
 	"dashoo.cn/backend/api/business/oilcontract/contractSumScoreItems"
 	"dashoo.cn/backend/api/business/oilsupplier/supplier"
 	"dashoo.cn/business2/permission"
+	"fmt"
 
 	//"dashoo.cn/backend/api/business/oilcontract/contractReview"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercert"
@@ -306,13 +307,13 @@ func (this *OilContractSumScoreController) GetResultEntity() {
 	svc := contractSumScore.GetOilContractSumScoreService(utils.DBE)
 	where := " contract.SupplierId = " + Id
 	svc.GetSumListEntitiesWithOrderBytbl(&list, where)
-	sum := 0
-	amountSum := 0
+	var sum float64
+	var amountSum float64
 	isResult := "1"
 	if len(list) > 0 {
 		for _, value := range list {
-			amount, _ := strconv.Atoi(value.Amount)
-			result, _ := strconv.Atoi(value.Result1)
+			amount, _ := strconv.ParseFloat(value.Amount, 64)
+			result, _ := strconv.ParseFloat(value.Result1, 64)
 			sum += amount * result
 			amountSum += amount
 			if value.Result2 == "0" {
@@ -321,7 +322,7 @@ func (this *OilContractSumScoreController) GetResultEntity() {
 		}
 	}
 	var result Result
-	result.Result1 = string(sum)
+	result.Result1 = fmt.Sprintf("%.2f", sum/amountSum)
 	result.Result2 = isResult
 	this.Data["json"] = &result
 	this.ServeJSON()

+ 14 - 1
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-basis-year/_opera/operation.vue

@@ -100,7 +100,7 @@
                 </el-col>
                 <el-col :span="8" >
                   <el-form-item label="业绩评价结果" prop="Result1">
-                    <el-input  :disabled="!auditBtnBoolean" v-model="evaluateData.Result1" placeholder="请输入"  style="width: 100%"></el-input>
+                    <el-input-number :disabled="!auditBtnBoolean" v-model="evaluateData.Result1" :max="100" :min="0" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="8" >
@@ -356,6 +356,19 @@
     created() {
       console.log('接受操作',this.$route.query.item)
       this.serviceId  = this.$route.params.opera;
+      if (this.$route.query.item.SupplierId > 0) {
+        api.GetResultEntity(this.$route.query.item.SupplierId, this.$axios).then(res => {
+          console.log('结果',res)
+          this.evaluateData.Result1 = res.data.Result1
+          if (res.data.Result2 && res.data.Result2 == "0") {
+            this.evaluateData.Result2 = "否"
+          } else {
+            this.evaluateData.Result2 = "是"
+          }
+        }).catch(err => {
+          console.error(err)
+        });
+      }
       if(this.serviceId != 'add' && this.serviceId>0){  //编辑进入
          this.formData.Id = this.serviceId
          this.refreshPage()

+ 13 - 0
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-goods-year/_opera/operation.vue

@@ -330,6 +330,19 @@
     created() {
       console.log('接受操作',this.$route.query.item)
       this.serviceId  = this.$route.params.opera;
+      if (this.$route.query.item.SupplierId > 0) {
+        api.GetResultEntity(this.$route.query.item.SupplierId, this.$axios).then(res => {
+          console.log('结果',res)
+          this.evaluateData.Result1 = res.data.Result1
+          if (res.data.Result2 && res.data.Result2 == "0") {
+            this.evaluateData.Result2 = "否"
+          } else {
+            this.evaluateData.Result2 = "是"
+          }
+        }).catch(err => {
+          console.error(err)
+        });
+      }
       if(this.serviceId != 'add' && this.serviceId>0){  //编辑进入
          this.formData.Id = this.serviceId
          this.refreshPage()

+ 8 - 5
src/dashoo.cn/frontend_web/src/pages/oilcontract/contract-service-year/_opera/operation.vue

@@ -40,7 +40,7 @@
 
                 <el-col :span="8">
                   <el-form-item label="评价得分" prop="SumScore">
-                    <el-input-number :disabled="!auditBtnBoolean" v-model="evaluateData.SumScore" ::max="100" :min="0" placeholder="请输入"  style="width: 100%" />
+                    <el-input-number :disabled="!auditBtnBoolean" v-model="evaluateData.SumScore" :max="100" :min="0" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
 
@@ -79,7 +79,7 @@
                 </el-col>
                 <el-col :span="8" >
                   <el-form-item label="业绩评价结果" prop="Result1">
-                    <el-input  :disabled="!auditBtnBoolean" v-model="evaluateData.Result1" placeholder="请输入"  style="width: 100%"></el-input>
+                    <el-input-number :disabled="!auditBtnBoolean" v-model="evaluateData.Result1" :max="100" :min="0" placeholder="请输入"  style="width: 100%" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="8" >
@@ -321,8 +321,12 @@
       if (this.$route.query.item.SupplierId > 0) {
         api.GetResultEntity(this.$route.query.item.SupplierId, this.$axios).then(res => {
           console.log('结果',res)
-          this.evaluateData.Result1 = res.Result1
-          this.evaluateData.Result2 = res.Result2
+          this.evaluateData.Result1 = res.data.Result1
+          if (res.data.Result2 && res.data.Result2 == "0") {
+            this.evaluateData.Result2 = "否"
+          } else {
+            this.evaluateData.Result2 = "是"
+          }
         }).catch(err => {
           console.error(err)
         });
@@ -423,7 +427,6 @@
       },
       initPage(item){
         this.evaluateData = item
-
         this.$set(this.evaluateData,'SupplierId', Number(item.SupplierId))
         this.$set(this.evaluateData,'SumScore', Number(item.Score))
         this.$set(this.evaluateData,'SumScore1', Number(item.Score1))