Browse Source

Merge pull request '根据现场反馈完善创建工单和取消工单的功能' (#101) from feature_om into develop

Reviewed-on: http://101.201.121.115:3000/leo/LAPP_LF_MOM_BACKEND/pulls/101
Reviewed-by: 娄文智 <wenzhi.lou@le-it.com.cn>
develop
娄文智 3 years ago
parent
commit
7906433c95
17 changed files with 543 additions and 47 deletions
  1. +19
    -0
      dao/base/ArtWorkLineLst.dao.go
  2. +23
    -0
      dao/base/PrintDetail.dao.go
  3. +23
    -0
      dao/base/implments/ArtWorkLineLst.dao.impl.go
  4. +52
    -0
      dao/base/implments/PrintDetail.dao.impl.go
  5. +17
    -0
      dao/om/WorkOrder.dao.go
  6. +99
    -0
      dao/om/implments/WorkOrder.dao.impl.go
  7. +7
    -0
      models/base/base.go
  8. +21
    -0
      services/base/Article.service.go
  9. +17
    -0
      services/base/implments/Article.service.impl.go
  10. +79
    -27
      services/base/implments/PrintHead.service.impl.go
  11. +22
    -1
      services/base/implments/RoleRel.service.impl.go
  12. +21
    -0
      services/om/WorkOrder.service.go
  13. +93
    -19
      services/om/implments/WorkOrder.service.impl.go
  14. +45
    -0
      web/controllers/base/Article.rest.go
  15. +2
    -0
      web/controllers/base/base.go
  16. +2
    -0
      web/controllers/om/om.go
  17. +1
    -0
      web/controllers/user_controller.go

+ 19
- 0
dao/base/ArtWorkLineLst.dao.go View File

@ -221,6 +221,25 @@ type ArtWorkLineLstDAO interface {
*
******************************************************************************/
UpdateWhere([]grmi.Predicate, *model.ArtWorkLineLst, ...string) error
/******************************************************************************
*
* @Function Name : SelectByFinishArtWorkLine
*-----------------------------------------------------------------------------
*
* @Description : 跟据workLineId查询Article
*
* @Function Parameters : workLineId
*
* @Return Value : []model.Article
*
* @Return Value : 执行时发生的错误
*
* @Author : 代码生成器创建
*
* @Date : 2021-10-08
*
******************************************************************************/
SelectByFinishArtWorkLine(workLineId string) ([]model.Article, error)
}
/******************************************************************************


+ 23
- 0
dao/base/PrintDetail.dao.go View File

@ -189,6 +189,29 @@ type PrintDetailDAO interface {
*
******************************************************************************/
SelectAndPaging(*grmi.Paging, []grmi.Predicate, []grmi.Field) (grmi.PagingResult, error)
/******************************************************************************
*
* @Function Name : SelectAndPaging
*-----------------------------------------------------------------------------
*
* @Description : 按条件查询PrintDetail并分页
*
* @Function Parameters : 分页信息
*
* @Function Parameters : 查询条件
*
* @Function Parameters : 排序字段
*
* @Return Value : 查询结果
*
* @Return Value : 执行时发生的错误
*
* @Author : 代码生成器创建
*
* @Date : 2021-04-13 13:08:46
*
******************************************************************************/
SelectAndPagingForHead(artId string, sn string, pageIndex int, pageSize int) (grmi.PagingResult, error)
/******************************************************************************
*
* @Function Name : Update


+ 23
- 0
dao/base/implments/ArtWorkLineLst.dao.impl.go View File

@ -304,3 +304,26 @@ func (impl *ArtWorkLineLstDAOImplement) UpdateWhere(predicates []grmi.Predicate,
}
return nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/dao/base/ArtWorkLineLstDAO.SelectByFinishArtWorkLine
*
******************************************************************************/
func (impl *ArtWorkLineLstDAOImplement) SelectByFinishArtWorkLine(workLineId string) ([]model.Article, error) {
result := make([]model.Article, 0, 10)
condition := fmt.Sprintf("%s = %s and %s = %s",
meta.Article_PlantNr.ColumnName,
meta.ArtWorkLineLst_PlantNr.ColumnName,
meta.Article_ArtId.ColumnName,
meta.ArtWorkLineLst_ArtId.ColumnName)
where := fmt.Sprintf("%s = ? and %s = ? and ( %s = ? or %s = ?)",
meta.ArtWorkLineLst_PlantNr.ColumnName,
meta.ArtWorkLineLst_WorkLineId.ColumnName,
meta.Article_ArtSpec1.ColumnName,
meta.Article_ArtSpec1.ColumnName)
parameters := []interface{}{impl.plantNr, workLineId, model.ART_TYPE_VIRTUAL, model.ART_TYPE_FINISHED}
err := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.Article.TableName, condition).Where(where, parameters...).Find(&result)
return result, err
}

