| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- package oilcontract
- import (
- "dashoo.cn/backend/api/business/oilcontract/contractEvaluationOrder"
- "dashoo.cn/backend/api/business/oilcontract/contractReview"
- "encoding/json"
- "strconv"
- "strings"
- "time"
- "dashoo.cn/backend/api/business/baseUser"
- . "dashoo.cn/backend/api/controllers"
- "dashoo.cn/business2/userRole"
- "dashoo.cn/utils"
- )
- type OilContractEvaluationOrderController struct {
- BaseController
- }
- // @Title 获取列表
- // @Description get user by token
- // @Success 200 {object} []evaluationItems.OilEvaluationItems
- // @router /list [get]
- func (this *OilContractEvaluationOrderController) GetEntityList() {
- //获取分页信息
- page := this.GetPageInfoForm()
- where := " 1=1 "
- orderby := "Id"
- asc := false
- Order := this.GetString("Order")
- Prop := this.GetString("Prop")
- if Order != "" && Prop != "" {
- orderby = Prop
- if Order == "asc" {
- asc = true
- }
- }
- Id := this.GetString("Id")
- ContractId := this.GetString("ContractId")
- ReviewId := this.GetString("ReviewId")
- AuditId := this.GetString("AuditId")
- AuditBy := this.GetString("AuditBy")
- IsConfirm := this.GetString("IsConfirm")
- CreateOn := this.GetString("CreateOn")
- CreateUserId := this.GetString("CreateUserId")
- CreateBy := this.GetString("CreateBy")
- ModifiedOn := this.GetString("ModifiedOn")
- ModifiedUserId := this.GetString("ModifiedUserId")
- ModifiedBy := this.GetString("ModifiedBy")
- if Id != "" {
- where = where + " and Id like '%" + Id + "%'"
- }
- if ContractId != "" {
- where = where + " and ContractId like '%" + ContractId + "%'"
- }
- if ReviewId != "" {
- where = where + " and ReviewId like '%" + ReviewId + "%'"
- }
- if AuditId != "" {
- where = where + " and AuditId like '%" + AuditId + "%'"
- }
- if AuditBy != "" {
- where = where + " and AuditBy like '%" + AuditBy + "%'"
- }
- if IsConfirm != "" {
- where = where + " and IsConfirm like '%" + IsConfirm + "%'"
- }
- if CreateOn != "" {
- where = where + " and CreateOn like '%" + CreateOn + "%'"
- }
- if CreateUserId != "" {
- where = where + " and CreateUserId like '%" + CreateUserId + "%'"
- }
- if CreateBy != "" {
- where = where + " and CreateBy like '%" + CreateBy + "%'"
- }
- if ModifiedOn != "" {
- where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
- }
- if ModifiedUserId != "" {
- where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
- }
- if ModifiedBy != "" {
- where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
- }
- if CreateOn != "" {
- dates := strings.Split(CreateOn, ",")
- if len(dates) == 2 {
- minDate := dates[0]
- maxDate := dates[1]
- where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
- }
- }
- svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
- var list []contractEvaluationOrder.OilContractEvaluationOrder
- total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
- var datainfo DataInfo
- datainfo.Items = list
- datainfo.CurrentItemCount = total
- datainfo.PageIndex = page.CurrentPage
- datainfo.ItemsPerPage = page.Size
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取字典列表
- // @Description get user by token
- // @Success 200 {object} map[string]interface{}
- // @router /dictlist [get]
- func (this *OilContractEvaluationOrderController) GetDictList() {
- dictList := make(map[string]interface{})
- //dictSvc := items.GetItemsService(utils.DBE)
- userSvc := baseUser.GetBaseUserService(utils.DBE)
- //customerSvc := svccustomer.GetCustomerService(utils.DBE)
- //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", "")
- var userEntity userRole.Base_User
- userSvc.GetEntityById(this.User.Id, &userEntity)
- dictList["Supervisers"] = userSvc.GetUserListByDepartmentId("", userEntity.Departmentid)
- //var dictCustomer []svccustomer.Customer
- //customerSvc.GetEntitysByWhere("" + CustomerName, "", &dictCustomer)
- //dictList["EntrustCorp"] = &dictCustomer
- var datainfo DataInfo
- datainfo.Items = dictList
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取实体
- // @Description 获取实体
- // @Success 200 {object} contractEvaluationOrder.OilContractEvaluationOrder
- // @router /get/:id [get]
- func (this *OilContractEvaluationOrderController) GetEntity() {
- Id := this.Ctx.Input.Param(":id")
- svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
- var model contractEvaluationOrder.OilContractEvaluationOrder
- svc.GetEntityByIdBytbl(OilContractEvaluationOrderName, Id, &model)
- this.Data["json"] = &model
- this.ServeJSON()
- }
- // @Title 添加
- // @Description 创建工单
- // @Param body body contractEvaluationOrder.OilContractEvaluationOrder
- // @Success 200 {object} controllers.Request
- // @router /add [post]
- func (this *OilContractEvaluationOrderController) AddEntity() {
- var model contractEvaluationOrder.OilContractEvaluationOrder
- var jsonBlob = this.Ctx.Input.RequestBody
- svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
- json.Unmarshal(jsonBlob, &model)
- model.CreateOn = time.Now()
- model.CreateBy = this.User.Realname
- model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- 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
- errinfo.Item = model.Id
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }()
- svc.InsertEntityBytbl(OilContractEvaluationOrderName, &model)
- }
- // @Title 确认
- // @Description 点击确认
- // @Param body body contractEvaluationOrder.OilContractEvaluationOrder
- // @Success 200 {object} controllers.Request
- // @router /update/:id [post]
- func (this *OilContractEvaluationOrderController) 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 == "" {
- panic("操作失败!请求信息不完整")
- }
- var model contractEvaluationOrder.OilContractEvaluationOrder
- var model1 contractEvaluationOrder.OilContractEvaluationOrder
- svc := contractEvaluationOrder.GetOilContractEvaluationOrderService(utils.DBE)
- svc.GetEntityByIdBytbl(OilContractEvaluationOrderName, id, &model1)
- if model1.IsConfirm == 1 {
- panic("操作失败!不能再次确认")
- }
- // 获取最后一条评价
- where := " IsFinal = 1 and ContractId = " + strconv.Itoa(model1.ContractId)
- var contractRev []contractReview.OilContractReview
- contractSvc := contractReview.GetOilContractReviewService(utils.DBE)
- contractSvc.GetEntitysByOrderbyWhere(OilContractReviewName, where, "Id Desc", &contractRev)
- if len(contractRev) <= 0 {
- panic("操作失败!找不到评价")
- }
- var ReviewId int
- for _, value := range contractRev {
- if value.Status != "8" {
- panic("操作失败!审核未结束不能确认")
- }
- ReviewId = value.Id
- break
- }
- var jsonBlob = this.Ctx.Input.RequestBody
- json.Unmarshal(jsonBlob, &model)
- model.ReviewId = ReviewId
- model.IsConfirm = 1
- model.ModifiedOn = time.Now()
- model.ModifiedBy = this.User.Realname
- model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
- cols := []string{
- "ReviewId",
- "IsConfirm",
- "ModifiedOn",
- "ModifiedUserId",
- "ModifiedBy",
- }
- svc.UpdateEntityBytbl(OilContractEvaluationOrderName, id, &model, cols)
- }
|