Browse Source

修改顺引bug

fix_dashboard_lou
zhangxin 2 years ago
parent
commit
28c6294935
3 changed files with 95 additions and 80 deletions
  1. +16
    -17
      dao/pln/implments/ToyotaCalloff.dao.impl.go
  2. +72
    -56
      services/jit/implments/ShipOrder.service.impl.go
  3. +7
    -7
      services/pln/implments/ToyotaCalloff.service.impl.go

+ 16
- 17
dao/pln/implments/ToyotaCalloff.dao.impl.go View File

@ -8,7 +8,6 @@ import (
model "LAPP_ACURA_MOM_BACKEND/models/pln"
"fmt"
"github.com/go-xorm/xorm"
"reflect"
"xorm.io/core"
)
@ -264,27 +263,26 @@ func (impl *ToyotaCalloffDAOImplement) SelectAndPaging(paging *grmi.Paging, pred
if predicate.ColumnName == meta.ToyotaCalloff_Parsed.ColumnName {
if len(predicate.Values) != 0 {
parsed := predicate.Values[0]
fmt.Println("parsed:", parsed)
fmt.Println(reflect.TypeOf(parsed))
if parsed == int64(-1) {
where += fmt.Sprintf(" and %s != ?", meta.ToyotaCalloff_Parsed.ColumnName)
parameters = append(parameters, model.CALLOFF_STATUS_SHIPED)
continue
}
}
} else if predicate.ColumnName == meta.ToyotaCalloff_OrderTime.ColumnName {
if len(predicate.Values) != 0 {
day := predicate.Values[0]
dayStr, ok := day.(string)
if ok {
start := dayStr + " 00:00:00"
end := dayStr + " 23:59:59"
where += fmt.Sprintf(" and %s >= ? and %s <= ?", meta.ToyotaCalloff_OrderTime.ColumnName, meta.ToyotaCalloff_OrderTime.ColumnName)
parameters = append(parameters, start, end)
continue
}
}
}
//} else if predicate.ColumnName == meta.ToyotaCalloff_OrderTime.ColumnName {
// if len(predicate.Values) != 0 {
// day := predicate.Values[0]
// dayStr, ok := day.(string)
// if ok {
// start := dayStr + " 00:00:00"
// end := dayStr + " 23:59:59"
// where += fmt.Sprintf(" and %s >= ? and %s <= ?", meta.ToyotaCalloff_OrderTime.ColumnName, meta.ToyotaCalloff_OrderTime.ColumnName)
// parameters = append(parameters, start, end)
// continue
// }
// }
//}
where += predicate.Build()
parameters = append(parameters, predicate.Values...)
}
@ -375,9 +373,10 @@ func (impl *ToyotaCalloffDAOImplement) UpdateWhere(predicates []grmi.Predicate,
******************************************************************************/
func (impl *ToyotaCalloffDAOImplement) SelectMaxSeqCallOff() (*model.ToyotaCalloff, error) {
parameters := []interface{}{impl.plantNr}
where := fmt.Sprintf("%s = ?",
parameters := []interface{}{impl.plantNr, model.CALLOFF_STATUS_PARSED}
where := fmt.Sprintf("%s = ? and %s = ?",
meta.ToyotaCalloff_PlantNr.ColumnName,
meta.ToyotaCalloff_Parsed.ColumnName,
)
var data model.ToyotaCalloff
ok, err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).Desc(meta.ToyotaCalloff_RecordId.Name).Get(&data)


+ 72
- 56
services/jit/implments/ShipOrder.service.impl.go View File

@ -1820,75 +1820,91 @@ func (impl *ShipOrderServiceImplement) WithdrawShipOrderItem(user *global.User,
if len(shipOrderDataLi) == 0 {
return grmi.NewBusinessError("发运单数据项不存在")
}
packOrderId := shipOrderDataLi[0].PackOrderId
packOrderStatus, err := packOrderStatusDao.SelectOne(packOrderId)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("查询发运单状态数据失败,错误:" + err.Error())
}
if packOrderStatus == nil {
_ = session.Rollback()
return grmi.NewBusinessError("未查询到发运单状态数据, 发运单ID:" + packOrderId)
}
maxPos, err := packOrderStatusHistoryDao.GetMaxPos(packOrderId)
if err != nil {
return grmi.NewBusinessError("查询包装单状态变更历史数据失败, 错误:" + err.Error())
}
if err = session.Begin(); err != nil {
return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error())
}
err = shipOrderDataDao.DeleteOne(shipOrderId, packOrderId)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("删除发运单数据项失败, 错误:" + err.Error())
}
if shipOrder.ShipType == model.SHIP_TYPE_FORMAL {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.ShipStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_FORMAL,
for _, shipOrderData := range shipOrderDataLi {
packOrderId := shipOrderData.PackOrderId
packOrderStatus, err := packOrderStatusDao.SelectOne(packOrderId)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("查询发运单状态数据失败,错误:" + err.Error())
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
if packOrderStatus == nil {
_ = session.Rollback()
return grmi.NewBusinessError("未查询到发运单状态数据, 发运单ID:" + packOrderId)
}
maxPos, err := packOrderStatusHistoryDao.GetMaxPos(packOrderId)
if err != nil {
return grmi.NewBusinessError("查询包装单状态变更历史数据失败, 错误:" + err.Error())
}
if err = session.Begin(); err != nil {
return grmi.NewBusinessError("开启事务失败, 错误:" + err.Error())
}
err = shipOrderDataDao.DeleteOne(shipOrderId, packOrderId)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("写入包装单状态变更历史失败, 错误:" + err.Error())
return grmi.NewBusinessError("删除发运单数据项失败, 错误:" + err.Error())
}
packOrderStatus.ShipStatus = model.PACK_STATUS_PLANNED
} else {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.LoadStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_ADVANCE,
if shipOrder.ShipType == model.SHIP_TYPE_FORMAL {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.ShipStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_FORMAL,
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("写入包装单状态变更历史失败, 错误:" + err.Error())
}
packOrderStatus.ShipStatus = model.PACK_STATUS_PLANNED
} else {
packOrderStatusHistory := model.PackOrderStatusHistory{
PackOrderId: packOrderId,
Pos: maxPos + 1,
StatusChangeType: model.SHIP_STATUS_CHANGE_TYPE_SHIP,
FromStatus: packOrderStatus.LoadStatus,
ToStatus: model.PACK_STATUS_PLANNED,
ChangeTime: grmi.DateTime(time.Now()),
TriggerPara1: model.SHIP_TYPE_ADVANCE,
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("写入包装单状态变更历史失败, 错误:" + err.Error())
}
packOrderStatus.LoadStatus = model.PACK_STATUS_PLANNED
}
err = packOrderStatusHistoryDao.InsertOne(&packOrderStatusHistory)
err = packOrderStatusDao.UpdateOne(packOrderStatus)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("写入包装单状态变更历史失败, 错误:" + err.Error())
return grmi.NewBusinessError("更新包装单状态失败, 错误:" + err.Error())
}
packOrderStatus.LoadStatus = model.PACK_STATUS_PLANNED
}
err = packOrderStatusDao.UpdateOne(packOrderStatus)
shipOrder.ActQty -= shipOrderItem.ActQty
err = shipOrderDao.UpdateOne(shipOrder)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("更新包装单状态失败, 错误:" + err.Error())
return grmi.NewBusinessError("更新发运单数据失败, 错误:" + err.Error())
}
shipOrderItem.Status = model.SHIP_STATUS_PLANNED
shipOrderItem.ActQty--
err = shipOrderItemDao.UpdateOne(shipOrderItem)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("更新发运单子项数据失败, 错误:" + err.Error())
if shipOrder.ShipType == model.SHIP_TYPE_ADVANCE && shipOrder.ShipTemplateId == "" {
err = shipOrderItemDao.DeleteOne(shipOrderItem.ShipOrderId, shipOrderItem.Pos)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("删除发运单子项失败, 错误:" + err.Error())
}
} else {
shipOrderItem.Status = model.SHIP_STATUS_PLANNED
shipOrderItem.ActQty = 0
err = shipOrderItemDao.UpdateOne(shipOrderItem)
if err != nil {
_ = session.Rollback()
return grmi.NewBusinessError("更新发运单子项数据失败, 错误:" + err.Error())
}
}
_ = session.Commit()
return nil
}

