| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570 |
- package oilsupplier
- import (
- "dashoo.cn/backend/api/business/auditsetting"
- "dashoo.cn/backend/api/business/oilsupplier/classorgsetting"
- "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
- "dashoo.cn/backend/api/business/workflow"
- "encoding/json"
- "strconv"
- "strings"
- "time"
- "dashoo.cn/backend/api/business/baseUser"
- "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
- . "dashoo.cn/backend/api/controllers"
- "dashoo.cn/business2/userRole"
- "dashoo.cn/utils"
- )
- type OilSupplierCertController struct {
- BaseController
- }
- // @Title 获取列表
- // @Description get user by token
- // @Success 200 {object} []suppliercert.OilSupplierCert
- // @router /list [get]
- func (this *OilSupplierCertController) 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")
- SupplierId := this.GetString("SupplierId")
- AccessCardNo := this.GetString("AccessCardNo")
- SupplierTypeCode := this.GetString("SupplierTypeCode")
- SupplierTypeName := this.GetString("SupplierTypeName")
- RecUnitReason := this.GetString("RecUnitReason")
- RecUnitPerson := this.GetString("RecUnitPerson")
- RecDate := this.GetString("RecDate")
- RecUnitId := this.GetString("RecUnitId")
- RecUnitName := this.GetString("RecUnitName")
- StatusA := this.GetString("StatusA")
- BackReason := this.GetString("BackReason")
- InFlag := this.GetString("InFlag")
- EffectStartTime := this.GetString("EffectStartTime")
- EffectEndTime := this.GetString("EffectEndTime")
- AuditProcessNote := this.GetString("AuditProcessNote")
- AuditDate := this.GetString("AuditDate")
- PayNotice := this.GetString("PayNotice")
- SupplierStatus := this.GetString("SupplierStatus")
- MgrType := this.GetString("MgrType")
- Type := this.GetString("Type")
- MgrUnit := this.GetString("MgrUnit")
- AddinTime := this.GetString("AddinTime")
- EffectTime := this.GetString("EffectTime")
- ApplyTime := this.GetString("ApplyTime")
- SupplierNo := this.GetString("SupplierNo")
- MDMFlag := this.GetString("MDMFlag")
- InternalFlag := this.GetString("InternalFlag")
- ImportFlag := this.GetString("ImportFlag")
- OutsideFlog := this.GetString("OutsideFlog")
- Remark := this.GetString("Remark")
- IsDelete := this.GetString("IsDelete")
- 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 SupplierId != "" {
- where = where + " and SupplierId like '%" + SupplierId + "%'"
- }
- if AccessCardNo != "" {
- where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
- }
- if SupplierTypeCode != "" {
- where = where + " and SupplierTypeCode like '%" + SupplierTypeCode + "%'"
- }
- if SupplierTypeName != "" {
- where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
- }
- if RecUnitReason != "" {
- where = where + " and RecUnitReason like '%" + RecUnitReason + "%'"
- }
- if RecUnitPerson != "" {
- where = where + " and RecUnitPerson like '%" + RecUnitPerson + "%'"
- }
- if RecDate != "" {
- where = where + " and RecDate like '%" + RecDate + "%'"
- }
- if RecUnitId != "" {
- where = where + " and RecUnitId like '%" + RecUnitId + "%'"
- }
- if RecUnitName != "" {
- where = where + " and RecUnitName like '%" + RecUnitName + "%'"
- }
- if StatusA != "" {
- where = where + " and StatusA like '%" + StatusA + "%'"
- }
- if BackReason != "" {
- where = where + " and BackReason like '%" + BackReason + "%'"
- }
- if InFlag != "" {
- where = where + " and InFlag like '%" + InFlag + "%'"
- }
- if EffectStartTime != "" {
- where = where + " and EffectStartTime like '%" + EffectStartTime + "%'"
- }
- if EffectEndTime != "" {
- where = where + " and EffectEndTime like '%" + EffectEndTime + "%'"
- }
- if AuditProcessNote != "" {
- where = where + " and AuditProcessNote like '%" + AuditProcessNote + "%'"
- }
- if AuditDate != "" {
- where = where + " and AuditDate like '%" + AuditDate + "%'"
- }
- if PayNotice != "" {
- where = where + " and PayNotice like '%" + PayNotice + "%'"
- }
- if SupplierStatus != "" {
- where = where + " and SupplierStatus like '%" + SupplierStatus + "%'"
- }
- if MgrType != "" {
- where = where + " and MgrType like '%" + MgrType + "%'"
- }
- if Type != "" {
- where = where + " and Type like '%" + Type + "%'"
- }
- if MgrUnit != "" {
- where = where + " and MgrUnit like '%" + MgrUnit + "%'"
- }
- if AddinTime != "" {
- where = where + " and AddinTime like '%" + AddinTime + "%'"
- }
- if EffectTime != "" {
- where = where + " and EffectTime like '%" + EffectTime + "%'"
- }
- if ApplyTime != "" {
- where = where + " and ApplyTime like '%" + ApplyTime + "%'"
- }
- if SupplierNo != "" {
- where = where + " and SupplierNo like '%" + SupplierNo + "%'"
- }
- if MDMFlag != "" {
- where = where + " and MDMFlag like '%" + MDMFlag + "%'"
- }
- if InternalFlag != "" {
- where = where + " and InternalFlag like '%" + InternalFlag + "%'"
- }
- if ImportFlag != "" {
- where = where + " and ImportFlag like '%" + ImportFlag + "%'"
- }
- if OutsideFlog != "" {
- where = where + " and OutsideFlog like '%" + OutsideFlog + "%'"
- }
- if Remark != "" {
- where = where + " and Remark like '%" + Remark + "%'"
- }
- if IsDelete != "" {
- where = where + " and IsDelete like '%" + IsDelete + "%'"
- }
- 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 := suppliercert.GetOilSupplierCertService(utils.DBE)
- var list []suppliercert.OilSupplierCert
- total := svc.GetPagingEntitiesWithOrderBytbl(this.User.AccCode, 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 *OilSupplierCertController) 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", this.User.AccCode)
- var userEntity userRole.Base_User
- userSvc.GetEntityById(this.User.Id, &userEntity)
- dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
- //var dictCustomer []svccustomer.Customer
- //customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
- //dictList["EntrustCorp"] = &dictCustomer
- var datainfo DataInfo
- datainfo.Items = dictList
- this.Data["json"] = &datainfo
- this.ServeJSON()
- }
- // @Title 获取实体
- // @Description 获取实体
- // @Success 200 {object} suppliercert.OilSupplierCert
- // @router /get/:id [get]
- func (this *OilSupplierCertController) GetEntity() {
- Id := this.Ctx.Input.Param(":id")
- var model suppliercert.OilSupplierCert
- svc := suppliercert.GetOilSupplierCertService(utils.DBE)
- svc.GetEntityByIdBytbl(OilSupplierCertName, Id, &model)
- this.Data["json"] = &model
- this.ServeJSON()
- }
- // @Title 添加
- // @Description 新增
- // @Param body body suppliercert.OilSupplierCert
- // @Success 200 {object} controllers.Request
- // @router /add [post]
- func (this *OilSupplierCertController) AddEntity() {
- var model suppliercert.OilSupplierCert
- var jsonBlob = this.Ctx.Input.RequestBody
- svc := suppliercert.GetOilSupplierCertService(utils.DBE)
- json.Unmarshal(jsonBlob, &model)
- 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(OilSupplierCertName, &model)
- var errinfo ErrorDataInfo
- 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 修改实体
- // @Param body body suppliercert.OilSupplierCert
- // @Success 200 {object} controllers.Request
- // @router /update/:id [post]
- func (this *OilSupplierCertController) 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 suppliercert.OilSupplierCert
- svc := suppliercert.GetOilSupplierCertService(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",
- "SupplierId",
- "AccessCardNo",
- "SupplierTypeCode",
- "SupplierTypeName",
- "RecUnitReason",
- "RecUnitPerson",
- "RecDate",
- "RecUnitId",
- "RecUnitName",
- "Status",
- "BackReason",
- "InFlag",
- "EffectStartTime",
- "EffectEndTime",
- "AuditProcessNote",
- "AuditDate",
- "PayNotice",
- "SupplierStatus",
- "MgrType",
- "Type",
- "MgrUnit",
- "AddinTime",
- "EffectTime",
- "ApplyTime",
- "SupplierNo",
- "MDMFlag",
- "InternalFlag",
- "ImportFlag",
- "OutsideFlog",
- "Remark",
- "IsDelete",
- "CreateOn",
- "CreateUserId",
- "CreateBy",
- "ModifiedOn",
- "ModifiedUserId",
- "ModifiedBy",
- }
- err := svc.UpdateEntityBytbl(OilSupplierCertName, 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
- // @Success 200 {object} ErrorInfo
- // @Failure 403 :id 为空
- // @router /delete/:Id [delete]
- func (this *OilSupplierCertController) DeleteEntity() {
- 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 suppliercert.OilSupplierCert
- var entityempty suppliercert.OilSupplierCert
- svc := suppliercert.GetOilSupplierCertService(utils.DBE)
- opdesc := "删除-" + Id
- err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
- 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 body body suppliercert.OilSupplierCert
- // @Success 200 {object} controllers.Request
- // @router /audit/:id [post]
- func (this *OilSupplierCertController) AuditEntity() {
- Id := this.Ctx.Input.Param(":id")
- var errinfo ErrorDataInfo
- defer func() { //finally处理失败的异常
- if err := recover(); err != nil {
- errinfo.Message = "提交失败," + err.(string)
- errinfo.Code = -1
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
- }()
- //取出审批列表
- var supplierCert suppliercert.OilSupplierCert
- certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
- certSrv.GetEntityById(Id, &supplierCert)
- //取出准入分类列表
- var subList []suppliercertsub.OilSupplierCertSub
- certSubSrv := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
- subWhere := " 1=1 "
- subWhere += " and SupplierCertId='"+ Id +"'"
- certSubSrv.GetEntitysByWhere(OilSupplierCertSubName, subWhere, &subList)
- var subClassIds string
- for _, certSub := range subList {
- subClassIds += strconv.Itoa(certSub.SubclassId) + ","
- }
- subClassIds = strings.Trim(subClassIds, ",")
- if len(subClassIds) <= 0 {
- panic("没有选择准入分类")
- }
- //取出审核部门
- classorgSrv := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
- var list []classorgsetting.OilClassOrgSetting
- var orgListStr string
- var where string
- where += " 1=1 "
- subWhere += " and SupplierTypeCode='"+ supplierCert.SupplierTypeCode +"'"
- where += " and ClassId in (" + subClassIds + ")"
- where += " and AuditStepCode = '" + workflow.FIRST_TRIAL + "'"
- classorgSrv.GetEntitysByWhere(OilClassOrgSettingName, where, &list)
- if len(list) <= 0 {
- panic("未配置准入分类审批部门")
- }
- subClassIdsCheck := subClassIds + ","
- //拼接工作流的需要审批的部门及部门相关的审核人员信息
- var orgAudits []workflow.MultiOrgAuditVM
- userSvc := userRole.GetUserService(utils.DBE)
- auditSrv := auditsetting.GetOilAuditSettingService(utils.DBE)
- for _, certsetting := range list {
- var auditSetting auditsetting.Base_OilAuditSetting
- var orgAudit workflow.MultiOrgAuditVM
- orgAudit.OrgId = strconv.Itoa(certsetting.OrganizeId)
- orgAudit.OrgName = certsetting.OrganizeName
- auditWhere := " 1=1 "
- auditWhere += " and OrganizeId = '" + strconv.Itoa(certsetting.OrganizeId) + "'"
- auditWhere += " and AuditStepCode = '" + workflow.FIRST_TRIAL + "'"
- auditSrv.GetEntity(&auditSetting, auditWhere)
- userIds := userSvc.GetUserIdsByRoleId(strconv.Itoa(auditSetting.RoleId))
- tempstr := strings.Join(userIds, ",")
- orgAudit.UserIds = strings.Replace(tempstr, "uid_", "", -1)
- orgAudits = append(orgAudits, orgAudit)
- orgListStr += "org_"+strconv.Itoa(certsetting.OrganizeId) + ","
- //排除未设置部门的分类
- subClassIdsCheck = strings.Replace(subClassIdsCheck, strconv.Itoa(certsetting.ClassId)+",", "", 1)
- }
- orgListStr = strings.Trim(orgListStr, ",")
- if len(subClassIdsCheck) > 0 {
- panic("存在准入分类 " + subClassIdsCheck + " 未设置审核部门")
- }
- if len(orgListStr) <= 0 {
- panic("未找到审核部门")
- }
- //多实例工作流
- svcFlow := suppliercert.GetOilSupplierCertService(utils.DBE)
- svcFlow.StartAudit(Id, "", orgAudits, this.User.Id, "1", "提交给二级部门初审")
- //返回正确结果
- errinfo.Message = "审核提交成功"
- errinfo.Code = 0
- this.Data["json"] = &errinfo
- this.ServeJSON()
- }
|