Browse Source

添加查询工单生产数据报表 调整打印标签逻辑

pull/176/head
zhangxin 2 years ago
parent
commit
76835e05ce
13 changed files with 243 additions and 22 deletions
  1. +1
    -0
      dao/om/SerialOrder.dao.go
  2. +1
    -0
      dao/om/SerialOrderPOLst.dao.go
  3. +21
    -0
      dao/om/implments/SerialOrder.dao.impl.go
  4. +1
    -0
      dao/om/implments/SerialOrderOPDetailRecvDataLst.dao.impl.go
  5. +25
    -0
      dao/om/implments/SerialOrderPOLst.dao.impl.go
  6. +5
    -5
      meta/base/PrintBasicRuleInfo.meta.go
  7. +2
    -2
      models/base/PrintBasicRuleInfo.model.go
  8. +17
    -0
      models/om/om.go
  9. +2
    -2
      services/base/implments/PrintBasicRuleInfo.service.impl.go
  10. +1
    -0
      services/om/SerialOrder.service.go
  11. +142
    -13
      services/om/implments/SerialOrder.service.impl.go
  12. +23
    -0
      web/controllers/om/SerialOrder.rest.go
  13. +2
    -0
      web/controllers/om/om.go

+ 1
- 0
dao/om/SerialOrder.dao.go View File

@ -422,6 +422,7 @@ type SerialOrderDAO interface {
*
******************************************************************************/
SelectByOriginSerialOrderId(serialOrderId string) (*model.SerialOrder, error)
SelectByCustOrderIdForDashboard(custOrderId, start, end string) ([]model.SerialOrder, error)
}
/******************************************************************************


+ 1
- 0
dao/om/SerialOrderPOLst.dao.go View File

@ -225,6 +225,7 @@ type SerialOrderPOLstDAO interface {
SelectWithPO(serialOrderId string, workLineId string) ([]model.SerialOrderPOWithProcess, error)
// SelectOrderAllPo 查询工单下所有工序
SelectOrderAllPo(serialOrderId string) ([]string, error)
SelectByOrderLi(serialOrderIdLi []interface{}, workLineId string) ([]model.SerialOrderPOWithProcess, error)
}
/******************************************************************************


+ 21
- 0
dao/om/implments/SerialOrder.dao.impl.go View File

@ -720,4 +720,25 @@ func (impl *SerialOrderDAOImplement) SelectByOriginSerialOrderId(serialOrderId s
return nil, nil
}
return &data, nil
}
/******************************************************************************
*
* @Reference LAPP_ACURA_MOM_BACKEND/dao/om/SerialOrderDAO.SelectByCustOrderIdForDashboard
*
******************************************************************************/
func (impl *SerialOrderDAOImplement) SelectByCustOrderIdForDashboard(custOrderId, start, end string) ([]model.SerialOrder, error) {
parameters := []interface{}{impl.plantNr, custOrderId, start, end, common.QualityCheck_STATUS_OK, common.QualityCheck_STATUS_FAIL}
where := fmt.Sprintf("%s = ? and %s = ? and %s >= ? and %s <= ? and (%s = ? or %s = ?) ",
meta.SerialOrder_PlantNr.ColumnName,
meta.SerialOrder_CustOrderId.ColumnName,
meta.SerialOrder_ActStartTime.ColumnName,
meta.SerialOrder_ActEndTime.ColumnName,
meta.SerialOrder_QualityCheck.ColumnName,
meta.SerialOrder_QualityCheck.ColumnName,
)
data := make([]model.SerialOrder, 0)
err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).OrderBy(meta.SerialOrder_ActEndTime.SortColumnName).Find(&data)
return data, err
}

+ 1
- 0
dao/om/implments/SerialOrderOPDetailRecvDataLst.dao.impl.go View File

@ -418,3 +418,4 @@ func (impl *SerialOrderOPDetailRecvDataLstDAOImplement) SelectOneByAssembly(Recv
}
return &data, nil
}

+ 25
- 0
dao/om/implments/SerialOrderPOLst.dao.impl.go View File