+ 52
- 0
dao/base/implments/PrintDetail.dao.impl.go View File

@ -302,3 +302,55 @@ func (impl *PrintDetailDAOImplement) UpdateWhere(predicates []grmi.Predicate, en
}
return nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/dao/base/PrintDetailDAO.SelectAndPagingForHead
*
******************************************************************************/
func (impl *PrintDetailDAOImplement) SelectAndPagingForHead(artId string, sn string, pageIndex int, pageSize int) (grmi.PagingResult, error) {
parameters := []interface{}{impl.plantNr}
where := fmt.Sprintf("%s = ?", meta.PrintDetail_PlantNr.ColumnName)
condition := fmt.Sprintf("%s = %s and %s = %s",
meta.PrintHead_PlantNr.ColumnName,
meta.PrintDetail_PlantNr.ColumnName,
meta.PrintHead_PrintHeadId.ColumnName,
meta.PrintDetail_PrintHeadId.ColumnName)
session := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.PrintHead.TableName, condition)
query := session
query = query.Where(where, parameters...)
if artId != "" {
query = query.Where(fmt.Sprintf("%s = ? and %s = ?",
meta.PrintDetail_VarName.ColumnName,
meta.PrintDetail_VarValue.ColumnName), `$YFAS$`, artId)
where += fmt.Sprintf(" and %s = ? and %s = ? ",
meta.PrintDetail_VarName.ColumnName,
meta.PrintDetail_VarValue.ColumnName)
parameters = append(parameters, `$YFAS$`, artId)
}
if sn != "" {
query = query.Where(fmt.Sprintf("%s = ? and %s = ?",
meta.PrintDetail_VarName.ColumnName,
meta.PrintDetail_VarValue.ColumnName), `$S/N$`, sn)
where += fmt.Sprintf(" and %s = ? and %s = ? ",
meta.PrintDetail_VarName.ColumnName,
meta.PrintDetail_VarValue.ColumnName)
parameters = append(parameters, `$S/N$`, sn)
}
count, err := query.Count(impl.meta.Indicator)
if err != nil {
return grmi.EmptyPagingResult, err
}
orderBy := " order by " + meta.PrintDetail_PlantNr.ColumnName
parameters = append(parameters, pageSize*(pageIndex-1), pageSize)
data := make([]model.PrintHead, 0, 10)
if where != "" {
where = " where " + where
}
err = impl.session.Table(impl.meta.TableName).SQL("select * from "+impl.meta.TableName+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
if err != nil {
return grmi.EmptyPagingResult, err
}
return grmi.PagingResult{Records: data, Count: count, PageNumber: int64(pageIndex), PageSize: int64(pageSize)}, nil
}

+ 17
- 0
dao/om/WorkOrder.dao.go View File

