| | |
| | | "wms/models" |
| | | "wms/opa" |
| | | "wms/pkg/logx" |
| | | "wms/pkg/mysqlx" |
| | | "wms/pkg/structx" |
| | | "wms/proto/client" |
| | | "wms/proto/init_client" |
| | |
| | | } |
| | | util.ResponseFormat(c, code.Success, resp.List) |
| | | } |
| | | |
| | | // ListByCondition |
| | | // @Tags 入库/出库 |
| | | // @Summary 出入库明细 |
| | | // @Produce application/json |
| | | // @Param object body request.OperationAllList true "参数" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-wms/v1/operation/listByCondition [post] |
| | | func (slf OperationController) ListByCondition(c *gin.Context) { |
| | | var params request.OperationCondition |
| | | if err := c.BindJSON(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误:"+err.Error()) |
| | | return |
| | | } |
| | | if !params.PageInfo.Check() { |
| | | util.ResponseFormat(c, code.RequestParamError, "数据分页信息错误") |
| | | return |
| | | } |
| | | |
| | | db := mysqlx.GetDB().Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.base_operation_type,material.id AS product_id,material.`name` AS product_name,wms_operation_details.amount,material.unit,wms_operation.from_location_id,from_location.`name` AS from_location,wms_operation.to_location_id,to_location.`name` AS to_location,wms_operation.operation_date as date").InnerJoins("inner join wms_operation_details ON wms_operation_details.operation_id = wms_operation.id").InnerJoins("INNER JOIN material ON material.id = wms_operation_details.product_id").InnerJoins("INNER JOIN wms_location AS from_location ON from_location.id = wms_operation.from_location_id").InnerJoins("INNER JOIN wms_location AS to_location ON to_location.id = wms_operation.to_location_id") |
| | | if params.Condition != "" { |
| | | db = db.Where("wms_operation.number like ? or wms_operation.source_number like ? or from_location.`name` like ? or to_location.`name` like ?", "%"+params.Condition+"%", "%"+params.Condition+"%", "%"+params.Condition+"%", "%"+params.Condition+"%") |
| | | } |
| | | var ( |
| | | records = make([]*models.MoveHistory, 0) |
| | | total int64 |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | util.ResponseFormat(c, code.RequestError, "查找失败:"+err.Error()) |
| | | return |
| | | } |
| | | |
| | | if err := db.Offset((params.Page - 1) * params.PageSize).Limit(params.PageSize).Find(&records).Error; err != nil { |
| | | util.ResponseFormat(c, code.RequestError, "查找失败:"+err.Error()) |
| | | return |
| | | } |
| | | util.ResponseFormatListWithPage(c, code.Success, records, int(total), params.Page, params.PageSize) |
| | | } |