@ -378,3 +378,28 @@ func (impl *SerialOrderPOLstDAOImplement) selectOrderPoData(serialOrderIdLi []st
Where(where, parameters...).OrderBy(baseMeta.WorkLineProcessLst_Pos.ColumnName).Find(&result)
return result, err
}
// SelectByOrderLi 查询工单工序操作结果及工序数据
func (impl *SerialOrderPOLstDAOImplement) SelectByOrderLi(serialOrderIdLi []interface{}, workLineId string) ([]model.SerialOrderPOWithProcess, error) {
poCondition := fmt.Sprintf("%s = %s and %s = %s",
meta.SerialOrderPOLst_PlantNr.ColumnName,
baseMeta.Process_PlantNr.ColumnName,
meta.SerialOrderPOLst_PO.ColumnName,
baseMeta.Process_PO.ColumnName)
wpCondition := fmt.Sprintf("%s = %s and %s = %s",
baseMeta.Process_PlantNr.ColumnName,
baseMeta.WorkLineProcessLst_PlantNr.ColumnName,
baseMeta.Process_PO.ColumnName,
baseMeta.WorkLineProcessLst_PO.ColumnName,
)
where := fmt.Sprintf("%s = ? and %s = ?",
meta.SerialOrderPOLst_PlantNr.ColumnName,
baseMeta.WorkLineProcessLst_WorkLineId.ColumnName)
parameters := []interface{}{impl.plantNr, workLineId}
result := make([]model.SerialOrderPOWithProcess, 0)
err := impl.session.Table(impl.meta.TableName).Join("LEFT", baseMeta.Process.TableName, poCondition).
Join("LEFT", baseMeta.WorkLineProcessLst.TableName, wpCondition).
Where(where, parameters...).In(meta.SerialOrderPOLst_SerialOrderId.ColumnName, serialOrderIdLi).OrderBy(baseMeta.WorkLineProcessLst_Pos.ColumnName).Find(&result)
return result, err
}

+ 5
- 5
meta/base/PrintBasicRuleInfo.meta.go View File

@ -37,9 +37,9 @@ var PrintBasicRuleInfo_TemplateId = grmi.NewField("TemplateId", "[PrintBasicRule
var PrintBasicRuleInfo_TemplateType = grmi.NewField("TemplateType", "[PrintBasicRuleInfo].TemplateType", "templatetype", grmi.TypeString)
var PrintBasicRuleInfo_Qty = grmi.NewField("Qty", "[PrintBasicRuleInfo].Qty", "qty", grmi.TypeInt)
var PrintBasicRuleInfo_CollectScanBarcode = grmi.NewField("CollectScanBarcode", "[PrintBasicRuleInfo].CollectScanBarcode", "collectscanbarcode", grmi.TypeBool)
var PrintBasicRuleInfo_ScanOperationId = grmi.NewField("ScanOperationId", "[PrintBasicRuleInfo].ScanOperationId", "scanoperationid", grmi.TypeInt)
var PrintBasicRuleInfo_LabelDetailPos = grmi.NewField("LabelDetailPos", "[PrintBasicRuleInfo].LabelDetailPos", "labeldetailpos", grmi.TypeString)
var PrintBasicRuleInfo_ScanPo = grmi.NewField("ScanPo", "[PrintBasicRuleInfo].ScanPo", "scanpo", grmi.TypeString)
var PrintBasicRuleInfo_ScanStepNo = grmi.NewField("ScanStepNo", "[PrintBasicRuleInfo].ScanStepNo", "scanstepno", grmi.TypeInt)
var PrintBasicRuleInfo_LabelDetailPos = grmi.NewField("LabelDetailPos", "[PrintBasicRuleInfo].LabelDetailPos", "labeldetailpos", grmi.TypeInt)
var PrintBasicRuleInfo_LastModify = grmi.NewField("LastModify", "[PrintBasicRuleInfo].LastModify", "lastmodify", grmi.TypeDateTime)
var PrintBasicRuleInfo_LastUser = grmi.NewField("LastUser", "[PrintBasicRuleInfo].LastUser", "lastuser", grmi.TypeString)
var PrintBasicRuleInfo_CreateTime = grmi.NewField("CreateTime", "[PrintBasicRuleInfo].CreateTime", "createtime", grmi.TypeDateTime)
@ -78,12 +78,12 @@ var PrintBasicRuleInfo = grmi.NewEntity(
PrintBasicRuleInfo_TemplateType.Name: PrintBasicRuleInfo_TemplateType,
PrintBasicRuleInfo_Qty.Name: PrintBasicRuleInfo_Qty,
PrintBasicRuleInfo_CollectScanBarcode.Name: PrintBasicRuleInfo_CollectScanBarcode,
PrintBasicRuleInfo_ScanPo.Name: PrintBasicRuleInfo_ScanPo,
PrintBasicRuleInfo_ScanStepNo.Name: PrintBasicRuleInfo_ScanStepNo,
PrintBasicRuleInfo_ScanOperationId.Name: PrintBasicRuleInfo_ScanOperationId,
PrintBasicRuleInfo_LabelDetailPos.Name: PrintBasicRuleInfo_LabelDetailPos,
PrintBasicRuleInfo_ScanPo.Name: PrintBasicRuleInfo_ScanPo,
PrintBasicRuleInfo_LastModify.Name: PrintBasicRuleInfo_LastModify,
PrintBasicRuleInfo_LastUser.Name: PrintBasicRuleInfo_LastUser,
PrintBasicRuleInfo_CreateTime.Name: PrintBasicRuleInfo_CreateTime,
},
[]string{"PlantNr"},
[]string{"PO", "StepNo", "StepDesc", "ProjectId", "TemplateChooseModel", "DependPO", "DependStepNo", "DependRuleId", "DependValue", "Action", "WhetherCheckContent", "PrinterId", "TemplateId", "TemplateType", "Qty", "CollectScanBarcode", "ScanPo", "ScanStepNo", "LabelDetailPos", "LastUser"})
[]string{"PO", "StepNo", "StepDesc", "ProjectId", "TemplateChooseModel", "DependPO", "DependStepNo", "DependRuleId", "DependValue", "Action", "WhetherCheckContent", "PrinterId", "TemplateId", "TemplateType", "Qty", "CollectScanBarcode", "ScanOperationId", "ScanPo", "LabelDetailPos", "LastUser"})