@ -367,6 +367,23 @@ type WorkOrderDAO interface {
*
******************************************************************************/
SelectByPage(string, string, string, string, string, string, int, int, int, []string) (grmi.PagingResult, error)
/******************************************************************************
*
* @Function Name : SelectByPage
*-----------------------------------------------------------------------------
*
* @Description : 按条件查询WorkOrderJoin
*
* @Return Value : 查询结果
*
* @Return Value : 执行时发生的错误
*
* @Author : 张鑫
*
* @Date : 2021-04-27
*
******************************************************************************/
SelectAndFilter(string, string, string, string, string, string, int, int, int, []string) (grmi.PagingResult, error)
/******************************************************************************
*
* @Function Name : SelectLockWorkOrder


+ 99
- 0
dao/om/implments/WorkOrder.dao.impl.go View File

@ -589,6 +589,105 @@ func (impl *WorkOrderDAOImplement) SelectByPage(projectId, artId, start, end, wo
}
return grmi.PagingResult{Records: data, Count: count, PageNumber: int64(pageIndex), PageSize: int64(pageSize)}, nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/dao/om/WorkOrderDAO.SelectAndFilter
*
******************************************************************************/
func (impl *WorkOrderDAOImplement) SelectAndFilter(projectId, artId, start, end, workOrderId, orderType string, status, pageIndex, pageSize int, workLineIdLi []string) (grmi.PagingResult, error) {
data := make([]model.VOmWorkorder, 0, 10)
parameters := []interface{}{impl.plantNr}
session := impl.session.Table(impl.meta.TableName)
statusCondition := fmt.Sprintf("%s = %s and %s = %s",
meta.WorkOrder_PlantNr.ColumnName,
meta.WorkOrderStatus_PlantNr.ColumnName,
meta.WorkOrder_WorkOrderId.ColumnName,
meta.WorkOrderStatus_WorkOrderId.ColumnName)
qtyCondition := fmt.Sprintf("%s = %s and %s = %s",
meta.WorkOrder_PlantNr.ColumnName,
meta.WorkOrderQty_PlantNr.ColumnName,
meta.WorkOrder_WorkOrderId.ColumnName,
meta.WorkOrderQty_WorkOrderId.ColumnName)
session = session.Join("LEFT", meta.WorkOrderStatus.TableName, statusCondition)
session = session.Join("LEFT", meta.WorkOrderQty.TableName, qtyCondition)
query := session
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrder_PlantNr.ColumnName), impl.plantNr)
where := fmt.Sprintf(" left join %s on %s left join %s on %s ", meta.WorkOrderStatus.TableName, statusCondition,
meta.WorkOrderQty.TableName, qtyCondition)
where += fmt.Sprintf(" where %s = ? ", meta.WorkOrder_PlantNr.ColumnName)
if projectId != "" {
parameters = append(parameters, projectId)
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrder_ProjectId.ColumnName), projectId)
where += fmt.Sprintf(" and %s = ? ", meta.WorkOrder_ProjectId.ColumnName)
}
if artId != "" {
parameters = append(parameters, artId)
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrder_ArtId.ColumnName), artId)
where += fmt.Sprintf(" and %s = ? ", meta.WorkOrder_ArtId.ColumnName)
}
if start != "" {
parameters = append(parameters, start)
query = query.Where(fmt.Sprintf("%s >= ?", meta.WorkOrder_PlanStartTime.ColumnName), start)
where += fmt.Sprintf(" and %s >= ? ", meta.WorkOrder_PlanStartTime.ColumnName)
}
if end != "" {
parameters = append(parameters, end)
query = query.Where(fmt.Sprintf("%s <= ?", meta.WorkOrder_PlanStartTime.ColumnName), end)
where += fmt.Sprintf(" and %s <= ? ", meta.WorkOrder_PlanStartTime.ColumnName)
}
if status != 0 {
parameters = append(parameters, status)
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrderStatus_Status.ColumnName), status)
where += fmt.Sprintf(" and %s = ? ", meta.WorkOrderStatus_Status.ColumnName)
}
if workOrderId != "" {
parameters = append(parameters, workOrderId)
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrder_WorkOrderId.ColumnName), workOrderId)
where += fmt.Sprintf(" and %s = ? ", meta.WorkOrder_WorkOrderId.ColumnName)
}
if orderType != "" {
parameters = append(parameters, orderType)
query = query.Where(fmt.Sprintf("%s = ?", meta.WorkOrder_OrderType.ColumnName), orderType)
where += fmt.Sprintf(" and %s = ? ", meta.WorkOrder_OrderType.ColumnName)
}
today := time.Now().Format(grmi.DateOutFormat)
query = query.Where( fmt.Sprintf(" (%s >= ?) or (%s < ? and %s <= ?) ",
meta.WorkOrder_PlanStartDate.ColumnName,
meta.WorkOrder_PlanStartDate.ColumnName,
meta.WorkOrderStatus_Status.ColumnName), today, today, common.WO_STATUS_FINISHED)
where += fmt.Sprintf(" and ( (%s >= ?) or (%s < ? and %s < ?) ) ",
meta.WorkOrder_PlanStartDate.ColumnName,
meta.WorkOrder_PlanStartDate.ColumnName,
meta.WorkOrderStatus_Status.ColumnName)
parameters = append(parameters, today, today, common.WO_STATUS_FINISHED)
query = query.In(meta.WorkOrder_PlanResourceId.ColumnName, workLineIdLi)
if len(workLineIdLi) == 0 {
where += " and 1 <> 1 "
} else {
var inStr string
for index, workLineId := range workLineIdLi {
if index == 0 {
inStr += fmt.Sprintf(`'%s'`, workLineId)
} else {
inStr += fmt.Sprintf(` ,'%s'`, workLineId)
}
}
where += fmt.Sprintf(" and %s in (%s) ", meta.WorkOrder_PlanResourceId.ColumnName, inStr)
}
count, err := query.Count(impl.meta.Indicator)
if err != nil {
return grmi.EmptyPagingResult, err
}
orderBy := " order by " + meta.WorkOrder_PlantNr.ColumnName + ", " + meta.WorkOrder_WorkOrderId.ColumnName
parameters = append(parameters, (pageIndex-1)*pageSize, pageSize)
err = session.SQL(fmt.Sprintf("select %s.*,%s.*,%s.* from ", meta.WorkOrder.TableName, meta.WorkOrderStatus.TableName, meta.WorkOrderQty.TableName)+impl.meta.TableName+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data)
if err != nil {
return grmi.EmptyPagingResult, err
}
return grmi.PagingResult{Records: data, Count: count, PageNumber: int64(pageIndex), PageSize: int64(pageSize)}, nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/dao/om/WorkOrderDAO.SelectLockWorkOrder


