diff --git a/dao/jit/PackOrderItemLst.dao.go b/dao/jit/PackOrderItemLst.dao.go index 1f29e53..388d604 100644 --- a/dao/jit/PackOrderItemLst.dao.go +++ b/dao/jit/PackOrderItemLst.dao.go @@ -279,6 +279,25 @@ type PackOrderItemLstDAO interface { * ******************************************************************************/ SelectPackOrderByBarcode(paging *grmi.Paging, barcode string) (grmi.PagingResult, error) + /****************************************************************************** + * + * @Function Name : SelectShipOrderBySerialOrderId + *----------------------------------------------------------------------------- + * + * @Description : 通过工单条码查询发运数据 + * + * @Function Parameters : serialOrderId + * + * @Return Value : 发运单ID + * + * @Return Value : 执行时发生的错误 + * + * @Author : zhangxin + * + * @Date : 2022-03-09 + * + ******************************************************************************/ + SelectShipOrderBySerialOrderId(serialOrderId string) ([]interface{}, error) } /****************************************************************************** diff --git a/dao/jit/implments/PackOrderItemLst.dao.impl.go b/dao/jit/implments/PackOrderItemLst.dao.impl.go index 4c79ce4..8afde77 100644 --- a/dao/jit/implments/PackOrderItemLst.dao.impl.go +++ b/dao/jit/implments/PackOrderItemLst.dao.impl.go @@ -388,4 +388,22 @@ func (impl *PackOrderItemLstDAOImplement) SelectPackOrderByBarcode(paging *grmi. return grmi.EmptyPagingResult, err } return grmi.PagingResult{Records: data, Count: count, PageNumber: paging.Number, PageSize: paging.Size}, nil +} + + +// SelectShipOrderBySerialOrderId 通过工单ID查询发运单 +func (impl *PackOrderItemLstDAOImplement) SelectShipOrderBySerialOrderId(serialOrderId string) ([]interface{}, error) { + parameters := []interface{}{impl.plantNr, serialOrderId} + where := fmt.Sprintf("%s = ? and %s = ?", + meta.PackOrderItemLst_PlantNr.ColumnName, + meta.PackOrderItemLst_SerialOrderId.ColumnName) + condition := fmt.Sprintf("%s = %s and %s = %s", + meta.ShipOrderDataLst_PlantNr.ColumnName, + meta.PackOrderItemLst_PlantNr.ColumnName, + meta.ShipOrderDataLst_PackOrderId.ColumnName, + meta.PackOrderItemLst_PackOrderId.ColumnName) + session := impl.session.Table(impl.meta.TableName).Join("LEFT", meta.ShipOrderDataLst.TableName, condition) + var shipOrderIdLi []interface{} + err := session.Where(where, parameters...).Cols(meta.ShipOrderDataLst_ShipOrderId.SortColumnName).Find(&shipOrderIdLi) + return shipOrderIdLi, err } \ No newline at end of file diff --git a/services/jit/ShipOrder.service.go b/services/jit/ShipOrder.service.go index 6909a6c..234b7a1 100644 --- a/services/jit/ShipOrder.service.go +++ b/services/jit/ShipOrder.service.go @@ -315,6 +315,27 @@ type ShipOrderService interface { * ******************************************************************************/ SelectWithStatus(user *global.User, urlParameters map[string]string) ([]model.ShipOrderWithStatus, error) + /****************************************************************************** + * + * @Function Name : SelectShipDataBySerialOrderId + *----------------------------------------------------------------------------- + * + * @Description : 通过工单查询发运单 + * + * @Function Parameters : 当前访问人员信息 + * + * @Function Parameters : 工单 + * + * @Return Value : 查询结果 + * + * @Return Value : 执行时发生的错误 + * + * @Author : zhangxin + * + * @Date : 2022-03-09 + * + ******************************************************************************/ + SelectShipDataBySerialOrderId(user *global.User, serialOrderId string) ([]model.ShipOrder, error) } /****************************************************************************** diff --git a/services/jit/implments/PackOrder.service.impl.go b/services/jit/implments/PackOrder.service.impl.go index 303cf8f..5d5ad33 100644 --- a/services/jit/implments/PackOrder.service.impl.go +++ b/services/jit/implments/PackOrder.service.impl.go @@ -2331,6 +2331,11 @@ func (impl *PackOrderServiceImplement) RepairPlcErr(user *global.User, packOrder if err != nil { return grmi.NewBusinessError("更新包装单状态失败, 错误:" + err.Error()) } + packOrder.CtrlTime1 = grmi.DateTime(time.Now()) + err = packOrderDao.UpdateOne(&packOrder) + if err != nil { + return grmi.NewBusinessError("更新包装单回写时间失败, 错误:" + err.Error()) + } } return nil } else { @@ -3002,6 +3007,12 @@ func (impl *PackOrderServiceImplement) ReadPLCBackFlushData() { log.Error("更新包装单状态失败, 错误:" + err.Error()) return } + packOrder.CtrlTime1 = grmi.DateTime(time.Now()) + err = packOrderDao.UpdateOne(&packOrder) + if err != nil { + log.Error("更新包装单回写时间失败, 错误:" + err.Error()) + return + } err = impl.BackFlushClearSeatData() if err != nil { log.Error("清空座椅数据失败, 错误:" + err.Error()) diff --git a/web/controllers/jit/ShipOrder.rest.go b/web/controllers/jit/ShipOrder.rest.go index 79e3106..c1fd620 100644 --- a/web/controllers/jit/ShipOrder.rest.go +++ b/web/controllers/jit/ShipOrder.rest.go @@ -652,4 +652,43 @@ func RegisterSelectShipOrderWithStatus(party router.Party, path string, method f } supports.Ok(ctx, supports.OptionSuccess, result) }) +} + +/****************************************************************************** + * + * @Function Name : RegisterSelectShipOrderBySerialOrderId + *----------------------------------------------------------------------------- + * + * @Description : 通过工单查询发运单 + * + * @Function Parameters : 路由分组 + * + * @Function Parameters : 路径 + * + * @Function Parameters : 实际处理请求的方法 + * + * @Author : zhangxin + * + * @Date : 2022-03-09 + * + ******************************************************************************/ +func RegisterSelectShipOrderBySerialOrderId(party router.Party, path string, method func(*global.User, string) ([]model.ShipOrder, 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, "未获取到工单条码", 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) + }) } \ No newline at end of file diff --git a/web/controllers/jit/jit.go b/web/controllers/jit/jit.go index d88f406..f86f4d9 100644 --- a/web/controllers/jit/jit.go +++ b/web/controllers/jit/jit.go @@ -58,6 +58,8 @@ func RegisterRoutes() { RegisterCloseShipOrder(shiporder, "/close", serviceOfShipOrder.CloseShipOrder) // shipOrder 搜索支持状态 RegisterSelectShipOrderWithStatus(shiporder, "/selectwithstatus", serviceOfShipOrder.SelectWithStatus) + // shipOrder 通过工单ID查询发运单 + RegisterSelectShipOrderBySerialOrderId(shiporder, "/selectbyserialorder", serviceOfShipOrder.SelectShipDataBySerialOrderId) // ShipOrderStatus的路由组 shiporderstatus := party.Party("/shiporderstatus")