+ 2
- 2
models/base/PrintBasicRuleInfo.model.go View File

@ -41,9 +41,9 @@ type PrintBasicRuleInfo struct {
TemplateType string `xorm:"nvarchar(10) 'TemplateType'" json:"PrintBasicRuleInfo-TemplateType"`
Qty int `xorm:"int 'Qty' not null" json:"PrintBasicRuleInfo-Qty"`
CollectScanBarcode bool `xorm:"bit 'CollectScanBarcode'" json:"PrintBasicRuleInfo-CollectScanBarcode"`
ScanOperationId int `xorm:"int 'ScanOperationId'" json:"PrintBasicRuleInfo-ScanOperationId"`
LabelDetailPos string `xorm:"nvarchar(255) 'LabelDetailPos'" json:"PrintBasicRuleInfo-LabelDetailPos"`
ScanPo string `xorm:"nvarchar(40) 'ScanPo'" json:"PrintBasicRuleInfo-ScanPo"`
ScanStepNo int `xorm:"int 'ScanStepNo'" json:"PrintBasicRuleInfo-ScanStepNo"`
LabelDetailPos int `xorm:"int 'LabelDetailPos'" json:"PrintBasicRuleInfo-LabelDetailPos"`
LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"PrintBasicRuleInfo-LastModify"`
LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"PrintBasicRuleInfo-LastUser"`
CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"PrintBasicRuleInfo-CreateTime"`


+ 17
- 0
models/om/om.go View File

@ -153,3 +153,20 @@ type ExportItem struct {
BarCode string `json:"ExportItem-BarCode"`
UsedTime string `json:"ExportItem-UsedTime"`
}
type ProductTraceData struct {
SerialOrderId string `json:"ProductTraceData-SerialOrderId"`
POLi []ProductTracePOData `json:"ProductTraceData-POLi"`
}
type ProductTracePOData struct {
PO string `json:"ProductTracePOData-PO"`
PoDesc string `json:"ProductTracePOData-PoDesc"`
StepLi []ProductTraceStepData `json:"ProductTracePOData-StepLi"`
}
type ProductTraceStepData struct {
StepNo int `json:"ProductTraceStepData-StepNo"`
StepDesc string `json:"ProductTraceStepData-StepDesc"`
RecvDataLi []SerialOrderOPDetailRecvDataLst `json:"ProductTraceStepData-RecvDataLi"`
}

+ 2
- 2
services/base/implments/PrintBasicRuleInfo.service.impl.go View File

@ -43,9 +43,9 @@ var DefaultConditionOfPrintBasicRuleInfo = grmi.NewCondition(
meta.PrintBasicRuleInfo_TemplateId.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_TemplateId, grmi.Equal, false),
meta.PrintBasicRuleInfo_Qty.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_Qty, grmi.Equal, false),
meta.PrintBasicRuleInfo_CollectScanBarcode.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_CollectScanBarcode, grmi.Equal, false),
meta.PrintBasicRuleInfo_ScanPo.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_ScanPo, grmi.Equal, false),
meta.PrintBasicRuleInfo_ScanStepNo.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_ScanStepNo, grmi.Equal, false),
meta.PrintBasicRuleInfo_ScanOperationId.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_ScanOperationId, grmi.Equal, false),
meta.PrintBasicRuleInfo_LabelDetailPos.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_LabelDetailPos, grmi.Equal, false),
meta.PrintBasicRuleInfo_ScanPo.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_ScanPo, grmi.Equal, false),
meta.PrintBasicRuleInfo_LastModify.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_LastModify, grmi.Approximate, false),
meta.PrintBasicRuleInfo_LastUser.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_LastUser, grmi.Equal, false),
meta.PrintBasicRuleInfo_CreateTime.UrlParameterName: grmi.NewConditionItem(meta.PrintBasicRuleInfo_CreateTime, grmi.Approximate, false),


+ 1
- 0
services/om/SerialOrder.service.go View File

@ -515,6 +515,7 @@ type SerialOrderService interface {
TraceSubArticleBatch(user *global.User, barcode string, paging *grmi.Paging) (grmi.PagingResult, error)
ExportTraceSubArticleBatch(user *global.User, barcode string) (string, error)
CancelMultiSerialOrder(user *global.User, serialOrderIdLi []string) error
GetProductTraceDataReport(user *global.User, serialOrderId string) (interface{}, error)
}
/******************************************************************************


+ 142
- 13
services/om/implments/SerialOrder.service.impl.go View File

@ -1536,21 +1536,21 @@ func (impl *SerialOrderServiceImplement) PrintRuleInfo(user *global.User, sessio
serialOrderDetailDao := dal.NewSerialOrderOPDetailDAO(session, user.PlantNr, user.UserId)
var qty = 1
var collectScanBarcode = false
var labelDetailPos = 0
var scanStepNo = 0
var scanPo = ""
var labelDetailPos string
var scanOperationId = 0
var scanPo string
if rule != nil {
qty = rule.Qty
collectScanBarcode = rule.CollectScanBarcode
labelDetailPos = rule.LabelDetailPos
scanOperationId = rule.ScanOperationId
scanPo = rule.ScanPo
scanStepNo = rule.ScanStepNo
}
// FlagPara1 标识是不是根据扫码更新打印数据 1为需要
// CharPara1 扫码的工序
// CharPara2 插入打印模板子项索引 多个用;分割
// IntPara2 扫码的步骤
// IntPara3 labelDetail的pos
// 生成打印规则
op := model.SerialOrderOPDetail{
SerialOrderId: serialOrderStep.SerialOrderId,
@ -1563,9 +1563,9 @@ func (impl *SerialOrderServiceImplement) PrintRuleInfo(user *global.User, sessio
StepNo: serialOrderStep.StepNo,
BKFlag: bkFlag,
IntPara1: qty,
IntPara2: scanStepNo,
IntPara3: labelDetailPos,
IntPara2: scanOperationId,
CharPara1: scanPo,
CharPara2: labelDetailPos,
FlagPara1: collectScanBarcode,
}
err = serialOrderDetailDao.InsertOne(&op)
@ -1574,7 +1574,7 @@ func (impl *SerialOrderServiceImplement) PrintRuleInfo(user *global.User, sessio
}
// 生成打印模板数据
if rule != nil {
labelId := serialOrderStep.SerialOrderId + "_" + "Generate"
labelId := serialOrderStep.SerialOrderId + "_" + serialOrderStep.PO + strconv.Itoa(serialOrderStep.StepNo)
labelHead := baseModel.LabelHead{
LabelId: labelId,
LabelTemplateId: printTemplate.LabelTemplateId,
@ -2851,10 +2851,10 @@ func (impl *SerialOrderServiceImplement) GenerateCraftData(user *global.User, se
}
if orderOPData.Config.BarCodeRule == baseModel.BARCODE_RULE_ACURA_PRE {
number, err := snrDao.GetNextSnr(project.PreOrderSnr)
if err != nil {
return grmi.NewBusinessError("获取流水号失败,错误:" + err.Error())
}
number, err := snrDao.GetNextSnr(project.PreOrderSnr)
if err != nil {
return grmi.NewBusinessError("获取流水号失败,错误:" + err.Error())
}
serialOrderId = strings.Replace(orderOPData.SFP.ArtId, "-", "", -1) + today + number
} else {
@ -4140,3 +4140,132 @@ func (impl *SerialOrderServiceImplement) ExportTraceSubArticleBatch(user *global
return filepath, err
}
// GetProductTraceDataReport 工单数据追溯
func (impl *SerialOrderServiceImplement) GetProductTraceDataReport(user *global.User, serialOrderId string) (interface{}, error) {
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
result := model.ProductTraceData{
SerialOrderId: serialOrderId,
POLi: make([]model.ProductTracePOData, 0),
}
// 1. 查询工单
// 2. 通过工单查询生产的产线
// 4. 通过工序查询当前工序生成工步结果
serialOrderDao := dal.NewSerialOrderDAO(session, user.PlantNr, user.UserId)
serialOrderPoDao := dal.NewSerialOrderPOLstDAO(session, user.PlantNr, user.UserId)
serialOrderStepDao := dal.NewSerialOrderStepLstDAO(session, user.PlantNr, user.UserId)
recvDataDao := dal.NewSerialOrderOPDetailRecvDataLstDAO(session, user.PlantNr, user.UserId)
serialOrder, err := serialOrderDao.SelectOne(serialOrderId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单失败, error:" + err.Error())
}
if serialOrder == nil {
return nil, grmi.NewBusinessError("工单不存在, 工单ID:" + serialOrderId)
}
// 所有工单ID
allOrderIdLi := make([]interface{}, 0)
if serialOrder.OriginSerialOrderId != "" {
subSerialOrderLi, err := serialOrderDao.Select([]grmi.Predicate{
meta.SerialOrder_SerialOrderId.NewPredicate(grmi.NotEqual, serialOrderId),
meta.SerialOrder_OriginSerialOrderId.NewPredicate(grmi.Equal, serialOrder.OriginSerialOrderId),
}, nil)
if err != nil {
return nil, grmi.NewBusinessError("查询工单数据失败, 错误:" + err.Error())
}
allOrderIdLi = append(allOrderIdLi, serialOrderId, serialOrder.OriginSerialOrderId)
for _, subOrder := range subSerialOrderLi {
allOrderIdLi = append(allOrderIdLi, subOrder.SerialOrderId)
}
} else {
allOrderIdLi = append(allOrderIdLi, serialOrder.SerialOrderId)
}
articleDao := baseDal.NewArticleDAO(session, user.PlantNr, user.UserId)
article, err := articleDao.SelectOne(serialOrder.ArtId, serialOrder.ProjectId)
if err != nil {
return nil, grmi.NewBusinessError("查询工单总成数据失败, error:" + err.Error())
}
if article == nil {
return nil, grmi.NewBusinessError("工单绑定总成不存在, 总成ID:" + serialOrder.ArtId)
}
//articleAtocdDao := baseDal.NewArticleAtcodLstDAO(session, user.PlantNr, user.UserId)
//var needEOL bool
//var needSBR bool
//attributeLi, err := articleAtocdDao.SelectByArtId(serialOrder.ArtId)
//if err != nil {
// return nil, grmi.NewBusinessError("查询总成关联属性失败, error:" + err.Error())
//}
//for _, attributeItem := range attributeLi {
// if attributeItem.Attribute.Descr == "EOL" {
// needEOL = true
// } else if attributeItem.Attribute.Descr == "SBR检测" {
// needSBR = true
// }
//}
allPoLi, err := serialOrderPoDao.SelectByOrderLi(allOrderIdLi, serialOrder.UsedResourceId)
if err != nil {
return nil, grmi.NewBusinessError("查询工序数据失败, 错误:" + err.Error())
}
poMap := make(map[string]int)
for _, poItem := range allPoLi {
_, exist := poMap[poItem.Process.PO]
if !exist {
poMap[poItem.Process.PO] = len(result.POLi)
poData := model.ProductTracePOData{
PO: poItem.Process.PO,
PoDesc: poItem.Process.Descr,
StepLi: make([]model.ProductTraceStepData, 0),
}
result.POLi = append(result.POLi, poData)
}
}
stepLi, err := serialOrderStepDao.Select([]grmi.Predicate{
meta.SerialOrderStepLst_SerialOrderId.NewPredicate(grmi.Include, allOrderIdLi...),
}, []grmi.Field{meta.SerialOrderStepLst_StepNo})
if err != nil {
return nil, grmi.NewBusinessError("查询工步数据失败, 错误:" + err.Error())
}
stepMap := make(map[string]int)
for _, stepItem := range stepLi {
mapKey := stepItem.PO + "_" + strconv.Itoa(stepItem.StepNo)
_, exist := stepMap[mapKey]
if !exist {
poIndex := poMap[stepItem.PO]
stepMap[mapKey] = len(result.POLi[poIndex].StepLi)
stepData := model.ProductTraceStepData{
StepNo: stepItem.StepNo,
StepDesc: stepItem.StepDesc,
RecvDataLi: make([]model.SerialOrderOPDetailRecvDataLst, 0),
}
result.POLi[poIndex].StepLi = append(result.POLi[poIndex].StepLi, stepData)
}
}
recvDataLi, err := recvDataDao.Select([]grmi.Predicate{
meta.SerialOrderOPDetailRecvDataLst_SerialOrderId.NewPredicate(grmi.Include, allOrderIdLi...),
}, []grmi.Field{
meta.SerialOrderOPDetailRecvDataLst_SerialOrderId,
meta.SerialOrderOPDetailRecvDataLst_PO,
meta.SerialOrderOPDetailRecvDataLst_StepNo,
meta.SerialOrderOPDetailRecvDataLst_OriginRuleId,
})
if err != nil {
return nil, grmi.NewBusinessError("查询生产数据失败, 错误:" + err.Error())
}
for _, recvData := range recvDataLi {
poIndex, exist := poMap[recvData.PO]
if !exist {
continue
}
stepKey := recvData.PO + "_" + strconv.Itoa(recvData.StepNo)
stepIndex, exist := stepMap[stepKey]
if !exist {
continue
}
result.POLi[poIndex].StepLi[stepIndex].RecvDataLi = append(result.POLi[poIndex].StepLi[stepIndex].RecvDataLi, recvData)
}
return result, nil
}

+ 23
- 0
web/controllers/om/SerialOrder.rest.go View File

@ -1271,3 +1271,26 @@ func RegisterCancelMultiSerialOrder(party router.Party, path string, method func
supports.Ok(ctx, supports.OptionSuccess, nil)
})
}
// RegisterGetProductTraceDataReport 查询工单的生产数据
func RegisterGetProductTraceDataReport(party router.Party, path string, method func(user *global.User, serialOrderId string) (interface{}, error)) {
party.Get(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
return
}
serialOrderId := ctx.URLParam("serialOrderId")
if serialOrderId == "" {
supports.Error(ctx, iris.StatusBadRequest, "未获取到工单ID", nil)
return
}
result, err := method(user, serialOrderId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}

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

@ -231,6 +231,8 @@ func RegisterRoutes() {
RegisterExportTraceArticleBatch(serialorder, "/exporttracebatch", serviceOfSerialOrder.ExportTraceSubArticleBatch)
// serialOrder 批量取消工单
RegisterCancelMultiSerialOrder(serialorder, "/multicancel", serviceOfSerialOrder.CancelMultiSerialOrder)
// serialOrder 查询工单生产数据
RegisterGetProductTraceDataReport(serialorder, "/producttrace", serviceOfSerialOrder.GetProductTraceDataReport)
// SerialOrderStatus的路由组
serialorderstatus := party.Party("/serialorderstatus")


Loading…
Cancel
Save