+ 7
- 0
models/base/base.go View File

@ -212,3 +212,10 @@ type PrintBasicRuleInfoData struct {
OperationId int `json:"operationId"`
PrintBasicRuleInfoLi []PrintBasicRuleInfo `json:"printBaseRuleInfoLi"`
}
// 角色产线关联返回结构体
type RoleWorkLine struct {
RoleRel
WorkLineDesc string `json:"RoleRel-WorkLineDesc"`
}

+ 21
- 0
services/base/Article.service.go View File

@ -173,6 +173,27 @@ type ArticleService interface {
*
******************************************************************************/
Update(*models.Usertab, *[]model.Article) error
/******************************************************************************
*
* @Function Name : SelectByWorkLine
*-----------------------------------------------------------------------------
*
* @Description : 通过workLineId查询Article
*
* @Function Parameters : 当前访问人员信息
*
* @Function Parameters : workLineId
*
* @Return Value : article list
*
* @Return Value : 执行时发生的错误
*
* @Author : zhangxin
*
* @Date : 2021-10-08
*
******************************************************************************/
SelectByWorkLine(user *models.Usertab, workLineId string) (interface{}, error)
}
/******************************************************************************


+ 17
- 0
services/base/implments/Article.service.impl.go View File

@ -436,3 +436,20 @@ func (impl *ArticleServiceImplement) Update(user *models.Usertab, entities *[]mo
}
return nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/services/base/ArticleService.SelectByWorkLine
*
******************************************************************************/
func (impl *ArticleServiceImplement) SelectByWorkLine(user *models.Usertab, workLineId string) (interface{}, error) {
grmi.Log(user, "/services/base/implments/Article.service.impl.go", "UpdateArticle", "修改多个Article")
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
dao := dal.NewArtWorkLineLstDAO(session, user.Pid, user.Userid)
articleLi, err := dao.SelectByFinishArtWorkLine(workLineId)
return articleLi, err
}

