Explorar o código

后:合同评价保存修改

dubch %!s(int64=4) %!d(string=hai) anos
pai
achega
594fd35ada

+ 1 - 1
src/dashoo.cn/backend/api/business/oilsupplier/infochange/infochangeService.go

@@ -253,7 +253,7 @@ func (s *InfoChangeService) GetProcessInfoWithOrderBytbl(tableName string, pageI
 	sqlCount += ` where ` + where
 
 	var sql string
-	sql = `select a.SupplierName, a.Id, `
+	sql = `select a.SupplierName,a.SupplierId, a.Id, `
 	sql += ` a.Status, `
 	sql += ` a.WorkflowId, '4' as Type, a.CreateOn, a.AccessCardNo, a.ModifiedOn as AddinTime, u.Realname AS ContactName, u.Telephone AS Mobile, `
 	sql += ` CASE WHEN uu.IsCompanyUser = 1 THEN c.CheckUnitName

+ 114 - 151
src/dashoo.cn/backend/api/controllers/oilcontract/contractReview.go

@@ -537,54 +537,52 @@ func If(condition bool, trueVal, falseVal interface{}) interface{} {
 func (this *OilContractReviewController) SaveEvaluationItemsBySec() {
 	id := this.Ctx.Input.Param(":id")
 	var errinfo ErrorInfo
+	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()
+		}
+	}()
 	if id == "" {
-		errinfo.Message = "操作失败!请求信息不完整"
-		errinfo.Code = -2
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-		return
+		panic("操作失败!请求信息不完整")
 	}
 	var modeVO contractReview.OilContractReviewVo
 	itemSvc := contractEvaluationItems.GetOilContractEvaluationItemsService(utils.DBE)
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &modeVO)
-	where := "ContentReviewId=" + id + " AND Category = 1 "
+
+	if len(modeVO.Items) == 0 {
+		panic("操作失败!评价细项信息不完整")
+	}
+
+	//where := "ContentReviewId=" + id + " AND Category = 1 "
 	// 清除掉之前的
-	itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
-	var items []contractEvaluationItems.OilContractEvaluationItems
+	//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
 	// 新增配置项
-	for i, v := range modeVO.Items {
-		fmt.Print(i)
+	for _, v := range modeVO.Items {
+		if v.Id == 0 {
+			panic("操作失败!请求信息Id不完整")
+		}
+		cols := []string{"Score","Value","Remark","ModifiedOn","ModifiedBy","ModifiedUserId"}
 		var temp contractEvaluationItems.OilContractEvaluationItems
-		temp.ContentReviewId, _ = strconv.Atoi(id)
-		temp.Type = v.Type
-		temp.Category = 1
-		temp.ItemId = v.ItemId
-		temp.ParentId = v.ParentId
-		temp.SequenceNo = v.SequenceNo
-		temp.Content = v.Content
-		temp.NormalScore = v.NormalScore
 		temp.Score = v.Score
 		temp.Value = v.Value
-		temp.LevelCode = v.LevelCode
 		temp.Remark = v.Remark
-		temp.Content = v.Content
 		temp.ModifiedOn = time.Now()
 		temp.ModifiedBy = this.User.Realname
 		temp.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-		items = append(items, temp)
-	}
-	_, err := itemSvc.DBE.Insert(items)
-	if err == nil {
-		errinfo.Message = "修改成功!"
-		errinfo.Code = 0
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-	} else {
-		errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
-		errinfo.Code = -1
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
+		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()))
+		}
 	}
 }
 
@@ -596,12 +594,22 @@ func (this *OilContractReviewController) SaveEvaluationItemsBySec() {
 func (this *OilContractReviewController) ProfUpdateSecEvaEntity() {
 	id := this.Ctx.Input.Param(":id")
 	var errinfo ErrorInfo
+	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()
+		}
+	}()
 	if id == "" {
-		errinfo.Message = "操作失败!请求信息不完整"
-		errinfo.Code = -2
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-		return
+		panic("操作失败!请求信息不完整")
 	}
 
 	var modeVO contractReview.OilContractReviewVo
@@ -609,46 +617,31 @@ func (this *OilContractReviewController) ProfUpdateSecEvaEntity() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &modeVO)
 
-	where := "ContentReviewId=" + id + " AND Category = 0 "
+	if len(modeVO.Items) == 0 {
+		panic("操作失败!评价细项信息不完整")
+	}
+
+	//where := "ContentReviewId=" + id + " AND Category = 0 "
 	// 清除掉之前的
-	itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
+	//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
 
-	var items []contractEvaluationItems.OilContractEvaluationItems
 	// 新增配置项
-	for i, v := range modeVO.Items {
-		fmt.Print(i)
+	for _, v := range modeVO.Items {
+		if v.Id == 0 {
+			panic("操作失败!请求信息Id不完整")
+		}
+		cols := []string{"Score","Value","Remark","ModifiedOn","ModifiedBy","ModifiedUserId"}
 		var temp contractEvaluationItems.OilContractEvaluationItems
-		temp.ContentReviewId, _ = strconv.Atoi(id)
-		temp.Type = v.Category //v.Type
-		temp.ItemId = v.Id
-		temp.Category = 0
-		temp.ParentId = v.ParentId
-		temp.SequenceNo = v.SequenceNo
-		temp.Content = v.Content
-		temp.NormalScore = v.NormalScore
 		temp.Score = v.Score
 		temp.Value = v.Value
-		temp.LevelCode = v.LevelCode
 		temp.Remark = v.Remark
-		temp.Content = v.Content
 		temp.ModifiedOn = time.Now()
 		temp.ModifiedBy = this.User.Realname
 		temp.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-		items = append(items, temp)
-	}
-
-	_, err := itemSvc.DBE.Insert(items)
-
-	if err == nil {
-		errinfo.Message = "修改成功!"
-		errinfo.Code = 0
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-	} else {
-		errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
-		errinfo.Code = -1
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
+		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()))
+		}
 	}
 }
 
@@ -660,12 +653,22 @@ func (this *OilContractReviewController) ProfUpdateSecEvaEntity() {
 func (this *OilContractReviewController) UpdateEntity() {
 	id := this.Ctx.Input.Param(":id")
 	var errinfo ErrorInfo
+	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()
+		}
+	}()
 	if id == "" {
-		errinfo.Message = "操作失败!请求信息不完整"
-		errinfo.Code = -2
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-		return
+		panic("操作失败!请求信息不完整")
 	}
 
 	var modeVO contractReview.OilContractReviewVo
@@ -674,6 +677,10 @@ func (this *OilContractReviewController) UpdateEntity() {
 	var jsonBlob = this.Ctx.Input.RequestBody
 	json.Unmarshal(jsonBlob, &modeVO)
 
+	if len(modeVO.Items) == 0 {
+		panic("操作失败!评价细项信息不完整")
+	}
+
 	var reviewMode contractReview.OilContractReview
 	reviewMode.ContractId = modeVO.ContractId
 	reviewMode.Status = "0"
@@ -709,120 +716,76 @@ func (this *OilContractReviewController) UpdateEntity() {
 		"ModifiedBy",
 	}
 	err := svc.UpdateEntityBytbl(OilContractReviewName, id, &reviewMode, cols)
+	if err != nil {
+		panic("修改失败!" + utils.AlertProcess(err.Error()))
+	}
 
-	errBool := true
+	cols = []string{"Score","Value","Remark","ModifiedOn","ModifiedBy","ModifiedUserId"}
 	if modeVO.IsBusiness == 0 {
-		where := "ContentReviewId=" + id + " AND Category = 0 "
+		//where := "ContentReviewId=" + id + " AND Category = 0 "
 		// 清除掉之前的
-		itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
+		//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where)
 
-		var items []contractEvaluationItems.OilContractEvaluationItems
 		// 新增配置项
-		for i, v := range modeVO.Items {
-			fmt.Print(i)
+		for _, v := range modeVO.Items {
+			if v.Id == 0 {
+				panic("操作失败!请求信息Id不完整")
+			}
 			var temp contractEvaluationItems.OilContractEvaluationItems
-			temp.ContentReviewId, _ = strconv.Atoi(id)
-			temp.Type = v.Category //v.Type
-			temp.ItemId = v.Id
-			temp.Category = 0
-			temp.ParentId = v.ParentId
-			temp.SequenceNo = v.SequenceNo
-			temp.Content = v.Content
-			temp.NormalScore = v.NormalScore
 			temp.Score = v.Score
 			temp.Value = v.Value
-			temp.LevelCode = v.LevelCode
 			temp.Remark = v.Remark
-			temp.Content = v.Content
 			temp.ModifiedOn = time.Now()
 			temp.ModifiedBy = this.User.Realname
 			temp.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-			items = append(items, temp)
+			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()))
+			}
 		}
 
-		_, err2 := itemSvc.DBE.Insert(items)
-
-		where2 := "ContentReviewId=" + id + " AND Category = 1 "
+		//where2 := "ContentReviewId=" + id + " AND Category = 1 "
 		// 清除掉之前的
-		itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where2)
+		//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where2)
 
-		var items2 []contractEvaluationItems.OilContractEvaluationItems
 		// 新增配置项
-		for i, v := range modeVO.Items {
-			fmt.Print(i)
+		for _, v := range modeVO.Items {
+			if v.Id == 0 {
+				panic("操作失败!请求信息Id不完整")
+			}
 			var temp2 contractEvaluationItems.OilContractEvaluationItems
-			temp2.ContentReviewId, _ = strconv.Atoi(id)
-			temp2.Type = v.Category //v.Type
-			temp2.ItemId = v.Id
-			temp2.Category = 1
-			temp2.ParentId = v.ParentId
-			temp2.SequenceNo = v.SequenceNo
-			temp2.Content = v.Content
-			temp2.NormalScore = v.NormalScore
 			temp2.Score = v.Score
 			temp2.Value = v.Value
-			temp2.LevelCode = v.LevelCode
 			temp2.Remark = v.Remark
-			temp2.Content = v.Content
-			temp2.ModifiedOn = time.Now()
-			temp2.ModifiedBy = this.User.Realname
-			temp2.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-			items2 = append(items2, temp2)
-		}
-
-		_, err3 := itemSvc.DBE.Insert(items2)
-
-		if err2 == nil && err3 == nil {
-			errBool = false
+			err := itemSvc.UpdateEntityBywheretbl(OilContractEvaluationItemsName, &temp2, cols, "Category = 1 and ContentReviewId = " + id + " and ItemId = " + strconv.Itoa(v.Id))
+			if err != nil {
+				panic("修改失败!" + utils.AlertProcess(err.Error()))
+			}
 		}
 	}
 
 	if modeVO.IsBusiness == 1 {
-		where3 := "ContentReviewId=" + id + " AND Category = 2 "
+		//where3 := "ContentReviewId=" + id + " AND Category = 2 "
 		// 清除掉之前的
-		itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where3)
-
-		var items3 []contractEvaluationItems.OilContractEvaluationItems
+		//itemSvc.DeleteEntityBytbl(OilContractEvaluationItemsName, where3)
 		// 新增配置项
-		for i, v := range modeVO.Items {
-			fmt.Print(i)
+		for _, v := range modeVO.Items {
+			if v.Id == 0 {
+				panic("操作失败!请求信息Id不完整")
+			}
 			var temp3 contractEvaluationItems.OilContractEvaluationItems
-			temp3.ContentReviewId, _ = strconv.Atoi(id)
-			temp3.Type = v.Category //v.Type
-			temp3.ItemId = v.Id
-			temp3.Category = 2
-			temp3.ParentId = v.ParentId
-			temp3.SequenceNo = v.SequenceNo
-			temp3.Content = v.Content
-			temp3.NormalScore = v.NormalScore
 			temp3.Score = v.Score
 			temp3.Value = v.Value
-			temp3.LevelCode = v.LevelCode
 			temp3.Remark = v.Remark
-			temp3.Content = v.Content
 			temp3.ModifiedOn = time.Now()
 			temp3.ModifiedBy = this.User.Realname
 			temp3.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
-			items3 = append(items3, temp3)
-		}
-
-		_, err4 := itemSvc.DBE.Insert(items3)
-		if err4 == nil {
-			errBool = false
+			err := itemSvc.UpdateEntityBywheretbl(OilContractEvaluationItemsName, &temp3, cols, "Category = 2 and ContentReviewId = " + id + " and ItemId = " + strconv.Itoa(v.Id))
+			if err != nil {
+				panic("修改失败!" + utils.AlertProcess(err.Error()))
+			}
 		}
 	}
-
-	if err == nil && errBool == false {
-		errinfo.Message = "修改成功!"
-		errinfo.Code = 0
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-	} else {
-		errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
-		errinfo.Code = -1
-		this.Data["json"] = &errinfo
-		this.ServeJSON()
-	}
 }
 
 // @Title 删除单条信息