diff --git a/dao/jit/PackOrder.dao.go b/dao/jit/PackOrder.dao.go index 0b90021..1dc5f86 100644 --- a/dao/jit/PackOrder.dao.go +++ b/dao/jit/PackOrder.dao.go @@ -255,6 +255,25 @@ type PackOrderDAO interface { * ******************************************************************************/ SelectUserRunningPackOrder(userId string, location string) ([]model.PackOrderWithStatus, error) + /****************************************************************************** + * + * @Function Name : SelectUserClosePackOrder + *----------------------------------------------------------------------------- + * + * @Description : 查询用户操作的打包中的包装单 + * + * @Function Parameters : 用户ID + * + * @Return Value : 查找到的PackOrderWithStatus列表 + * + * @Return Value : 执行时发生的错误 + * + * @Author : zhangxin + * + * @Date : 2021-11-04 + * + ******************************************************************************/ + SelectUserClosePackOrder(startDayTime string, endDayTime string, worklineId string) ([]model.PackOrder, error) } /****************************************************************************** diff --git a/dao/jit/implments/PackOrder.dao.impl.go b/dao/jit/implments/PackOrder.dao.impl.go index c9bd0da..46aa9ee 100644 --- a/dao/jit/implments/PackOrder.dao.impl.go +++ b/dao/jit/implments/PackOrder.dao.impl.go @@ -5,6 +5,7 @@ package implments import ( "LAPP_ACURA_MOM_BACKEND/grmi" meta "LAPP_ACURA_MOM_BACKEND/meta/jit" + omMeta "LAPP_ACURA_MOM_BACKEND/meta/om" model "LAPP_ACURA_MOM_BACKEND/models/jit" "fmt" "github.com/go-xorm/xorm" @@ -255,7 +256,7 @@ func (impl *PackOrderDAOImplement) SelectAndPaging(paging *grmi.Paging, predicat parameters = append(parameters, paging.Offset(), paging.Size) data := make([]model.PackOrderWithStatus, 0, 10) where = " where " + where - err = impl.session.Table(impl.meta.TableName).SQL(fmt.Sprintf("select %s.*,%s.* from [", meta.PackOrder.TableName, meta.PackOrderStatus.TableName)+impl.meta.TableName+"]" + joinStr +where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data) + err = impl.session.Table(impl.meta.TableName).SQL(fmt.Sprintf("select %s.*,%s.* from [", meta.PackOrder.TableName, meta.PackOrderStatus.TableName)+impl.meta.TableName+"]"+joinStr+where+orderBy+" offset ? row fetch next ? row only", parameters...).Find(&data) if err != nil { return grmi.EmptyPagingResult, err } @@ -363,4 +364,46 @@ func (impl *PackOrderDAOImplement) SelectUserRunningPackOrder(userId string, loc return nil, grmi.NewDataBaseError(err) } return data, nil -} \ No newline at end of file +} + +/****************************************************************************** + * + * @Reference LAPP_ACURA_MOM_BACKEND/dao/jit/PackOrderDAO.SelectUserClosePackOrder + * + ******************************************************************************/ +func (impl *PackOrderDAOImplement) SelectUserClosePackOrder(startDayTime string, endDayTime string, worklineId string) ([]model.PackOrder, error) { + + condition := fmt.Sprintf("%s = %s and %s = %s", + meta.PackOrder_PlantNr.ColumnName, + meta.PackOrderStatus_PlantNr.ColumnName, + meta.PackOrder_PackOrderId.ColumnName, + meta.PackOrderStatus_PackOrderId.ColumnName) + + condition1 := fmt.Sprintf("%s = %s and %s = %s", + meta.PackOrder_PlantNr.ColumnName, + meta.PackOrderItemLst_PlantNr.ColumnName, + meta.PackOrder_PackOrderId.ColumnName, + meta.PackOrderItemLst_PackOrderId.ColumnName) + + condition2 := fmt.Sprintf("%s = %s and %s = %s", + meta.PackOrder_PlantNr.ColumnName, + meta.PackOrderItemLst_PlantNr.ColumnName, + omMeta.SerialOrder_SerialOrderId.ColumnName, + meta.PackOrderItemLst_SerialOrderId.ColumnName) + session := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.PackOrderStatus.TableName, condition).Join("LEFT", meta.PackOrderItemLst.TableName, condition1).Join("LEFT", omMeta.SerialOrder.TableName, condition2) + parameters := []interface{}{impl.plantNr, startDayTime, endDayTime, model.PACK_TYPE_STD, model.PACK_STATUS_CLOSED,worklineId} + where := fmt.Sprintf("%s = ? and %s >= ? and %s < ? and %s = ? and %s = ? and %s = ?", + meta.PackOrder_PlantNr.ColumnName, + meta.PackOrder_OpenTime.ColumnName, + meta.PackOrder_OpenTime.ColumnName, + meta.PackOrder_PackTypeId.ColumnName, + meta.PackOrderStatus_Status.ColumnName, + omMeta.SerialOrder_PlanResourceId.ColumnName) + data := make([]model.PackOrder, 0, 10) + err := session.Where(where, parameters...).Find(&data) + if err != nil { + return nil, grmi.NewDataBaseError(err) + } + + return data, nil +} diff --git a/meta/base/WorkPlace.meta.go b/meta/base/WorkPlace.meta.go index a0c6c9f..97ff65a 100644 --- a/meta/base/WorkPlace.meta.go +++ b/meta/base/WorkPlace.meta.go @@ -37,6 +37,7 @@ var WorkPlace_RequireSkillRank4 = grmi.NewField("RequireSkillRank4", "WorkPlace. var WorkPlace_TriggerFrom = grmi.NewField("TriggerFrom", "WorkPlace.TriggerFrom", "triggerfrom", grmi.TypeString) var WorkPlace_TriggerDependOn = grmi.NewField("TriggerDependOn", "WorkPlace.TriggerDependOn", "triggerdependon", grmi.TypeString) var WorkPlace_FunctionType = grmi.NewField("FunctionType", "WorkPlace.FunctionType", "functiontype", grmi.TypeString) +var WorkPlace_PrinterId = grmi.NewField("PrinterId", "WorkPlace.PrinterId", "printerid", grmi.TypeString) var WorkPlace_BKFlag = grmi.NewField("BKFlag", "WorkPlace.BKFlag", "bkflag", grmi.TypeBool) var WorkPlace_LastModify = grmi.NewField("LastModify", "WorkPlace.LastModify", "lastmodify", grmi.TypeDateTime) var WorkPlace_LastUser = grmi.NewField("LastUser", "WorkPlace.LastUser", "lastuser", grmi.TypeString) @@ -77,9 +78,10 @@ var WorkPlace = grmi.NewEntity( WorkPlace_TriggerDependOn.Name: WorkPlace_TriggerDependOn, WorkPlace_FunctionType.Name: WorkPlace_FunctionType, WorkPlace_BKFlag.Name: WorkPlace_BKFlag, + WorkPlace_PrinterId.Name: WorkPlace_PrinterId, WorkPlace_LastModify.Name: WorkPlace_LastModify, WorkPlace_LastUser.Name: WorkPlace_LastUser, WorkPlace_CreateTime.Name: WorkPlace_CreateTime, }, []string{"PlantNr"}, - []string{"WorkPlaceId", "Descr", "WorkPlaceGrpNr", "WorkPlaceType", "CapacityType", "CapacityFactor", "PlanEfficiency", "CostRate", "WeekModelNr", "WorkCalendarNr", "CostCenterId", "LocationId", "RequireSkillRank1", "RequireSkillRank2", "RequireSkillRank3", "RequireSkillRank4", "TriggerFrom", "TriggerDependOn", "FunctionType", "BKFlag", "LastUser"}) + []string{"WorkPlaceId", "Descr", "WorkPlaceGrpNr", "PrinterId", "WorkPlaceType", "CapacityType", "CapacityFactor", "PlanEfficiency", "CostRate", "WeekModelNr", "WorkCalendarNr", "CostCenterId", "LocationId", "RequireSkillRank1", "RequireSkillRank2", "RequireSkillRank3", "RequireSkillRank4", "TriggerFrom", "TriggerDependOn", "FunctionType", "BKFlag", "LastUser"}) diff --git a/meta/qm/ReclinerReclst.meta.go b/meta/qm/ReclinerReclst.meta.go index 1e10182..1c98344 100644 --- a/meta/qm/ReclinerReclst.meta.go +++ b/meta/qm/ReclinerReclst.meta.go @@ -18,12 +18,14 @@ import ( ******************************************************************************/ var ReclinerReclst_PlantNr = grmi.NewField("PlantNr", "QM_ReclinerReclst.PlantNr", "plantnr", grmi.TypeInt) var ReclinerReclst_RecNr = grmi.NewField("RecNr", "QM_ReclinerReclst.RecNr", "recnr", grmi.TypeInt) +var ReclinerReclst_WorkPlaceNr = grmi.NewField("WorkPlaceNr", "QM_ReclinerReclst.WorkPlaceNr", "workplacenr", grmi.TypeInt) var ReclinerReclst_RecType = grmi.NewField("RecType", "QM_ReclinerReclst.RecType", "RecType", grmi.TypeString) var ReclinerReclst_Line = grmi.NewField("Line", "QM_ReclinerReclst.Line", "line", grmi.TypeString) var ReclinerReclst_ArtId = grmi.NewField("ArtId", "QM_ReclinerReclst.ArtId", "artid", grmi.TypeString) var ReclinerReclst_SerialOrderId = grmi.NewField("SerialOrderId", "QM_ReclinerReclst.SerialOrderId", "serialorderid", grmi.TypeString) var ReclinerReclst_ReclinerNr = grmi.NewField("ReclinerNr", "QM_ReclinerReclst.ReclinerNr", "reclinernr", grmi.TypeString) var ReclinerReclst_ItemPartNr = grmi.NewField("ItemPartNr", "QM_ReclinerReclst.ItemPartNr", "itempartnr", grmi.TypeString) +var ReclinerReclst_PrinterId = grmi.NewField("PrinterId", "QM_ReclinerReclst.PrinterId", "printerid", grmi.TypeString) var ReclinerReclst_Status = grmi.NewField("Status", "QM_ReclinerReclst.Status", "status", grmi.TypeString) var ReclinerReclst_LastModify = grmi.NewField("LastModify", "QM_ReclinerReclst.LastModify", "lastmodify", grmi.TypeDateTime) var ReclinerReclst_LastUser = grmi.NewField("LastUser", "QM_ReclinerReclst.LastUser", "lastuser", grmi.TypeString) @@ -44,16 +46,18 @@ var ReclinerReclst = grmi.NewEntity( map[string]grmi.Field{ ReclinerReclst_PlantNr.Name: ReclinerReclst_PlantNr, ReclinerReclst_RecNr.Name: ReclinerReclst_RecNr, + ReclinerReclst_WorkPlaceNr.Name: ReclinerReclst_WorkPlaceNr, ReclinerReclst_RecType.Name: ReclinerReclst_RecType, ReclinerReclst_Line.Name: ReclinerReclst_Line, ReclinerReclst_ArtId.Name: ReclinerReclst_ArtId, ReclinerReclst_SerialOrderId.Name: ReclinerReclst_SerialOrderId, ReclinerReclst_ReclinerNr.Name: ReclinerReclst_ReclinerNr, ReclinerReclst_ItemPartNr.Name: ReclinerReclst_ItemPartNr, + ReclinerReclst_PrinterId.Name: ReclinerReclst_PrinterId, ReclinerReclst_Status.Name: ReclinerReclst_Status, ReclinerReclst_LastModify.Name: ReclinerReclst_LastModify, ReclinerReclst_LastUser.Name: ReclinerReclst_LastUser, ReclinerReclst_CreateTime.Name: ReclinerReclst_CreateTime, }, []string{"PlantNr"}, - []string{"ArtId", "RecType", "SerialOrderId", "ReclinerNr", "ItemPartNr", "Status", "LastUser"}) + []string{"ArtId", "RecType", "SerialOrderId", "ReclinerNr", "ItemPartNr", "WorkPlaceNr", "PrinterId", "Status", "LastUser"}) diff --git a/models/base/WorkPlace.model.go b/models/base/WorkPlace.model.go index 9afa2da..c118578 100644 --- a/models/base/WorkPlace.model.go +++ b/models/base/WorkPlace.model.go @@ -33,6 +33,7 @@ type WorkPlace struct { WeekModelNr int `xorm:"int 'WeekModelNr' not null" json:"WorkPlace-WeekModelNr"` WorkCalendarNr int `xorm:"int 'WorkCalendarNr' not null" json:"WorkPlace-WorkCalendarNr"` CostCenterId string `xorm:"nvarchar(40) 'CostCenterId' not null" json:"WorkPlace-CostCenterId"` + PrinterId string `xorm:"nvarchar(40) 'PrinterId' not null" json:"WorkPlace-PrinterId"` LocationId string `xorm:"nvarchar(40) 'LocationId' not null" json:"WorkPlace-LocationId"` RequireSkillRank1 int `xorm:"int 'RequireSkillRank1' not null" json:"WorkPlace-RequireSkillRank1"` RequireSkillRank2 int `xorm:"int 'RequireSkillRank2' not null" json:"WorkPlace-RequireSkillRank2"` diff --git a/models/qm/ReclinerReclst.model.go b/models/qm/ReclinerReclst.model.go index b585066..8ca9d84 100644 --- a/models/qm/ReclinerReclst.model.go +++ b/models/qm/ReclinerReclst.model.go @@ -28,6 +28,8 @@ type ReclinerReclst struct { SerialOrderId string `xorm:"nvarchar(100) 'SerialOrderId'" json:"QM_ReclinerReclst-SerialOrderId"` ReclinerNr string `xorm:"nvarchar(64) 'ReclinerNr'" json:"QM_ReclinerReclst-ReclinerNr"` ItemPartNr string `xorm:"nvarchar(64) 'ItemPartNr'" json:"QM_ReclinerReclst-ItemPartNr"` + PrinterId string `xorm:"nvarchar(64) 'PrinterId'" json:"QM_ReclinerReclst-PrinterId"` + WorkPlaceNr int `xorm:"int 'WorkPlaceNr'" json:"QM_ReclinerReclst-WorkPlaceNr"` Status string `xorm:"nvarchar(16) 'Status'" json:"QM_ReclinerReclst-Status"` LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"QM_ReclinerReclst-LastModify"` LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"QM_ReclinerReclst-LastUser"` diff --git a/services/qm/implments/DefectRecord.service.impl.go b/services/qm/implments/DefectRecord.service.impl.go index e7a4826..5f39d10 100644 --- a/services/qm/implments/DefectRecord.service.impl.go +++ b/services/qm/implments/DefectRecord.service.impl.go @@ -407,7 +407,7 @@ func (impl *DefectRecordServiceImplement) Insert(user *global.User, entities mod if reason == nil { return grmi.NewBusinessError(fmt.Sprintf("没有找到缺陷原因:%s!", entity.DefectReasonId)) } - area, err := areaDAO.SelectOne(entity.ViewId, entity.AreaId) + area, err := areaDAO.SelectOne("public", entity.AreaId) if err != nil { return err } @@ -610,31 +610,7 @@ func (impl *DefectRecordServiceImplement) Rework(user *global.User, recNr int, p return grmi.NewBusinessError("不存在指定记录!") } - //查询订单状态 - statusInfo, err := statusDao.SelectOne(record.SerialOrderId) - if err != nil { - session.Rollback() - return err - } - if statusInfo == nil { - session.Rollback() - return grmi.NewBusinessError("序列订单查询错误!") - } - if statusInfo.Status != common.WO_STATUS_FINISHED { - return grmi.NewBusinessError("该工单前序未完成!") - } - OrderInfo, err := sdao.SelectOne(record.SerialOrderId) - if err != nil { - session.Rollback() - return grmi.NewBusinessError("序列订单查询错误!") - } - OrderInfo.Status = common.CHECK_STATUS_CLOSED - err = sdao.UpdateOne(OrderInfo) - if err != nil { - session.Rollback() - return grmi.NewBusinessError("序列订单更新失败!") - } record.Status = strconv.Itoa(common.ORDER_STATUS_CLOSED) record.InspectTime = grmi.DateTime(time.Now()) record.Inspector = user.UserId @@ -643,120 +619,155 @@ func (impl *DefectRecordServiceImplement) Rework(user *global.User, recNr int, p session.Rollback() return err } + //查询缺陷是否已经都修复 + records, err := dao.Select([]grmi.Predicate{ + meta.DefectRecord_SerialOrderId.NewPredicate(grmi.Equal, seriInfo.SerialOrderId), + meta.DefectRecord_Status.NewPredicate(grmi.LessThen, common.ORDER_STATUS_CLOSED), + }, nil) + if err != nil { + session.Rollback() + return err + } + if len(records) == 0{ + //查询订单状态 + statusInfo, err := statusDao.SelectOne(record.SerialOrderId) + if err != nil { + session.Rollback() + return err + } + if statusInfo == nil { + session.Rollback() + return grmi.NewBusinessError("序列订单查询错误!") + } + if statusInfo.Status != common.WO_STATUS_FINISHED { + return grmi.NewBusinessError("该工单前序未完成!") + } - //添加返修打印记录 + OrderInfo, err := sdao.SelectOne(record.SerialOrderId) + if err != nil { + session.Rollback() + return grmi.NewBusinessError("序列订单查询错误!") + } + OrderInfo.Status = common.CHECK_STATUS_CLOSED + err = sdao.UpdateOne(OrderInfo) + if err != nil { + session.Rollback() + return grmi.NewBusinessError("序列订单更新失败!") + } + //添加返修打印记录 - var nextNumberStr string + var nextNumberStr string - orderId := record.SerialOrderId + orderId := record.SerialOrderId - if len(orderId) < 11 { - session.Rollback() - return grmi.NewBusinessError("订单号长度不合法!") - } - //获取机器码 - machineCode := orderId[0:4] - ColorValue := orderId[10:11] - now := time.Now() - year := now.Year() - month := int(now.Month()) - day := now.Day() - yearStr := common.YEAR_MAP[year] - monthStr := common.MONTH_MAP[month] - dayStr := common.DAY_MAP[day] - temOrderId := machineCode + yearStr + monthStr + dayStr - //计算map反转 - seriMap := make(map[int]string) - for k, v := range common.ReworkMap { - key := v - val := k - seriMap[key] = val - } - //查询当天的机器码对应的返修流水号 - reworkData, err := recDao.SelectOneRework(temOrderId) - if reworkData != nil { - lastOrderId := reworkData.ReclinerNr - serialNumber := lastOrderId[7:9] - - nowNumber, ok := common.ReworkMap[serialNumber] - nextNumber := utils.ValueToInt((nowNumber + 1), 0) - if ok { - if nextNumber <= 102 { - nextNumberStr, ok = seriMap[nextNumber] - if !ok { + if len(orderId) < 11 { + session.Rollback() + return grmi.NewBusinessError("订单号长度不合法!") + } + //获取机器码 + machineCode := orderId[0:4] + ColorValue := orderId[10:11] + now := time.Now() + year := now.Year() + month := int(now.Month()) + day := now.Day() + yearStr := common.YEAR_MAP[year] + monthStr := common.MONTH_MAP[month] + dayStr := common.DAY_MAP[day] + temOrderId := machineCode + yearStr + monthStr + dayStr + //计算map反转 + seriMap := make(map[int]string) + for k, v := range common.ReworkMap { + key := v + val := k + seriMap[key] = val + } + //查询当天的机器码对应的返修流水号 + reworkData, err := recDao.SelectOneRework(temOrderId) + if reworkData != nil { + lastOrderId := reworkData.ReclinerNr + serialNumber := lastOrderId[7:9] + + nowNumber, ok := common.ReworkMap[serialNumber] + nextNumber := utils.ValueToInt((nowNumber + 1), 0) + if ok { + if nextNumber <= 102 { + nextNumberStr, ok = seriMap[nextNumber] + if !ok { + return grmi.NewBusinessError("流水号生成超出范围!") + } + } else { return grmi.NewBusinessError("流水号生成超出范围!") } - } else { - return grmi.NewBusinessError("流水号生成超出范围!") } + } else { + nextNumberStr = seriMap[1] + } + if len(nextNumberStr) != 2 { + session.Rollback() + return grmi.NewBusinessError("流水号生成错误!") } - } else { - nextNumberStr = seriMap[1] - } - if len(nextNumberStr) != 2 { - session.Rollback() - return grmi.NewBusinessError("流水号生成错误!") - } - //根据工位查询打印机Id - placeInfo, err := placeDao.SelectOne(placeId) - if err != nil { - session.Rollback() - return err - } - if placeInfo == nil { - session.Rollback() - return grmi.NewBusinessError("工位信息不存在!") - } - - serialOrderId := machineCode + yearStr + monthStr + dayStr + nextNumberStr + "0" + ColorValue - entity := new(model.ReclinerReclst) - entity.SerialOrderId = seriInfo.SerialOrderId - entity.ReclinerNr = serialOrderId - entity.PrinterId = placeInfo.PrinterId - entity.WorkPlaceNr = placeId - entity.ArtId = seriInfo.ArtId - entity.Line = seriInfo.PlanResourceId - entity.RecType = model.QM_SERI_TYPE - entity.Status = "N" - err = recDao.InsertOne(entity) - if err != nil { - session.Rollback() - return err - } - //更新原来的flag标识 - seriInfo.GenerateFlag = true - err = seriDao.UpdateOne(seriInfo) - if err != nil { - session.Rollback() - return err - } - //插入新的seriorder条码 - insertSeriOrder := omModel.SerialOrder{} - insertSeriOrder = *seriInfo - insertSeriOrder.QualityCheck = common.QualityCheck_STATUS_OK - insertSeriOrder.SerialOrderId = serialOrderId - insertSeriOrder.LinkSerialOrderId = seriInfo.SerialOrderId - if seriInfo.OrderType == common.ODER_TYPE_REODER { - insertSeriOrder.OriginSerialOrderId = seriInfo.OriginSerialOrderId - } else { - insertSeriOrder.OriginSerialOrderId = seriInfo.SerialOrderId - } - insertSeriOrder.OrderType = common.ODER_TYPE_REODER - insertSeriOrder.GenerateFlag = false - err = seriDao.InsertOne(&insertSeriOrder) - if err != nil { - session.Rollback() - return err - } - //插入新的条码状态 - insertSeriOrderStatus := new(omModel.SerialOrderStatus) - insertSeriOrderStatus.SerialOrderId = insertSeriOrder.SerialOrderId - insertSeriOrderStatus.Status = common.WO_STATUS_FINISHED - err = statusDao.InsertOne(insertSeriOrderStatus) - if err != nil { - session.Rollback() - return err + //根据工位查询打印机Id + placeInfo, err := placeDao.SelectOne(placeId) + if err != nil { + session.Rollback() + return err + } + if placeInfo == nil { + session.Rollback() + return grmi.NewBusinessError("工位信息不存在!") + } + + serialOrderId := machineCode + yearStr + monthStr + dayStr + nextNumberStr + "0" + ColorValue + entity := new(model.ReclinerReclst) + entity.SerialOrderId = seriInfo.SerialOrderId + entity.ReclinerNr = serialOrderId + entity.PrinterId = placeInfo.PrinterId + entity.WorkPlaceNr = placeId + entity.ArtId = seriInfo.ArtId + entity.Line = seriInfo.PlanResourceId + entity.RecType = model.QM_SERI_TYPE + entity.Status = "N" + err = recDao.InsertOne(entity) + if err != nil { + session.Rollback() + return err + } + //更新原来的flag标识 + seriInfo.GenerateFlag = true + err = seriDao.UpdateOne(seriInfo) + if err != nil { + session.Rollback() + return err + } + //插入新的seriorder条码 + insertSeriOrder := omModel.SerialOrder{} + insertSeriOrder = *seriInfo + insertSeriOrder.QualityCheck = common.QualityCheck_STATUS_OK + insertSeriOrder.SerialOrderId = serialOrderId + insertSeriOrder.LinkSerialOrderId = seriInfo.SerialOrderId + if seriInfo.OrderType == common.ODER_TYPE_REODER { + insertSeriOrder.OriginSerialOrderId = seriInfo.OriginSerialOrderId + } else { + insertSeriOrder.OriginSerialOrderId = seriInfo.SerialOrderId + } + insertSeriOrder.OrderType = common.ODER_TYPE_REODER + insertSeriOrder.GenerateFlag = false + err = seriDao.InsertOne(&insertSeriOrder) + if err != nil { + session.Rollback() + return err + } + //插入新的条码状态 + insertSeriOrderStatus := new(omModel.SerialOrderStatus) + insertSeriOrderStatus.SerialOrderId = insertSeriOrder.SerialOrderId + insertSeriOrderStatus.Status = common.WO_STATUS_FINISHED + err = statusDao.InsertOne(insertSeriOrderStatus) + if err != nil { + session.Rollback() + return err + } } session.Commit() return nil diff --git a/services/qm/implments/View.service.impl.go b/services/qm/implments/View.service.impl.go index 1045601..2f0645b 100644 --- a/services/qm/implments/View.service.impl.go +++ b/services/qm/implments/View.service.impl.go @@ -650,23 +650,18 @@ func (impl *ViewServiceImplement) ViewsOfArticle(user *global.User, orderId stri if err != nil { return nil, err } - // 构造视图ID与视图的关联,用以将视图区域和缺陷分组关联到视图 - viewMapping := make(map[string]*model.View, len(artViews)) - for index, view := range views { - viewMapping[view.ViewId] = &views[index] - } + // 获取视图区域 viewValstDAO := dal.NewViewValstDAO(session, user.PlantNr, user.UserId) - areas, err := viewValstDAO.Select([]grmi.Predicate{meta.ViewValst_ViewId.NewPredicate(grmi.Include, viewIds...)}, nil) + areas, err := viewValstDAO.Select([]grmi.Predicate{meta.ViewValst_ViewId.NewPredicate(grmi.Equal, "public")}, nil) if err != nil { return nil, err } - // 将视图区域关联到视图 - for _, area := range areas { - view, ok := viewMapping[area.ViewId] - if ok { - view.Areas = append(view.Areas, area) - } + // 构造视图ID与视图的关联,用以将视图区域和缺陷分组关联到视图 + viewMapping := make(map[string]*model.View, len(artViews)) + for index, view := range views { + views[index].Areas = areas + viewMapping[view.ViewId] = &views[index] } // 获取视图缺陷分组关联 viewDefectGrplstDAO := dal.NewViewDefectGrplstDAO(session, user.PlantNr, user.UserId)