| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960 |
- package oilsupplier
- import (
- "dashoo.cn/backend/api/business/audithistory"
- "dashoo.cn/backend/api/business/auditsetting"
- "dashoo.cn/backend/api/business/oilsupplier/tableheader"
- "dashoo.cn/business2/parameter"
- "encoding/json"
- "strconv"
- "strings"
- "time"
- "dashoo.cn/backend/api/business/oilsupplier/qualchange"
- "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
- "dashoo.cn/backend/api/business/oilsupplier/supplierfile"
- "dashoo.cn/business2/permission"
- "dashoo.cn/backend/api/business/oilsupplier/annualaudit"
- "dashoo.cn/backend/api/business/oilsupplier/supplier"
- "dashoo.cn/backend/api/business/workflow"
- "dashoo.cn/backend/api/business/baseUser"
- "dashoo.cn/business2/userRole"
- . "dashoo.cn/backend/api/controllers"
- "dashoo.cn/utils"
- )
- type QualChangeController struct {
- BaseController
- }
- type QualShenHeModel struct {
- QualId int
- SuccessStatus int
- AuditorRemark string
- SuppId int
- }
- // @Title 获取列表
- // @Description get user by token
- // @Success 200 {object} []supplier.OilSupplierView
- // @router /list [get]
- func (this *QualChangeController) GetEntityList() {
- //获取分页信息
- page := this.GetPageInfoForm()
- where := " b.Status >= 1 "
- //where := " b.Status >= 7 "
- orderby := "a.CreateOn desc"
- Order := this.GetString("Order")
- Prop := this.GetString("Prop")
- if Order != "" && Prop != "" {
- orderby = Prop + " " + Order
- }
- CommercialNo := this.GetString("CommercialNo")
- AccessCardNo := this.GetString("AccessCardNo")
- SupplierName := this.GetString("SupplierName")
- CreateOn := this.GetString("CreateOn")
- if CommercialNo != "" {
- where = where + " and a.CommercialNo like '%" + CommercialNo + "%'"
- }
- if AccessCardNo != "" {
- where = where + " and b.AccessCardNo like '%" + AccessCardNo + "%'"
- }
- if SupplierName != "" {
- where = where + " and a.SupplierName like '%" + SupplierName + "%'"
- }
- if CreateOn != "" {
- dates := strings.Split(CreateOn, ",")
- if len(dates) == 2 {
- minDate := dates[0]
- maxDate := dates[1]
- where = where + " and a.CreateOn>='" + minDate + "' and a.CreateOn<='" + maxDate + "'"
- }
- }
- //企业用户必须加创建人条件
- if this.User.IsCompanyUser == 1 {
- where = where + " and a.CreateUserId = '" + this.User.Id + "'"
- } else {
- //超级管理员和有查看所有数据权限的用户不加条件
- svcPerm := permission.GetPermissionService(utils.DBE)
- isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.marketAccess.AllRecord")
- if !svcPerm.IsAdmin(this.User.Id) && !isauth {
- where = where + " and a.CreateUserId = '" + this.User.Id + "'"
- }
- }
- svc := qualchange.GetQualChangeService(utils.DBE)
- var list []qualchange.OilSupplierQual
- total, list := svc.GetQualPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, OilSupplierFileName, OilQualChangeMainName, orderby, where, page.CurrentPage, page.Size)
- 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} []supplier.OilSupplierView
- // @router /mytasks [get]
- func (this *QualChangeController) GetMyTaskEntityList() {
- //获取分页信息
- 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
- }
- }
- SupplierTypeName := this.GetString("SupplierTypeName")
- RecUnitId := this.GetString("RecUnitId")
- AccessCardNo := this.GetString("AccessCardNo")
- SupplierName := this.GetString("SupplierName")
- CreateOn := this.GetString("CreateOn")
- if SupplierTypeName != "" {
- where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
- }
- if RecUnitId != "" {
- where = where + " and RecUnitId like '%" + RecUnitId + "%'"
- }
- if AccessCardNo != "" {
- where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
- }
- if SupplierName != "" {
- where = where + " and SupplierName like '%" + SupplierName + "%'"
- }
- if CreateOn != "" {
- dates := strings.Split(CreateOn, ",")
- if len(dates) == 2 {
- minDate := dates[0]
- maxDate := dates[1]
- where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
- }
- }
- //找出待办任务
- actisvc := workflow.GetActivitiService(utils.DBE)
- certIdList := actisvc.GetMyTasks(workflow.OIL_INFO_CHANGE, this.User.Id)
- appendIdarr := strings.Split(certIdList, ",")
- for i, item := range appendIdarr {
- idx := strings.Index(item, "-")
- if idx >= 0 {
- appendIdarr[i] = strings.Split(item, "-")[0]
- }
- }
- certIdList = strings.Join(appendIdarr, ",")
- svc := qualchange.GetQualChangeService(utils.DBE)
- var list []qualchange.OilQualChangeMain
- var total int64 = 0
- if certIdList != "" {
- where += " and Id in (" + certIdList + ")"
- where += " and Status != -2 "
- 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} models.Userblood
- // @router /filelist [get]
- func (this *QualChangeController) FileList() {
- page := this.GetPageInfoForm()
- var list []qualchange.OilQualChangeDetail
- svc := qualchange.GetQualChangeService(utils.DBE)
- where := " 1=1 and a.IsDelete = 0"
- orderby := "a.SupplierTypeCode"
- asc := true
- Order := this.GetString("Order")
- Prop := this.GetString("Prop")
- if Order != "" && Prop != "" {
- orderby = Prop
- if Order == "asc" {
- asc = true
- }
- }
- SupplierId := this.GetString("SupplierId")
- MInfoId := this.GetString("MInfoId")
- if SupplierId != "" {
- where = where + " and a.SupplierId = '" + SupplierId + "'"
- }
- SupplierTypeCode := this.GetString("SupplierTypeCode")
- if SupplierTypeCode != "" {
- where = where + " and a.SupplierTypeCode in ( '000', '" + SupplierTypeCode + "')"
- }
- var total int64
- AuditStatus := this.GetString("Status")
- if AuditStatus == "8" {
- total = svc.GetQualPagingEntitiesStatus(OilSupplierFileName, OilQualChangeDetailName, page.CurrentPage, page.Size, orderby, asc, &list, where, MInfoId)
- } else {
- total = svc.GetQualPagingEntities(OilSupplierFileName, OilQualChangeDetailName, page.CurrentPage, page.Size, orderby, asc, &list, where, MInfoId)
- }
- var datainfo DataInfo
- datainfo.Items = list
- datainfo.CurrentItemCount = total
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 添加
- // @Description 新增信息变更
- // @Success 200 {object} controllers.Request
- // @router /addqualmain [post]
- func (this *QualChangeController) AddQualMain() {
- SupplierId := this.GetString("SupplierId")
- Remark := this.GetString("Remark")
- var qualchmain qualchange.OilQualChangeMain
- var errinfo ErrorDataInfo
- qualchmain.SupplierId, _ = strconv.Atoi(SupplierId)
- qualchmain.Remark = Remark
- qualchmain.CreateOn = time.Now()
- qualchmain.CreateBy = this.User.Realname
- qualchmain.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- svc := qualchange.GetQualChangeService(utils.DBE)
- _, err := svc.InsertEntityBytbl(OilQualChangeMainName, &qualchmain)
- if err == nil {
- errinfo.Message = "添加成功!"
- errinfo.Code = 0
- errinfo.Item = qualchmain.Id
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "添加失败!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }
- // @Title 资质文件
- // @Description get user by token
- // @Success 200 {object} models.Userblood
- // @router /auditfilelist [get]
- func (this *QualChangeController) AuditFileList() {
- page := this.GetPageInfoForm()
- var list []qualchange.OilQualChangeDetail1
- svc := qualchange.GetQualChangeService(utils.DBE)
- where := " 1=1"
- orderby := "a.Id"
- asc := true
- Order := this.GetString("Order")
- Prop := this.GetString("Prop")
- if Order != "" && Prop != "" {
- orderby = Prop
- if Order == "asc" {
- asc = true
- }
- }
- SupplierId := this.GetString("SupplierId")
- MInfoId := this.GetString("MInfoId")
- if SupplierId != "" {
- where = where + " and a.SupplierId = '" + SupplierId + "'"
- }
- SupplierTypeCode := this.GetString("SupplierTypeCode")
- if SupplierTypeCode != "" {
- where = where + " and a.SupplierTypeCode in ( '000', '" + SupplierTypeCode + "')"
- }
- where = where + " and a.IsDelete = 0"
- var total int64
- AuditStatus := this.GetString("Status")
- if AuditStatus == "8" {
- total = svc.GetQualPagingEntitiesStatus(OilSupplierFileName, OilQualChangeDetailName, page.CurrentPage, page.Size, orderby, asc, &list, where, MInfoId)
- } else {
- total = svc.GetQualPagingEntities(OilSupplierFileName, OilQualChangeDetailName, page.CurrentPage, page.Size, orderby, asc, &list, where, MInfoId)
- }
- var datainfo DataInfo
- datainfo.Items = list
- datainfo.CurrentItemCount = total
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取年审企业名称
- // @Description 获取实体
- // @Success 200 {object} annualaudit.OilAnnualAudit
- // @router /supplierlist [get]
- func (this *QualChangeController) GetSupplierList() {
- svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
- var supplierlist []annualaudit.Suppliername
- supplierlist = svc.GetSupplierList(""+OilSupplierName, ""+OilAnnualAuditName)
- var datainfo DataInfo
- datainfo.Items = supplierlist
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取字典列表
- // @Description get user by token
- // @Success 200 {object} map[string]interface{}
- // @router /dictlist [get]
- func (this *QualChangeController) 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} annualaudit.OilAnnualAudit
- // @router /get/:id [get]
- func (this *QualChangeController) GetEntity() {
- Id := this.Ctx.Input.Param(":id")
- var model annualaudit.OilAnnualAudit
- svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
- svc.GetEntityByIdBytbl(""+OilAnnualAuditName, Id, &model)
- this.Data["json"] = &model
- this.ServeJSON()
- }
- // @Title 添加
- // @Description 新增
- // @Success 200 {object} controllers.Request
- // @router /add [post]
- func (this *QualChangeController) AddEntity() {
- var model annualaudit.OilAnnualAudit
- var errinfo ErrorDataInfo
- var jsonBlob = this.Ctx.Input.RequestBody
- svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
- json.Unmarshal(jsonBlob, &model)
- where := "SupplierId = " + utils.ToStr(model.SupplierId) + " and SupplierTypeName = " + model.SupplierTypeName
- var auditentity []annualaudit.OilAnnualAudit
- svc.GetEntitysByWhere(""+OilAnnualAuditName, where, &auditentity)
- if len(auditentity) == 1 {
- errinfo.Message = "已提交年审,请勿重复提交!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- supwhere := "a.Id = " + utils.ToStr(model.SupplierId) + " and b.SupplierTypeCode = " + model.SupplierTypeName
- supsvc := supplier.GetOilSupplierService(utils.DBE)
- var list []supplier.OilSupplierView
- total := supsvc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 1, 1, "a.Id", true, &list, supwhere)
- if total == 0 {
- errinfo.Message = "请先提交准入申请再提交年审!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var suppliermodel supplier.OilSupplierView
- suppliermodel = list[0]
- model.RecUnitId = suppliermodel.RecUnitId
- model.CerId, _ = strconv.Atoi(suppliermodel.CertId)
- model.Status = "0"
- model.BackReason = suppliermodel.BackReason
- //svc.GetEntitysByWhere(""+OilSupplierName, supwhere, &supplierlist)
- model.CreateOn = time.Now()
- model.CreateBy = this.User.Realname
- model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
- _, err := svc.InsertEntityBytbl(""+OilAnnualAuditName, &model)
- annualId := model.Id
- //工作流开始
- processInstanceId, _ := svc.SubmitOrgAudit("", model.WorkflowId, utils.ToStr(model.CerId), utils.ToStr(model.Id), workflow.OIL_AUDIT_APPLY, workflow.FIRST_TRIAL, this.User.Id, "1", "提交给二级单位初审", OilSupplierCertSubName, OilClassOrgSettingName)
- var auditmodel annualaudit.OilAnnualAudit
- auditmodel.WorkflowId = processInstanceId
- cols := []string{
- "Id",
- "WorkflowId",
- }
- svc.UpdateEntityByIdCols(annualId, auditmodel, cols)
- if err == nil {
- //新增
- errinfo.Message = "添加成功!"
- errinfo.Code = 0
- errinfo.Item = model.Id
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }
- // @Title 修改实体
- // @Description 修改实体
- // @Success 200 {object} controllers.Request
- // @router /update/:id [post]
- func (this *QualChangeController) UpdateEntity() {
- id := this.Ctx.Input.Param(":id")
- var errinfo ErrorInfo
- if id == "" {
- errinfo.Message = "操作失败!请求信息不完整"
- errinfo.Code = -2
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var model annualaudit.OilAnnualAudit
- svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
- var jsonBlob = this.Ctx.Input.RequestBody
- json.Unmarshal(jsonBlob, &model)
- model.ModifiedOn = time.Now()
- model.ModifiedBy = this.User.Realname
- model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
- cols := []string{
- "Id",
- "Code",
- "Name",
- "F01",
- "F02",
- "F03",
- "F04",
- "F05",
- "F06",
- "F07",
- "F25",
- "Remark",
- "DeletionStateCode",
- "CreateOn",
- "CreateUserId",
- "CreateBy",
- "ModifiedOn",
- "ModifiedUserId",
- "ModifiedBy",
- }
- err := svc.UpdateEntityBytbl(""+OilAnnualAuditName, id, &model, cols)
- 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()
- }
- }
- // @Title 资质文件变更上传
- // @Description 更新文件上传
- // @Param id path string true
- // @Success 200 {object}
- // @router /editqualchange/:id [put]
- func (this *QualChangeController) EditQualChange() {
- id := this.Ctx.Input.Param(":id")
- var errinfo ErrorInfo
- if id == "" {
- errinfo.Message = "操作失败!请求信息不完整"
- errinfo.Code = -2
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var model qualchange.OilQualChangeDetail
- var jsonblob = this.Ctx.Input.RequestBody
- svc := qualchange.GetQualChangeService(utils.DBE)
- json.Unmarshal(jsonblob, &model)
- if strings.ReplaceAll(model.FileUrl, " ", "") == "" {
- errinfo.Message = "资质文件地址错误,请重新上传!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- model.FileUrl = strings.Trim(model.FileUrl, "$")
- model.FileName = strings.Trim(model.FileName, "$")
- model.OldFileUrl = strings.Trim(model.OldFileUrl, "$")
- model.OldFileName = strings.Trim(model.OldFileName, "$")
- var supplierfile supplierfile.OilSupplierFile
- svc.GetEntityByIdBytbl(OilSupplierFileName, model.Id, &supplierfile)
- if supplierfile.FileUrl == "" {
- //区别 更新前和更新后文件
- supplierfile.FileUrl = strings.Trim(model.FileUrl, "$")
- supplierfile.FileName = strings.Trim(model.FileName, "$")
- supplierfile.EffectDate = model.EffectDate
- }
- supplierfile.ModifiedOn = time.Now()
- supplierfile.ModifiedUserId, _ = strconv.Atoi(this.User.Id)
- supplierfile.ModifiedBy = this.User.Realname
- supplierfile.OtherRemark = model.Remark
- svc.UpdateEntityBywheretbl(OilSupplierFileName, &supplierfile, []string{"EffectDate", "FileUrl", "FileName", "ModifiedOn", "ModifiedUserId", "ModifiedBy", "OtherRemark"}, "Id = "+strconv.Itoa(model.Id))
- var err error
- var entity qualchange.OilQualChangeDetail
- var qualdetaimodel []qualchange.OilQualChangeDetail
- var mainentirt qualchange.OilQualChangeMain
- var qualmain []qualchange.OilQualChangeMain
- qmwhere := " SupplierId = " + utils.ToStr(model.SupplierId)
- svc.GetEntitysByWhere(OilQualChangeMainName, qmwhere, &qualmain)
- mainentirt.SupplierCertId = model.SupplierCertId
- mainentirt.Status = "0"
- mainentirt.Step = 1
- err = svc.UpdateEntityBywheretbl(OilQualChangeMainName, &mainentirt, []string{"SupplierCertId", "Status", "Step"}, qmwhere)
- qdwhere := " SupplierId = " + utils.ToStr(model.SupplierId) + " and FileId = " + utils.ToStr(model.Id) + " and ParentId=" + id
- svc.GetEntitysByWhere(OilQualChangeDetailName, qdwhere, &qualdetaimodel)
- entity = model
- entity.Id = 0
- entity.ParentId, _ = strconv.Atoi(id)
- entity.SupplierCertId = model.SupplierCertId
- entity.FileId = model.Id
- if len(qualdetaimodel) == 0 {
- entity.CreateOn = time.Now()
- entity.CreateBy = this.User.Realname
- entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- _, err = svc.InsertEntityBytbl(OilQualChangeDetailName, &entity)
- } else {
- err = svc.UpdateEntityBywheretbl(OilQualChangeDetailName, &entity, []string{"EffectDate", "FileUrl", "FileName", "OtherRemark"}, qdwhere)
- }
- 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()
- }
- }
- // @Title 信息变更添加资质
- // @Description 信息变更添加资质
- // @Success 200 {object}
- // @router /addqualchange/:id [post]
- func (this *QualChangeController) AddQualChange() {
- id := this.Ctx.Input.Param(":id")
- var errinfo ErrorInfo
- if id == "" {
- errinfo.Message = "操作失败!请求信息不完整"
- errinfo.Code = -2
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- var model qualchange.OilQualChangeDetail
- var jsonblob = this.Ctx.Input.RequestBody
- json.Unmarshal(jsonblob, &model)
- if strings.ReplaceAll(model.FileUrl, " ", "") == "" {
- errinfo.Message = "资质文件地址错误,请重新上传!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- svc := qualchange.GetQualChangeService(utils.DBE)
- var supplierfile supplierfile.OilSupplierFile
- where := "SupplierId = '" + strconv.Itoa(model.SupplierId) + "' and NeedFileType='" + model.NeedFileType + "' and SupplierTypeCode in ( '000', '" + model.SupplierTypeCode + "')"
- has := svc.GetEntity(&supplierfile, where)
- var tableHeader tableheader.BaseTableheader
- where1 := "Name = '" + model.NeedFileType + "'"
- svc.GetEntityByWhere(BaseTableHeader, where1, &tableHeader)
- if has {
- errinfo.Message = "操作失败!该资质已添加!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- supplierfile.SupplierId = model.SupplierId
- supplierfile.SupplierTypeCode = model.SupplierTypeCode
- supplierfile.IsManuf = tableHeader.IsManuf
- supplierfile.NeedFileType = model.NeedFileType
- supplierfile.FileType = 1
- supplierfile.SupType = 4
- supplierfile.CreateOn = time.Now()
- supplierfile.CreateUserId, _ = strconv.Atoi(this.User.Id)
- supplierfile.CreateBy = this.User.Realname
- supplierfile.FileUrl = strings.Trim(model.FileUrl, "$")
- supplierfile.FileName = strings.Trim(model.FileName, "$")
- supplierfile.EffectDate = model.EffectDate
- supplierfile.OtherRemark = model.Remark
- svc.InsertEntity(&supplierfile)
- model.ParentId, _ = strconv.Atoi(id)
- model.FileId = supplierfile.Id
- model.FileUrl = strings.Trim(model.FileUrl, "$")
- model.FileName = strings.Trim(model.FileName, "$")
- var err error
- var qualdetaimodel []qualchange.OilQualChangeDetail
- qdwhere := " SupplierId = " + utils.ToStr(model.SupplierId) + " and FileId = " + utils.ToStr(supplierfile.Id) + " and ParentId=" + id
- svc.GetEntitysByWhere(OilQualChangeDetailName, qdwhere, &qualdetaimodel)
- if len(qualdetaimodel) == 0 {
- model.CreateOn = time.Now()
- model.CreateBy = this.User.Realname
- model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- _, err = svc.InsertEntityBytbl(OilQualChangeDetailName, &model)
- } else {
- err = svc.UpdateEntityBywheretbl(OilQualChangeDetailName, &model, []string{"OldEffectDate", "FileUrl", "FileName", "OtherRemark"}, qdwhere)
- }
- 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()
- }
- }
- // @Title 提交审批
- // @Description 提交审批
- // @Success 200 {object} controllers.Request
- // @router /audit/:id [post]
- func (this *QualChangeController) AuditEntity() {
- suppId := this.Ctx.Input.Param(":id")
- firstAudit := this.GetString("auditer")
- fushenauditer := this.GetString("fushenauditer")
- Remark := this.GetString("Remark")
- //取出审批列表
- svc := qualchange.GetQualChangeService(utils.DBE)
- var suppentity supplier.OilSupplier
- //供方信息
- svc.GetEntityById(suppId, &suppentity)
- var qualmain qualchange.OilQualChangeMain
- where := " SupplierId = " + suppId
- svc.GetEntity(&qualmain, where)
- 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()
- }
- }()
- svcActiviti := workflow.GetActivitiService(utils.DBE)
- processInstanceId := ""
- businessKey := ""
- if qualmain.WorkFlowId == "0" || len(qualmain.WorkFlowId) <= 0 {
- //启动工作流
- businessKey = utils.ToStr(qualmain.Id) + "-" + strconv.Itoa(qualmain.AuditIndex)
- processInstanceId = svcActiviti.StartProcess(workflow.OIL_INFO_CHANGE, businessKey, this.User.Id)
- }
- var ActiComplete workflow.ActiCompleteVM
- ActiComplete.ProcessKey = workflow.OIL_INFO_CHANGE
- ActiComplete.BusinessKey = businessKey
- ActiComplete.UserNames = firstAudit
- ActiComplete.UserId = this.User.Id
- ActiComplete.Result = "1"
- ActiComplete.Remarks = Remark
- ActiComplete.CallbackUrl = ""
- receiveVal := svcActiviti.TaskComplete(ActiComplete)
- if receiveVal == "true" {
- //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
- var qualmainmodel qualchange.OilQualChangeMain
- qualmainmodel.WorkFlowId = processInstanceId
- qualmainmodel.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
- qualmainmodel.AuditIndex = qualmain.AuditIndex + 1
- qualmainmodel.FirstAudit, _ = strconv.Atoi(firstAudit)
- qualmainmodel.SecondAudit, _ = strconv.Atoi(fushenauditer)
- qualmainmodel.BusinessKey = ActiComplete.BusinessKey
- qualmainmodel.CreateOn = time.Now()
- qualmainmodel.CreateBy = this.User.Realname
- qualmainmodel.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- qualmainmodel.SupplierName = suppentity.SupplierName
- qualmainmodel.CommercialNo = suppentity.CommercialNo
- cols := []string{
- "Id",
- "WorkflowId",
- "Status",
- "Step",
- "AuditIndex",
- "FirstAudit",
- "SecondAudit",
- "BusinessKey",
- "CreateOn",
- "CreateBy",
- "CreateUserId",
- "SupplierName",
- "CommercialNo",
- }
- _, err := svc.UpdateEntityByIdCols(qualmain.Id, qualmainmodel, cols)
- if err == nil {
- errinfo.Message = "提交成功!"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "提交失败!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- } else {
- errinfo.Message = "工作流异常,请联系管理员!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- }
- // @Title 审批
- // @Description 审批
- // @Success 200 {object} controllers.Request
- // @router /qualaudit [post]
- func (this *QualChangeController) QualAudit() {
- svc := qualchange.GetQualChangeService(utils.DBE)
- var jsonblob = this.Ctx.Input.RequestBody
- var dataother QualShenHeModel
- json.Unmarshal(jsonblob, &dataother)
- //取出审批列表
- var qualid = dataother.QualId
- var qualmodel qualchange.OilQualChangeMain
- svc.GetEntityById(utils.ToStr(dataother.QualId), &qualmodel)
- var qualdetail []qualchange.OilQualChangeDetail
- where := "ParentId = " + utils.ToStr(qualid)
- svc.GetEntities(&qualdetail, where)
- 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()
- }
- }()
- //审核状态判断进行的操作
- step := 2
- status := ""
- backstatus := "0"
- var userIds string
- if qualmodel.Status == suppliercert.FIRST_TRIAL_STATUS {
- userIds = utils.ToStr(qualmodel.SecondAudit)
- status = suppliercert.SECOND_TRIAL_STATUS
- step = 2
- backstatus = suppliercert.NOPASS_STATUS
- } else if qualmodel.Status == suppliercert.SECOND_TRIAL_STATUS {
- status = suppliercert.CENT_AUDIT_STATUS
- backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
- step = 2
- //dictSvc := items.GetItemsService(utils.DBE)
- //deptIds := dictSvc.GetKeyValueItems("CENT_AUDIT")
- //var users []userRole.Base_RoleList
- //certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
- //for _, dept := range deptIds {
- // certSrv.GetAuditUser(dept.Value, workflow.PROF_REGULATION, &users)
- // for _, tmpUser := range users {
- // userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
- // }
- //}
- paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
- topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
- var userlist []userRole.Base_User
- var setting auditsetting.Base_OilAuditSetting
- usvc := userRole.GetUserService(utils.DBE)
- where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
- svc.GetEntity(&setting, where)
- ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
- tempstr := strings.Join(ids, ",")
- uids := strings.Replace(tempstr, "uid_", "", -1)
- uids = strings.Trim(uids, ",")
- if uids != "" {
- where := "Id in (" + uids + ")" + " and UnitId=" + topid
- svc.GetEntities(&userlist, where)
- }
- for _, tmpUser := range userlist {
- userIds += strconv.Itoa(tmpUser.Id) + ","
- }
- userIds = strings.Trim(userIds, ",")
- } else if qualmodel.Status == suppliercert.CENT_AUDIT_STATUS {
- status = suppliercert.ALL_PASE_STATUS
- step = 3
- backstatus = suppliercert.NO_THIRD_TRIAL_STATUS
- }
- svcActiviti := workflow.GetActivitiService(utils.DBE)
- var ActiComplete workflow.ActiCompleteVM
- ActiComplete.ProcessKey = workflow.OIL_INFO_CHANGE
- ActiComplete.BusinessKey = qualmodel.BusinessKey
- ActiComplete.UserNames = userIds
- ActiComplete.UserId = this.User.Id
- ActiComplete.Remarks = dataother.AuditorRemark
- ActiComplete.CallbackUrl = ""
- var myerr error
- if dataother.SuccessStatus == 1 {
- ActiComplete.Result = "1"
- receiveVal := svcActiviti.TaskComplete(ActiComplete)
- qualmodel.Status = status
- qualmodel.Step = step
- if receiveVal == "true" {
- cols := []string{
- "Id",
- "Status",
- "Step",
- }
- _, err := svc.UpdateEntityByIdCols(qualid, qualmodel, cols)
- if err == nil {
- //原信息表更新
- if qualmodel.Status == suppliercert.CENT_AUDIT_STATUS {
- if len(qualdetail) > 0 {
- for i := 0; i < len(qualdetail); i++ {
- var supfilemodel supplierfile.OilSupplierFile
- supfilemodel.FileName = qualdetail[i].FileName
- supfilemodel.FileUrl = qualdetail[i].FileUrl
- supfilemodel.EffectDate = qualdetail[i].EffectDate
- err = svc.UpdateEntityBytbl(OilSupplierFileName, qualdetail[i].FileId, &supfilemodel, []string{"FileName", "FileUrl", "EffectDate"})
- }
- }
- }
- if myerr == nil {
- errinfo.Message = "提交成功!"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "提交失败!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- } else {
- errinfo.Message = "工作流异常,请联系管理员!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- } else {
- ActiComplete.Result = "0"
- receiveVal := svcActiviti.TaskComplete(ActiComplete)
- if receiveVal == "true" {
- if qualmodel.Status == suppliercert.CENT_AUDIT_STATUS {
- qualmodel.Status = backstatus
- } else {
- qualmodel.Status = backstatus
- // 审批历史
- var audithistoryentity audithistory.Base_AuditHistory
- audithistoryentity.EntityId = qualid
- audithistoryentity.WorkflowId = qualmodel.WorkFlowId
- audithistoryentity.Process = ActiComplete.ProcessKey
- audithistoryentity.BusinessKey = ActiComplete.BusinessKey
- audithistoryentity.Type = "04"
- audithistoryentity.BackStep = qualmodel.Status
- audithistoryentity.Index = qualmodel.AuditIndex
- audithistoryentity.CreateOn = time.Now()
- audithistoryentity.CreateBy = this.User.Realname
- audithistoryentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
- _, myerr = svc.InsertEntity(audithistoryentity)
- qualmodel.WorkFlowId = ""
- }
- qualmodel.Step = 1
- cols := []string{
- "Status",
- "Step",
- }
- _, myerr := svc.UpdateEntityByIdCols(qualid, qualmodel, cols)
- if myerr == nil {
- errinfo.Message = "提交成功!"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- } else {
- errinfo.Message = "提交失败!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- } else {
- errinfo.Message = "工作流异常,请联系管理员!"
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- return
- }
- }
- }
- }
|