+ 79
- 27
services/base/implments/PrintHead.service.impl.go View File

@ -9,6 +9,7 @@ import (
meta "LAPP_LF_MOM_BACKEND/meta/base"
model "LAPP_LF_MOM_BACKEND/models/base"
"LAPP_LF_MOM_BACKEND/web/models"
"strconv"
)
/******************************************************************************
@ -277,33 +278,33 @@ func (impl *PrintHeadServiceImplement) Delete(user *models.Usertab, entities *[]
* @Reference LAPP_LF_MOM_BACKEND/services/base/PrintHeadService.Select
*
******************************************************************************/
func (impl *PrintHeadServiceImplement) Select(user *models.Usertab, urlParameters map[string]string) (interface{}, error) {
grmi.Log(user, "/services/base/implments/PrintHead.service.impl.go", "SelectPrintHead", "查询PrintHead")
condition := DefaultConditionOfPrintHeadAndPaging
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
predicates, err := condition.BuildPredicates(urlParameters)
if err != nil {
return nil, err
}
dao := dal.NewPrintHeadDAO(session, user.Pid, user.Userid)
if condition.Fill(urlParameters) {
result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields)
if err != nil {
return nil, err
}
return result, nil
} else {
result, err := dao.Select(predicates, condition.OrderByFields)
if err != nil {
return nil, err
}
return result, nil
}
}
//func (impl *PrintHeadServiceImplement) Select(user *models.Usertab, urlParameters map[string]string) (interface{}, error) {
//
// grmi.Log(user, "/services/base/implments/PrintHead.service.impl.go", "SelectPrintHead", "查询PrintHead")
//
// condition := DefaultConditionOfPrintHeadAndPaging
// engine := db.Eloquent.Master()
// session := engine.NewSession()
// defer session.Close()
// predicates, err := condition.BuildPredicates(urlParameters)
// if err != nil {
// return nil, err
// }
// dao := dal.NewPrintHeadDAO(session, user.Pid, user.Userid)
// if condition.Fill(urlParameters) {
// result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields)
// if err != nil {
// return nil, err
// }
// return result, nil
// } else {
// result, err := dao.Select(predicates, condition.OrderByFields)
// if err != nil {
// return nil, err
// }
// return result, nil
// }
//}
/******************************************************************************
*
@ -335,3 +336,54 @@ func (impl *PrintHeadServiceImplement) Update(user *models.Usertab, entities *[]
}
return nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/services/base/PrintHeadService.Select
*
******************************************************************************/
func (impl *PrintHeadServiceImplement) Select(user *models.Usertab, urlParameters map[string]string) (interface{}, error) {
grmi.Log(user, "/services/base/implments/PrintHead.service.impl.go", "SelectPrintHead", "查询PrintHead")
condition := DefaultConditionOfPrintHeadAndPaging
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
artId, _ := urlParameters["artId"]
sn, _ := urlParameters["sn"]
dao := dal.NewPrintHeadDAO(session, user.Pid, user.Userid)
detailDao := dal.NewPrintDetailDAO(session, user.Pid, user.Userid)
predicates, err := condition.BuildPredicates(urlParameters)
if err != nil {
return nil, err
}
if condition.Fill(urlParameters) {
pageIndexStr := urlParameters["pageNumber"]
pageSizeStr := urlParameters["pageSize"]
pageIndex, _ := strconv.Atoi(pageIndexStr)
pageSize, _ := strconv.Atoi(pageSizeStr)
if artId != "" || sn != "" {
result, err := detailDao.SelectAndPagingForHead(artId, sn, pageIndex, pageSize)
if err != nil {
return nil, err
}
return result, nil
} else {
result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields)
if err != nil {
return nil, err
}
return result, nil
}
} else {
result, err := dao.Select(predicates, condition.OrderByFields)
if err != nil {
return nil, err
}
return result, nil
}
}

