...
|
...
|
@@ -6,8 +6,11 @@ import ( |
|
|
"github.com/linmadan/egglib-go/utils/tool_funs"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/unitConversion/command"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/unitConversion/dto"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/unitConversion/query"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
// 单位换算服务
|
...
|
...
|
@@ -15,8 +18,10 @@ type UnitConversionService struct { |
|
|
}
|
|
|
|
|
|
// 创建单位换算服务
|
|
|
func (unitConversionService *UnitConversionService) CreateUnitConversion(createUnitConversionCommand *command.CreateUnitConversionCommand) (interface{}, error) {
|
|
|
if err := createUnitConversionCommand.ValidateCommand(); err != nil {
|
|
|
func (unitConversionService *UnitConversionService) CreateUnitConversion(operateInfo *domain.OperateInfo, cmd *command.CreateUnitConversionCommand) (interface{}, error) {
|
|
|
cmd.CompanyId = operateInfo.CompanyId
|
|
|
cmd.OrgId = operateInfo.OrgId
|
|
|
if err := cmd.ValidateCommand(); err != nil {
|
|
|
return nil, application.ThrowError(application.ARG_ERROR, err.Error())
|
|
|
}
|
|
|
transactionContext, err := factory.CreateTransactionContext(nil)
|
...
|
...
|
@@ -29,25 +34,26 @@ func (unitConversionService *UnitConversionService) CreateUnitConversion(createU |
|
|
defer func() {
|
|
|
transactionContext.RollbackTransaction()
|
|
|
}()
|
|
|
newUnitConversion := &domain.UnitConversion{
|
|
|
CompanyId: createUnitConversionCommand.CompanyId,
|
|
|
OrgId: createUnitConversionCommand.OrgId,
|
|
|
//WorkshopId: createUnitConversionCommand.WorkshopId,
|
|
|
//LineId: createUnitConversionCommand.LineId,
|
|
|
//SectionId: createUnitConversionCommand.SectionId,
|
|
|
//Material: createUnitConversionCommand.Material,
|
|
|
//FromUnitQuantity: createUnitConversionCommand.FromUnitQuantity,
|
|
|
//ToUnitQuantity: createUnitConversionCommand.ToUnitQuantity,
|
|
|
IntelligentWeighingFlag: createUnitConversionCommand.IntelligentWeighingFlag,
|
|
|
}
|
|
|
var unitConversionRepository domain.UnitConversionRepository
|
|
|
if value, err := factory.CreateUnitConversionRepository(map[string]interface{}{
|
|
|
"transactionContext": transactionContext,
|
|
|
}); err != nil {
|
|
|
|
|
|
var workStation *domain.WorkStation
|
|
|
_, workStation, err = factory.FastPgWorkstation(transactionContext, cmd.WorkshopId, cmd.LineId, cmd.SectionId)
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
} else {
|
|
|
unitConversionRepository = value
|
|
|
}
|
|
|
|
|
|
newUnitConversion := &domain.UnitConversion{
|
|
|
CompanyId: cmd.CompanyId,
|
|
|
OrgId: cmd.OrgId,
|
|
|
Material: cmd.Material,
|
|
|
FromUnitQuantity: cmd.FromUnitQuantity,
|
|
|
ToUnitQuantity: cmd.ToUnitQuantity,
|
|
|
IntelligentWeighingFlag: cmd.IntelligentWeighingFlag,
|
|
|
WorkStation: workStation,
|
|
|
CreatedAt: time.Now(),
|
|
|
UpdatedAt: time.Now(),
|
|
|
}
|
|
|
unitConversionRepository, _, _ := factory.FastPgUnitConversion(transactionContext, 0)
|
|
|
|
|
|
if unitConversion, err := unitConversionRepository.Save(newUnitConversion); err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
} else {
|
...
|
...
|
@@ -73,26 +79,17 @@ func (unitConversionService *UnitConversionService) GetUnitConversion(getUnitCon |
|
|
defer func() {
|
|
|
transactionContext.RollbackTransaction()
|
|
|
}()
|
|
|
var unitConversionRepository domain.UnitConversionRepository
|
|
|
if value, err := factory.CreateUnitConversionRepository(map[string]interface{}{
|
|
|
"transactionContext": transactionContext,
|
|
|
}); err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
} else {
|
|
|
unitConversionRepository = value
|
|
|
}
|
|
|
unitConversion, err := unitConversionRepository.FindOne(map[string]interface{}{"unitConversionId": getUnitConversionQuery.UnitConversionId})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
}
|
|
|
if unitConversion == nil {
|
|
|
return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(getUnitConversionQuery.UnitConversionId)))
|
|
|
} else {
|
|
|
//var unitConversionRepository domain.UnitConversionRepository
|
|
|
var unitConversion *domain.UnitConversion
|
|
|
_, unitConversion, err = factory.FastPgUnitConversion(transactionContext, getUnitConversionQuery.UnitConversionId)
|
|
|
|
|
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
return unitConversion, nil
|
|
|
}
|
|
|
result := &dto.UnitConversionDto{}
|
|
|
result.LoadDto(unitConversion)
|
|
|
return result, nil
|
|
|
|
|
|
}
|
|
|
|
|
|
// 返回单位换算服务列表
|
...
|
...
|
@@ -172,8 +169,8 @@ func (unitConversionService *UnitConversionService) RemoveUnitConversion(removeU |
|
|
}
|
|
|
|
|
|
// 更新单位换算服务
|
|
|
func (unitConversionService *UnitConversionService) UpdateUnitConversion(updateUnitConversionCommand *command.UpdateUnitConversionCommand) (interface{}, error) {
|
|
|
if err := updateUnitConversionCommand.ValidateCommand(); err != nil {
|
|
|
func (unitConversionService *UnitConversionService) UpdateUnitConversion(cmd *command.UpdateUnitConversionCommand) (interface{}, error) {
|
|
|
if err := cmd.ValidateCommand(); err != nil {
|
|
|
return nil, application.ThrowError(application.ARG_ERROR, err.Error())
|
|
|
}
|
|
|
transactionContext, err := factory.CreateTransactionContext(nil)
|
...
|
...
|
@@ -187,21 +184,21 @@ func (unitConversionService *UnitConversionService) UpdateUnitConversion(updateU |
|
|
transactionContext.RollbackTransaction()
|
|
|
}()
|
|
|
var unitConversionRepository domain.UnitConversionRepository
|
|
|
if value, err := factory.CreateUnitConversionRepository(map[string]interface{}{
|
|
|
"transactionContext": transactionContext,
|
|
|
}); err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
} else {
|
|
|
unitConversionRepository = value
|
|
|
}
|
|
|
unitConversion, err := unitConversionRepository.FindOne(map[string]interface{}{"unitConversionId": updateUnitConversionCommand.UnitConversionId})
|
|
|
var unitConversion *domain.UnitConversion
|
|
|
unitConversionRepository, unitConversion, err = factory.FastPgUnitConversion(transactionContext, cmd.UnitConversionId)
|
|
|
|
|
|
var workStation *domain.WorkStation
|
|
|
_, workStation, err = factory.FastPgWorkstation(transactionContext, cmd.WorkshopId, cmd.LineId, cmd.SectionId)
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
}
|
|
|
if unitConversion == nil {
|
|
|
return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateUnitConversionCommand.UnitConversionId)))
|
|
|
}
|
|
|
if err := unitConversion.Update(tool_funs.SimpleStructToMap(updateUnitConversionCommand)); err != nil {
|
|
|
unitConversion.WorkStation = workStation
|
|
|
unitConversion.Material = cmd.Material
|
|
|
unitConversion.FromUnitQuantity = cmd.FromUnitQuantity
|
|
|
unitConversion.ToUnitQuantity = cmd.ToUnitQuantity
|
|
|
unitConversion.IntelligentWeighingFlag = cmd.IntelligentWeighingFlag
|
|
|
|
|
|
if err := unitConversion.Update(utils.ObjectToMap(cmd)); err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
if unitConversion, err := unitConversionRepository.Save(unitConversion); err != nil {
|
...
|
...
|
@@ -214,6 +211,42 @@ func (unitConversionService *UnitConversionService) UpdateUnitConversion(updateU |
|
|
}
|
|
|
}
|
|
|
|
|
|
// 返回单位换算服务列表
|
|
|
func (unitConversionService *UnitConversionService) SearchUnitConversion(operateInfo *domain.OperateInfo, listUnitConversionQuery *query.SearchUnitConversionQuery) (int64, interface{}, error) {
|
|
|
listUnitConversionQuery.OrgId = operateInfo.OrgId
|
|
|
listUnitConversionQuery.CompanyId = operateInfo.CompanyId
|
|
|
if err := listUnitConversionQuery.ValidateQuery(); err != nil {
|
|
|
return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
|
|
|
}
|
|
|
transactionContext, err := factory.CreateTransactionContext(nil)
|
|
|
if err != nil {
|
|
|
return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
if err := transactionContext.StartTransaction(); err != nil {
|
|
|
return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
defer func() {
|
|
|
transactionContext.RollbackTransaction()
|
|
|
}()
|
|
|
unitConversionRepository, _, _ := factory.FastPgUnitConversion(transactionContext, 0)
|
|
|
count, unitConversions, err := unitConversionRepository.Find(utils.ObjectToMap(listUnitConversionQuery))
|
|
|
if err != nil {
|
|
|
return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
}
|
|
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
|
|
|
var result = make([]*dto.UnitConversionDto, 0)
|
|
|
for i := range unitConversions {
|
|
|
item := unitConversions[i]
|
|
|
newItem := &dto.UnitConversionDto{}
|
|
|
newItem.LoadDto(item)
|
|
|
result = append(result, newItem)
|
|
|
}
|
|
|
return count, result, nil
|
|
|
}
|
|
|
|
|
|
func NewUnitConversionService(options map[string]interface{}) *UnitConversionService {
|
|
|
newUnitConversionService := &UnitConversionService{}
|
|
|
return newUnitConversionService
|
...
|
...
|
|