+ 7
- 7
services/pln/implments/ToyotaCalloff.service.impl.go View File

@ -312,9 +312,9 @@ func (impl *ToyotaCalloffServiceImplement) SelectAndPaging(user *global.User, ur
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
_, exist := urlParameters["parsed"]
_, exist := urlParameters["Parsed"]
if !exist {
urlParameters["parsed"] = "-1"
urlParameters["Parsed"] = "-1"
}
predicates, err := condition.BuildPredicates(urlParameters)
@ -324,7 +324,7 @@ func (impl *ToyotaCalloffServiceImplement) SelectAndPaging(user *global.User, ur
start, exist := urlParameters["start"]
if exist {
start += " 00:00:00"
startT, err := time.ParseInLocation(grmi.DateTimeOutFormat, start, utils.TimezoneLocation)
_, err := time.ParseInLocation(grmi.DateTimeOutFormat, start, utils.TimezoneLocation)
if err != nil {
return grmi.EmptyPagingResult, grmi.NewBusinessError("开始日期格式错误")
}
@ -333,23 +333,23 @@ func (impl *ToyotaCalloffServiceImplement) SelectAndPaging(user *global.User, ur
PredicateType: func(predicate grmi.Predicate) (string, error) {
return fmt.Sprintf(" and %s >= ?", predicate.ColumnName), nil
},
Values: []interface{}{startT},
Values: []interface{}{start},
}
predicates = append(predicates, p)
}
end, exist := urlParameters["end"]
if exist {
end += " 23:59:59"
endT, err := time.ParseInLocation(grmi.DateTimeOutFormat, start, utils.TimezoneLocation)
_, err := time.ParseInLocation(grmi.DateTimeOutFormat, start, utils.TimezoneLocation)
if err != nil {
return grmi.EmptyPagingResult, grmi.NewBusinessError("开始日期格式错误")
return grmi.EmptyPagingResult, grmi.NewBusinessError("结束日期格式错误")
}
p := grmi.Predicate{
ColumnName: meta.ToyotaCalloff_OrderTime.ColumnName,
PredicateType: func(predicate grmi.Predicate) (string, error) {
return fmt.Sprintf(" and %s <= ?", predicate.ColumnName), nil
},
Values: []interface{}{endT},
Values: []interface{}{end},
}
predicates = append(predicates, p)
}


Loading…
Cancel
Save