suppliercertappendsub.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  4. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  5. "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
  6. "dashoo.cn/backend/api/business/oilsupplier/supplierfile"
  7. "dashoo.cn/business2/parameter"
  8. "encoding/json"
  9. "strconv"
  10. "strings"
  11. "time"
  12. "dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub"
  13. . "dashoo.cn/backend/api/controllers"
  14. "dashoo.cn/utils"
  15. )
  16. type OilSupplierCertAppendSubController struct {
  17. BaseController
  18. }
  19. // @Title 获取列表
  20. // @Description 获取列表
  21. // @Success 200 {object} []suppliercertappendsub.OilSupplierCertAppendSub
  22. // @router /getList [get]
  23. func (this *OilSupplierCertAppendSubController) GetList() {
  24. //获取分页信息
  25. //page := this.GetPageInfoForm()
  26. //where := " 1=1 "
  27. //orderby := "Id"
  28. //asc := false
  29. //Order := this.GetString("Order")
  30. //Prop := this.GetString("Prop")
  31. //if Order != "" && Prop != "" {
  32. // orderby = Prop
  33. // if Order == "asc" {
  34. // asc = true
  35. // }
  36. //}
  37. //SupplierCertAppendId := this.GetString("SupplierCertAppendId")
  38. //if SupplierCertAppendId != "" {
  39. // where = where + " and SupplierCertAppendId = " + SupplierCertAppendId
  40. //}
  41. SupplierCertId := this.GetString("SupCertId")
  42. SupplierTypeCode := this.GetString("SupTypeCode")
  43. suwhere := " SupplierCertId = "+ SupplierCertId+ " and SupplierTypeCode = "+ SupplierTypeCode
  44. svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
  45. var list []suppliercertsub.OilSupplierCertSub
  46. //svc.GetEntitysByWhere(OilSupplierCertAppendSubName, where, &list)
  47. svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, suwhere,"CreateOn asc", &list)
  48. var datainfo ErrorDataInfo
  49. datainfo.Item = list
  50. this.Data["json"] = &datainfo
  51. this.ServeJSON()
  52. }
  53. // @Title 获取列表
  54. // @Description 获取列表
  55. // @Success 200 {object} []suppliercertappendsub.OilSupplierCertAppendSub
  56. // @router /getListappend [get]
  57. func (this *OilSupplierCertAppendSubController) GetListAppend() {
  58. //获取分页信息
  59. //page := this.GetPageInfoForm()
  60. //where := " 1=1 "
  61. //orderby := "Id"
  62. //asc := false
  63. //Order := this.GetString("Order")
  64. //Prop := this.GetString("Prop")
  65. //if Order != "" && Prop != "" {
  66. // orderby = Prop
  67. // if Order == "asc" {
  68. // asc = true
  69. // }
  70. //}
  71. //SupplierCertAppendId := this.GetString("SupplierCertAppendId")
  72. //if SupplierCertAppendId != "" {
  73. // where = where + " and SupplierCertAppendId = " + SupplierCertAppendId
  74. //}
  75. SupplierCertId := this.GetString("SupCertId")
  76. SupplierTypeCode := this.GetString("SupTypeCode")
  77. suwhere := " SupplierCertId = "+ SupplierCertId+ " and SupplierTypeCode = "+ SupplierTypeCode +" and Type = 2"
  78. svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
  79. var list []suppliercertsub.OilSupplierCertSub
  80. //svc.GetEntitysByWhere(OilSupplierCertAppendSubName, where, &list)
  81. svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, suwhere,"CreateOn asc", &list)
  82. var datainfo ErrorDataInfo
  83. datainfo.Item = list
  84. this.Data["json"] = &datainfo
  85. this.ServeJSON()
  86. }
  87. // @Title 添加
  88. // @Description 添加增项分类信息基建类
  89. // @Success 200 {object} controllers.Request
  90. // @router /addappendsub [post]
  91. func (this *OilSupplierCertAppendSubController) AddAppendSub() {
  92. var model suppliercertsub.OilSupplierCertSub
  93. var jsonblob = this.Ctx.Input.RequestBody
  94. var errinfo ErrorDataInfo
  95. json.Unmarshal(jsonblob, &model)
  96. model.Type = "2"
  97. model.CreateOn = time.Now()
  98. model.CreateBy = this.User.Realname
  99. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  100. svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
  101. //添加到准入分类表中
  102. _, err := svc.InsertEntityBytbl(OilSupplierCertSubName, &model)
  103. var supplierCertModel suppliercert.OilSupplierCert
  104. svcCert := suppliercert.GetOilSupplierCertService(utils.DBE)
  105. svcCert.GetEntityById(model.SupplierCertId, &supplierCertModel)
  106. filesvc := supplierfile.GetSupplierfileService(utils.DBE)
  107. var needList []supplierfile.FileList
  108. if model.SupplierTypeCode == "01" {
  109. // needList = filesvc.GetGoodsNeedFileList(model.SubClassId)
  110. } else if model.SupplierTypeCode == "02" {
  111. needList = filesvc.GetBasicNeedFileList(model.SubClassId)
  112. } else {
  113. // needList = filesvc.GetTechNeedFileList(model.SubClassId)
  114. }
  115. if supplierCertModel.InStyle == "4" {
  116. var needFile supplierfile.FileList
  117. needFile.FileName = "战略合作协议扫描件"
  118. needList = append(needList, needFile)
  119. }
  120. if err == nil {
  121. var list []supplierfile.OilSupplierFile
  122. where := "SupplierId = '" + strconv.Itoa(model.SupplierId) + "'"
  123. svc.GetEntitysByWhere(OilSupplierFileName, where, &list)
  124. hasField := ""
  125. for i := 0; i < len(list); i++ {
  126. hasField += list[i].NeedFileType + ","
  127. }
  128. mustField := "营业执照,组织代码,税务登记,开户许可,银行开户许可证,承诺书,企业信息系统截图,战略合作协议扫描件,"
  129. for i := 0; i < len(needList); i++ {
  130. var entity supplierfile.OilSupplierFile
  131. entity.SupplierId = model.SupplierId
  132. if strings.Contains(mustField, needList[i].FileName+",") {
  133. entity.SupplierTypeCode = "000"
  134. } else {
  135. entity.SupplierTypeCode = model.SupplierTypeCode
  136. }
  137. entity.NeedFileType = needList[i].FileName
  138. entity.FileType = 1
  139. entity.EffectDate = time.Now()
  140. entity.CreateBy = this.User.Realname
  141. entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  142. if strings.Contains(hasField, needList[i].FileName+",") {
  143. //已存在,不能重复添加
  144. continue
  145. }
  146. entity.SupType = 2
  147. svc.InsertEntityBytbl(OilSupplierFileName, &entity)
  148. }
  149. }
  150. if err == nil {
  151. errinfo.Message = "操作成功!"
  152. errinfo.Code = 0
  153. errinfo.Item = model.Id
  154. this.Data["json"] = &errinfo
  155. this.ServeJSON()
  156. } else {
  157. errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
  158. errinfo.Code = -1
  159. this.Data["json"] = &errinfo
  160. this.ServeJSON()
  161. }
  162. }
  163. // @Title 批量添加增项准入范围--技术服务类
  164. // @Description 批量添加准入范围
  165. // @Success 200 {object} business.device.DeviceChannels
  166. // @router /addtechbus [post]
  167. func (this *OilSupplierCertAppendSubController) AddTechBus() {
  168. var jsonblob = this.Ctx.Input.RequestBody
  169. var datamain suppliercertsub.OilSupplierCertSub
  170. var dataother suppliercertsub.TechnologySubModel
  171. json.Unmarshal(jsonblob, &datamain)
  172. json.Unmarshal(jsonblob, &dataother)
  173. var supplierCertModel suppliercert.OilSupplierCert
  174. svcCert := suppliercert.GetOilSupplierCertService(utils.DBE)
  175. svcCert.GetEntityById(datamain.SupplierCertId, &supplierCertModel)
  176. for n := 0; n < len(dataother.CheckList); n++ {
  177. where_sub := "SupplierTypeCode = 03 and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
  178. where_sub += " and SupplierCertId = '" + strconv.Itoa(dataother.SupplierCertId) + "'"
  179. where_sub += " and SubClassId = '" + strconv.Itoa(dataother.CheckList[n].Id) + "'"
  180. var model suppliercertsub.OilSupplierCertSub
  181. svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
  182. has := svc.GetEntityByWhere(OilSupplierCertSubName, where_sub, &model)
  183. if !has {
  184. datamain.Type = "2"
  185. datamain.SubClassId = dataother.CheckList[n].Id
  186. datamain.Code = dataother.CheckList[n].Code
  187. datamain.Name = dataother.CheckList[n].Name
  188. datamain.Remark = dataother.Remark
  189. datamain.IsDelete = 0
  190. datamain.CreateBy = this.User.Realname
  191. datamain.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  192. svc.InsertEntityBytbl(OilSupplierCertSubName, &datamain)
  193. filesvc := supplierfile.GetSupplierfileService(utils.DBE)
  194. needList := filesvc.GetTechNeedFileList(dataother.CheckList[n].Id)
  195. if supplierCertModel.InStyle == "4" {
  196. var needFile supplierfile.FileList
  197. needFile.FileName = "战略合作协议扫描件"
  198. needList = append(needList, needFile)
  199. }
  200. var list []supplierfile.OilSupplierFile
  201. where := "SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
  202. svc.GetEntitysByWhere(OilSupplierFileName, where, &list)
  203. hasField := ""
  204. for i := 0; i < len(list); i++ {
  205. hasField += list[i].NeedFileType + ","
  206. }
  207. mustField := "营业执照,组织代码,税务登记,开户许可,银行开户许可证,承诺书,企业信息系统截图,战略合作协议扫描件,"
  208. for i := 0; i < len(needList); i++ {
  209. var entity supplierfile.OilSupplierFile
  210. entity.SupplierId = dataother.SupplierId
  211. if strings.Contains(mustField, needList[i].FileName+",") {
  212. entity.SupplierTypeCode = "000"
  213. } else {
  214. entity.SupplierTypeCode = dataother.SupplierTypeCode
  215. }
  216. entity.NeedFileType = needList[i].FileName
  217. entity.SupType = 2
  218. entity.FileType = 1
  219. entity.EffectDate = time.Now()
  220. entity.CreateBy = this.User.Realname
  221. entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  222. if strings.Contains(hasField, needList[i].FileName+",") {
  223. //已存在,不能重复添加
  224. continue
  225. }
  226. svc.InsertEntityBytbl(OilSupplierFileName, &entity)
  227. }
  228. }
  229. }
  230. var errinfo ErrorDataInfo
  231. errinfo.Message = "操作成功!"
  232. errinfo.Code = 0
  233. this.Data["json"] = &errinfo
  234. this.ServeJSON()
  235. }
  236. // @Title 批量添加增项准入范围--物资类
  237. // @Description 批量添加增项准入范围
  238. // @Success 200 {object} business.device.DeviceChannels
  239. // @router /addgoodsbus [post]
  240. func (this *OilSupplierCertAppendSubController) AddGoodsBus() {
  241. var jsonblob = this.Ctx.Input.RequestBody
  242. var datamain suppliercertsub.OilSupplierCertSub
  243. var dataother suppliercertsub.SupplierCertSubModel
  244. json.Unmarshal(jsonblob, &datamain)
  245. json.Unmarshal(jsonblob, &dataother)
  246. var supplierCertModel suppliercert.OilSupplierCert
  247. svcCert := suppliercert.GetOilSupplierCertService(utils.DBE)
  248. svcCert.GetEntityById(datamain.SupplierCertId, &supplierCertModel)
  249. var supplierModel supplier.OilSupplier
  250. svcSupplier := supplier.GetOilSupplierService(utils.DBE)
  251. svcSupplier.GetEntityById(datamain.SupplierCertId, &supplierModel)
  252. for n := 0; n < len(dataother.CheckList); n++ {
  253. where_sub := "SupplierTypeCode = 01 and SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
  254. where_sub += " and SupplierCertId = '" + strconv.Itoa(dataother.SupplierCertId) + "'"
  255. where_sub += " and SubClassId = '" + dataother.CheckList[n].Id + "'"
  256. var model suppliercertsub.OilSupplierCertSub
  257. svc := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
  258. has := svc.GetEntityByWhere(OilSupplierCertSubName, where_sub, &model)
  259. if !has {
  260. datamain.Type = "2"
  261. datamain.SubClassId, _ = utils.StrTo(dataother.CheckList[n].Id).Int()
  262. datamain.Code = dataother.CheckList[n].Code
  263. datamain.Name = dataother.CheckList[n].Name
  264. datamain.Remark = dataother.Remark
  265. datamain.IsDelete = 0
  266. datamain.CreateBy = this.User.Realname
  267. datamain.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  268. svc.InsertEntityBytbl(OilSupplierCertSubName, &datamain)
  269. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  270. filesvc := supplierfile.GetSupplierfileService(utils.DBE)
  271. needList := filesvc.GetGoodsNeedFileList(dataother.CheckList[n].Id)
  272. if supplierCertModel.InStyle == "4" {
  273. var needFile supplierfile.FileList
  274. //战略合作协议扫描件
  275. needFile.FileName = paramSvc.GetBaseparameterMessage("GFGL", "paramset", "CooperationFile")
  276. needList = append(needList, needFile)
  277. }
  278. var list []supplierfile.OilSupplierFile
  279. where := "SupplierId = '" + strconv.Itoa(dataother.SupplierId) + "'"
  280. svc.GetEntitysByWhere(OilSupplierFileName, where, &list)
  281. hasField := ""
  282. for i := 0; i < len(list); i++ {
  283. hasField += list[i].NeedFileType + ","
  284. }
  285. //三证合一或五证合一不需要的字段
  286. mergerCertSkipField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MergerCertSkipFieldName")
  287. //"营业执照,组织代码,组织机构代码证,税务登记证,税务登记,开户许可,银行开户许可证,承诺书,诚信合规承诺书,企业信息系统截图,战略合作协议扫描件,"
  288. mustField := paramSvc.GetBaseparameterMessage("GFGL", "paramset", "MustFieldName")
  289. for i := 0; i < len(needList); i++ {
  290. var entity supplierfile.OilSupplierFile
  291. entity.SupplierId = dataother.SupplierId
  292. if (supplierModel.CredentialFlag == "1" || supplierModel.CredentialFlag == "2") && strings.Contains(mergerCertSkipField, needList[i].FileName+",") { //三证合一或五证合一了
  293. continue
  294. }
  295. if strings.Contains(mustField, needList[i].FileName+",") {
  296. entity.SupplierTypeCode = "000"
  297. } else {
  298. entity.SupplierTypeCode = dataother.SupplierTypeCode
  299. }
  300. entity.NeedFileType = needList[i].FileName
  301. entity.FileType = 1
  302. entity.SupType = 2
  303. entity.EffectDate = time.Now()
  304. entity.CreateBy = this.User.Realname
  305. entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  306. if strings.Contains(hasField, needList[i].FileName+",") {
  307. //已存在,不能重复添加
  308. continue
  309. }
  310. svc.InsertEntityBytbl(OilSupplierFileName, &entity)
  311. }
  312. }
  313. }
  314. var errinfo ErrorDataInfo
  315. errinfo.Message = "操作成功!"
  316. errinfo.Code = 0
  317. this.Data["json"] = &errinfo
  318. this.ServeJSON()
  319. }
  320. // @Title 修改实体
  321. // @Description 修改实体
  322. // @Success 200 {object} controllers.Request
  323. // @router /update/:id [post]
  324. func (this *OilSupplierCertAppendSubController) UpdateEntity() {
  325. var errinfo ErrorInfo
  326. var model suppliercertappendsub.OilSupplierCertAppendSub
  327. id := this.Ctx.Input.Param(":id")
  328. if id == "" {
  329. errinfo.Message = "操作失败!请求信息不完整"
  330. errinfo.Code = -2
  331. this.Data["json"] = &errinfo
  332. this.ServeJSON()
  333. return
  334. }
  335. svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
  336. var jsonBlob = this.Ctx.Input.RequestBody
  337. json.Unmarshal(jsonBlob, &model)
  338. model.ModifiedOn = time.Now()
  339. model.ModifiedBy = this.User.Realname
  340. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  341. cols := []string{
  342. "SortFlag",
  343. "Code",
  344. "Name",
  345. "Remark",
  346. "ModifiedOn",
  347. "ModifiedUserId",
  348. "ModifiedBy",
  349. }
  350. err := svc.UpdateEntityBytbl(OilSupplierCertAppendSubName, id, &model, cols)
  351. if err == nil {
  352. errinfo.Message = "修改成功!"
  353. errinfo.Code = 0
  354. this.Data["json"] = &errinfo
  355. this.ServeJSON()
  356. } else {
  357. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  358. errinfo.Code = -1
  359. this.Data["json"] = &errinfo
  360. this.ServeJSON()
  361. }
  362. }
  363. // @Title 删除
  364. // @Description 删除信息
  365. // @Success 200 {object} ErrorInfo
  366. // @Failure 403 :id 为空
  367. // @router /delete/:Id [delete]
  368. func (this *OilSupplierCertAppendSubController) DeleteEntity() {
  369. Id := this.Ctx.Input.Param(":Id")
  370. var errinfo ErrorInfo
  371. if Id == "" {
  372. errinfo.Message = "操作失败!请求信息不完整"
  373. errinfo.Code = -2
  374. this.Data["json"] = &errinfo
  375. this.ServeJSON()
  376. return
  377. }
  378. var model suppliercertappendsub.OilSupplierCertAppendSub
  379. var entityempty suppliercertappendsub.OilSupplierCertAppendSub
  380. svc := suppliercertappendsub.GetOilSupplierCertAppendSubService(utils.DBE)
  381. opdesc := "删除-" + Id
  382. err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertAppendSubName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "增项分类")
  383. if err == nil {
  384. errinfo.Message = "删除成功"
  385. errinfo.Code = 0
  386. this.Data["json"] = &errinfo
  387. this.ServeJSON()
  388. } else {
  389. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  390. errinfo.Code = -1
  391. this.Data["json"] = &errinfo
  392. this.ServeJSON()
  393. }
  394. }