+ 22
- 1
services/base/implments/RoleRel.service.impl.go View File

@ -290,6 +290,7 @@ func (impl *RoleRelServiceImplement) Select(user *models.Usertab, urlParameters
return nil, err
}
dao := dal.NewRoleRelDAO(session, user.Pid, user.Userid)
workLineDao := dal.NewWorkLineDAO(session, user.Pid, user.Userid)
if condition.Fill(urlParameters) {
result, err := dao.SelectAndPaging(condition.Paging, predicates, condition.OrderByFields)
if err != nil {
@ -301,7 +302,27 @@ func (impl *RoleRelServiceImplement) Select(user *models.Usertab, urlParameters
if err != nil {
return nil, err
}
return result, nil
workLineIdLi := make([]interface{}, 0, len(result))
newRes := make([]model.RoleWorkLine, 0, len(result))
for _, data := range result {
workLineIdLi = append(workLineIdLi, data.WorkLineid)
}
workLineLi, err := workLineDao.Select([]grmi.Predicate{meta.WorkLine_WorkLineid.NewPredicate(grmi.Include, workLineIdLi...)}, nil)
if err != nil {
return nil, err
}
workLineMap := make(map[string]string, len(result))
for _, data := range workLineLi {
workLineMap[data.WorkLineid] = data.Descr
}
for _, data := range result {
var roleWorkLine model.RoleWorkLine
roleWorkLine.RoleRel = data
desc := workLineMap[data.WorkLineid]
roleWorkLine.WorkLineDesc = desc
newRes = append(newRes, roleWorkLine)
}
return newRes, nil
}
}


+ 21
- 0
services/om/WorkOrder.service.go View File

@ -154,6 +154,27 @@ type WorkOrderService interface {
*
******************************************************************************/
Select(*models.Usertab, map[string]string) (interface{}, error)
/******************************************************************************
*
* @Function Name : SelectAndPaging
*-----------------------------------------------------------------------------
*
* @Description : 查询WorkOrder
*
* @Function Parameters : 当前访问人员信息
*
* @Function Parameters : 查询参数
*
* @Return Value : 查询结果
*
* @Return Value : 执行时发生的错误
*
* @Author : 代码生成器创建
*
* @Date : 2021-04-19 14:04:47
*
******************************************************************************/
SelectAndFilter(*models.Usertab, map[string]string) (interface{}, error)
/******************************************************************************
*
* @Function Name : Update


+ 93
- 19
services/om/implments/WorkOrder.service.impl.go View File

@ -665,6 +665,78 @@ func (impl *WorkOrderServiceImplement) Select(user *models.Usertab, urlParameter
return result, nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/services/om/WorkOrderService.SelectAndFilter
*
******************************************************************************/
func (impl *WorkOrderServiceImplement) SelectAndFilter(user *models.Usertab, urlParameters map[string]string) (interface{}, error) {
grmi.Log(user, "/services/om/implments/WorkOrder.service.impl.go", "SelectWorkOrder", "查询WorkOrder")
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
var projectId string
var artId string
var timeStart string
var timeEnd string
var workOrderId string
var orderType string
var statusStr string
var pageNumberStr string
var pageSizeStr string
projectId, _ = urlParameters["ProjectId"]
artId, _ = urlParameters["ArtId"]
workOrderId, _ = urlParameters["WorkOrderId"]
timeStart, _ = urlParameters["start"]
timeEnd, _ = urlParameters["end"]
orderType, _ = urlParameters["OrderType"]
statusStr, _ = urlParameters["status"]
pageNumberStr, _ = urlParameters["pageNumber"]
pageSizeStr, _ = urlParameters["pageSize"]
status, err := strconv.Atoi(statusStr)
if err != nil {
status = 0
}
if timeStart != "" {
_, err = time.ParseInLocation("2006-01-02 15:04:05", timeStart, utils.TimezoneLocation)
if err != nil {
return nil, err
}
}
if timeEnd != "" {
_, err = time.ParseInLocation("2006-01-02 15:04:05", timeEnd, utils.TimezoneLocation)
if err != nil {
return nil, err
}
}
pageNumber, err := strconv.Atoi(pageNumberStr)
if err != nil {
pageNumber = 1
}
pageSize, err := strconv.Atoi(pageSizeStr)
if err != nil {
pageSize = 10
}
dao := dal.NewWorkOrderDAO(session, user.Pid, user.Userid)
roleRelDao := baseDal.NewRoleRelDAO(session, user.Pid, user.Userid)
roleRelLi, err := roleRelDao.Select([]grmi.Predicate{baseMeta.RoleRel_RoleId.NewPredicate(grmi.Equal, user.RoleId)}, nil)
if err != nil {
return nil, err
}
workLineIdLi := make([]string, 0, len(roleRelLi))
for _, roleRel := range roleRelLi {
workLineIdLi = append(workLineIdLi, roleRel.WorkLineid)
}
result, err := dao.SelectAndFilter(projectId, artId, timeStart, timeEnd, workOrderId, orderType, status, pageNumber, pageSize, workLineIdLi)
if err != nil {
return nil, err
}
return result, nil
}
/******************************************************************************
*
* @Reference LAPP_LF_MOM_BACKEND/services/om/WorkOrderService.Update
@ -3105,26 +3177,28 @@ func (impl *WorkOrderServiceImplement) CancelUnCompletedSerialOrder(user *models
if serialOrder.SerialOrderStatus.Status >= baseModel.ORDER_STATUS_CLOSED || serialOrder.SerialOrderStatus.Status == baseModel.WO_STATUS_INTERRUPT {
_ = session.Rollback()
return grmi.NewBusinessError("序列工单不合规,不允许取消, serialOrderId:" + serialOrder.SerialOrder.SerialOrderId)
} else if serialOrder.SerialOrderStatus.Status == baseModel.ORDER_STATUS_RUNNING {
poDataLi, err := poDao.GetSerialOrderPOData(serialOrder.SerialOrder.SerialOrderId, serialOrder.SerialOrder.UsedResourceId)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("查询工单工序数据失败, error:" + err.Error())
}
for _, poData := range *poDataLi {
if !poData.Process.IsFirstPO {
if poData.SerialOrderPOLst.Status > baseModel.WO_STATUS_RELEASED {
_ = session.Rollback()
return grmi.NewBusinessError("首个工单的非首道序状态不是已下达")
}
} else {
if poData.SerialOrderPOLst.Status != baseModel.ORDER_STATUS_RUNNING && poData.SerialOrderPOLst.Status != baseModel.WO_STATUS_RELEASED {
_ = session.Rollback()
return grmi.NewBusinessError("首个工单的首道序状态不是生产中")
}
}
}
}
// 校验工单的首道序是40其余是26才可以去取消 现在去掉这个限制了
//else if serialOrder.SerialOrderStatus.Status == baseModel.ORDER_STATUS_RUNNING {
// poDataLi, err := poDao.GetSerialOrderPOData(serialOrder.SerialOrder.SerialOrderId, serialOrder.SerialOrder.UsedResourceId)
// if err != nil {
// _ = session.Rollback()
// return grmi.NewBusinessError("查询工单工序数据失败, error:" + err.Error())
// }
// for _, poData := range *poDataLi {
// if !poData.Process.IsFirstPO {
// if poData.SerialOrderPOLst.Status > baseModel.WO_STATUS_RELEASED {
// _ = session.Rollback()
// return grmi.NewBusinessError("首个工单的非首道序状态不是已下达")
// }
// } else {
// if poData.SerialOrderPOLst.Status != baseModel.ORDER_STATUS_RUNNING && poData.SerialOrderPOLst.Status != baseModel.WO_STATUS_RELEASED {
// _ = session.Rollback()
// return grmi.NewBusinessError("首个工单的首道序状态不是生产中")
// }
// }
// }
//}
} else {
if serialOrder.SerialOrderStatus.Status >= baseModel.WO_STATUS_RUNNING || serialOrder.SerialOrderStatus.Status == baseModel.WO_STATUS_INTERRUPT {
_ = session.Rollback()


+ 45
- 0
web/controllers/base/Article.rest.go View File

@ -362,3 +362,48 @@ func RegisterUpdateArticle(party router.Party, path string, method func(*models.
RegisterMultiArticle(party, "PUT", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterSelectArticleByWorkLineId
*-----------------------------------------------------------------------------
*
* @Description : 通过workLineId查询Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : zhangxin
*
* @Date : 2021-10-08
*
******************************************************************************/
func RegisterSelectArticleByWorkLineId(party router.Party, path string, method func(*models.Usertab, string) (interface{}, error)) {
party.Get(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
workLineId := ctx.URLParam("workLineId")
if workLineId == "" {
supports.Error(ctx, iris.StatusBadRequest, "未获取到产线ID", nil)
return
}
result, err := method(user, workLineId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
if result == nil {
supports.Error(ctx, iris.StatusNotFound, supports.NotFound, nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}

+ 2
- 0
web/controllers/base/base.go View File

@ -771,6 +771,8 @@ func RegisterRoutes() {
RegisterUpdateOneArticle(article, "/updateone", serviceOfArticle.UpdateOne)
// Article修改多条
// RegisterUpdateArticle(article, "/update", serviceOfArticle.Update)
// Article 通过产线查询总成和虚拟总成
RegisterSelectArticleByWorkLineId(article, "/selectbyworkline", serviceOfArticle.SelectByWorkLine)
// WorkLineWorkShiftLst的路由组
worklineworkshiftlst := party.Party("/worklineworkshiftlst")


+ 2
- 0
web/controllers/om/om.go View File

@ -143,6 +143,8 @@ func RegisterRoutes() {
// RegisterDeleteWorkOrder(workorder, "/delete", serviceOfWorkOrder.Delete)
// WorkOrder查询多条
RegisterSelectWorkOrder(workorder, "/query", serviceOfWorkOrder.Select)
// WorkOrder查询多条 同时按日期和状态过滤
RegisterSelectWorkOrder(workorder, "/filter", serviceOfWorkOrder.SelectAndFilter)
// WorkOrder查询一条
RegisterSelectOneWorkOrder(workorder, "/get", serviceOfWorkOrder.SelectOne)
// WorkOrder修改一条


+ 1
- 0
web/controllers/user_controller.go View File

@ -154,6 +154,7 @@ func GetUserInfo(ctx iris.Context) {
mp["avatar"] = mUser.Avatar
}
mp["name"] = mUser.Nickname
mp["roleId"] = mUser.RoleId
utils.TrimStruct(&mp, mp)
supports.Ok(ctx, supports.Success, mp)
}


Loading…
Cancel
Save