Преглед изворни кода

专业处室和企管保存

wd пре 2 година
родитељ
комит
0c5a5c23c6

+ 9 - 0
src/dashoo.cn/backend/api/business/oilcontract/contractEvaluationItems/contractEvaluationItemsService.go

@@ -31,3 +31,12 @@ func (s *OilContractEvaluationItemsService) GetCountItems(entitiesPtr interface{
 
 	s.DBE.SQL(sql).Find(entitiesPtr)
 }
+
+func (s *OilContractEvaluationItemsService) UpdateBatch(setWhere string, where string) (err error) {
+
+	sql := "update OilContractEvaluationItems set " + setWhere
+	sql += " WHERE " + where
+	_, err = s.DBE.Exec(sql)
+	return err
+
+}

+ 36 - 24
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -678,23 +678,29 @@ func (this *OilContractReviewController) SaveEvaluationItemsBySec() {
 	//where := "ContentReviewId=" + id + " AND Category = 1 "
 	// 清除掉之前的
 	//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
+	score := "Score = CASE ItemId "
+	value := "Value = CASE ItemId "
+	remark := "Remark = CASE ItemId "
+	modifiedOn := "ModifiedOn = CASE ItemId "
+	modifiedBy := "ModifiedBy = CASE ItemId "
+	modifiedUserId := "ModifiedUserId = CASE ItemId "
+	userId, _ := utils.StrTo(this.User.Id).Int()
 	// 新增配置项
 	for _, v := range modeVO.Items {
 		if v.Id == 0 {
 			panic("操作失败!请求信息Id不完整")
 		}
-		cols := []string{"Score", "Value", "Remark", "ModifiedOn", "ModifiedBy", "ModifiedUserId"}
-		var temp contractEvaluationItems.OilContractEvaluationItems
-		temp.Score = v.Score
-		temp.Value = v.Value
-		temp.Remark = v.Remark
-		temp.ModifiedOn = time.Now()
-		temp.ModifiedBy = this.User.Realname
-		temp.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-		err := itemSvc.UpdateEntityBywheretbl(OilContractEvaluationItemsName, &temp, cols, "Category = 1 and ContentReviewId = "+id+" and ItemId = "+strconv.Itoa(v.Id))
-		if err != nil {
-			panic("修改失败!" + utils.AlertProcess(err.Error()))
-		}
+		score += " WHEN " + strconv.Itoa(v.Id) + " THEN " + v.Score
+		value += " WHEN " + strconv.Itoa(v.Id) + " THEN " + strconv.Itoa(v.Value)
+		remark += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + v.Remark + "'"
+		modifiedOn += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + time.Now().Format("2006-01-02 15:04:05") + "'"
+		modifiedBy += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + this.User.Realname + "'"
+		modifiedUserId += " WHEN " + strconv.Itoa(v.Id) + " THEN " + strconv.Itoa(userId)
+	}
+	setWhere := score + " END, " + value + " END, " + remark + " END, " + modifiedOn + " END, " + modifiedBy + " END, " + modifiedUserId + " END "
+	err := itemSvc.UpdateBatch(setWhere, "Category = 1 and ContentReviewId = " + id)
+	if err != nil {
+		panic("修改失败!" + utils.AlertProcess(err.Error()))
 	}
 }
 
@@ -737,23 +743,29 @@ func (this *OilContractReviewController) ProfUpdateSecEvaEntity() {
 	// 清除掉之前的
 	//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
 
+	score := "Score = CASE ItemId "
+	value := "Value = CASE ItemId "
+	remark := "Remark = CASE ItemId "
+	modifiedOn := "ModifiedOn = CASE ItemId "
+	modifiedBy := "ModifiedBy = CASE ItemId "
+	modifiedUserId := "ModifiedUserId = CASE ItemId "
+	userId, _ := utils.StrTo(this.User.Id).Int()
 	// 新增配置项
 	for _, v := range modeVO.Items {
 		if v.Id == 0 {
 			panic("操作失败!请求信息Id不完整")
 		}
-		cols := []string{"Score", "Value", "Remark", "ModifiedOn", "ModifiedBy", "ModifiedUserId"}
-		var temp contractEvaluationItems.OilContractEvaluationItems
-		temp.Score = v.Score
-		temp.Value = v.Value
-		temp.Remark = v.Remark
-		temp.ModifiedOn = time.Now()
-		temp.ModifiedBy = this.User.Realname
-		temp.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-		err := itemSvc.UpdateEntityBywheretbl(OilContractEvaluationItemsName, &temp, cols, "Category = 0 and ContentReviewId = "+id+" and ItemId = "+strconv.Itoa(v.Id))
-		if err != nil {
-			panic("修改失败!" + utils.AlertProcess(err.Error()))
-		}
+		score += " WHEN " + strconv.Itoa(v.Id) + " THEN " + v.Score
+		value += " WHEN " + strconv.Itoa(v.Id) + " THEN " + strconv.Itoa(v.Value)
+		remark += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + v.Remark + "'"
+		modifiedOn += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + time.Now().Format("2006-01-02 15:04:05") + "'"
+		modifiedBy += " WHEN " + strconv.Itoa(v.Id) + " THEN '" + this.User.Realname + "'"
+		modifiedUserId += " WHEN " + strconv.Itoa(v.Id) + " THEN " + strconv.Itoa(userId)
+	}
+	setWhere := score + " END, " + value + " END, " + remark + " END, " + modifiedOn + " END, " + modifiedBy + " END, " + modifiedUserId + " END "
+	err := itemSvc.UpdateBatch(setWhere, "Category = 0 and ContentReviewId = " + id)
+	if err != nil {
+		panic("修改失败!" + utils.AlertProcess(err.Error()))
 	}
 }