|
|
@@ -260,7 +260,7 @@ func extractFileInfo(v interface{}) (fileinfo []contractModel.DingFileInfo, err
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func (s *OrderService) CreateWorkOrder(req *model.WorkOrderReq, args *multipart.Form) (err error) {
|
|
|
+func (s *OrderService) CreateWorkOrder(ctx context.Context, req *model.WorkOrderReq, args *multipart.Form) (err error) {
|
|
|
data := new(model.WorkOrder)
|
|
|
if err = gconv.Struct(req, data); err != nil {
|
|
|
return
|
|
|
@@ -273,11 +273,43 @@ func (s *OrderService) CreateWorkOrder(req *model.WorkOrderReq, args *multipart.
|
|
|
if p == nil {
|
|
|
return myerrors.TipsError("项目不存在")
|
|
|
}
|
|
|
- data.ProductLine = p.ProductLine
|
|
|
|
|
|
data.OrderStatus = "20"
|
|
|
service.SetCreatedInfo(data, s.GetCxtUserId(), s.GetCxtUserName())
|
|
|
|
|
|
+ // 处理支持人员
|
|
|
+ for i, v := range req.FormData {
|
|
|
+ if v.Name == "支持人员" {
|
|
|
+ uid, err := service.UserDingtalkUid(s.Dao.DB, req.AssignUserId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ uidlist, _ := json.Marshal([]string{uid})
|
|
|
+ req.FormData[i].Value = string(uidlist)
|
|
|
+ g.Log().Info(uid,string(uidlist), req.AssignUserId, req.AssignUserName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理产品线
|
|
|
+ var pl string
|
|
|
+ for _, v := range req.FormData {
|
|
|
+ if v.Name == "产品线" {
|
|
|
+ pl, _ = v.Value.(string)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if pl != "" {
|
|
|
+ productLine, err := service.GetDictDataByType(ctx, "sys_product_line")
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ productLineMap := map[string]string{}
|
|
|
+ for k, v := range productLine {
|
|
|
+ productLineMap[v] = k
|
|
|
+ }
|
|
|
+ data.ProductLine = productLineMap[pl]
|
|
|
+ g.Log().Info(pl, data.ProductLine, productLineMap, productLine)
|
|
|
+ }
|
|
|
+
|
|
|
fileInfo := []contractModel.DingFileInfo{}
|
|
|
for _, v := range req.FormData {
|
|
|
if v.ComponentName != "DDAttachment" {
|
|
|
@@ -311,6 +343,12 @@ func (s *OrderService) CreateWorkOrder(req *model.WorkOrderReq, args *multipart.
|
|
|
// }
|
|
|
// return s.AddDynamicsByCurrentUser(tx, int(lastId), "创建工单", map[string]interface{}{})
|
|
|
// }
|
|
|
+ // fmt.Println(data.ProductLine)
|
|
|
+ // fmt.Println(data.AssignUserId)
|
|
|
+ // fmt.Println(data.AssignUserName)
|
|
|
+ // aa, _ := json.Marshal(formComponentValues)
|
|
|
+ // fmt.Println(string(aa))
|
|
|
+ // return fmt.Errorf("test")
|
|
|
|
|
|
// 更新项目调级
|
|
|
lastId, err := s.Dao.TX(tx).Data(data).InsertAndGetId()
|