| | |
| | | "wms/models" |
| | | "wms/pkg/logx" |
| | | "wms/pkg/mysqlx" |
| | | "wms/pkg/structx" |
| | | "wms/request" |
| | | ) |
| | | |
| | |
| | | OperationDate: time.Now().Format("2006-01-02 15:04:05"), |
| | | Details: []*models.OperationDetails{detail}, |
| | | BaseOperationType: constvar.BaseOperationTypeDisuse, |
| | | OperationTypeName: "库存报废", |
| | | } |
| | | if err := models.NewOperationSearch().Create(&operation); err != nil { |
| | | logx.Errorf("Operation create err: %v", err) |
| | |
| | | |
| | | db := models.NewOperationSearch().Orm. |
| | | Table("wms_operation"). |
| | | Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation_details.from_location_id,wms_operation_details.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount,wms_operation.base_operation_type"). |
| | | Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation_details.from_location_id,"+ |
| | | "wms_operation_details.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,"+ |
| | | "wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,"+ |
| | | "material.name as product_name,material.unit,wms_operation_details.amount,wms_operation.base_operation_type"). |
| | | 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"). |
| | | Where("wms_operation.base_operation_type=?", constvar.BaseOperationTypeDisuse) |
| | |
| | | m["userName"] = userInfo.Username |
| | | util.ResponseFormat(c, code.Success, m) |
| | | } |
| | | |
| | | // GetUnitInfo |
| | | // |
| | | // @Tags 产品 |
| | | // @Summary 获取单位信息 |
| | | // @Produce application/json |
| | | // @Success 200 {object} util.ResponseList{data=[]models.UnitDict} "成功" |
| | | // @Router /api-wms/v1/product/getUnitInfo [get] |
| | | func (slf ProductController) GetUnitInfo(c *gin.Context) { |
| | | dicts, total, err := models.NewUnitDictSearch().Find() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查询出错") |
| | | return |
| | | } |
| | | util.ResponseFormatList(c, code.Success, dicts, int(total)) |
| | | } |
| | | |
| | | // SaveUnitDict |
| | | // |
| | | // @Tags 数据字典 |
| | | // @Summary 更新计量单位字典 |
| | | // @Produce application/json |
| | | // @Param object body request.SaveUnitDict true "参数" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-wms/v1/product/saveUnitDict [post] |
| | | func (slf ProductController) SaveUnitDict(c *gin.Context) { |
| | | var reqParams request.SaveUnitDict |
| | | var params []*models.UnitDict |
| | | if err := c.BindJSON(&reqParams); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | if err := structx.AssignTo(reqParams.Data, ¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "数据转换错误") |
| | | return |
| | | } |
| | | |
| | | for i, v := range params { |
| | | if len(v.Name) == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "名称为空") |
| | | return |
| | | } |
| | | v.Sort = i + 1 |
| | | } |
| | | |
| | | err := models.WithTransaction(func(tx *gorm.DB) error { |
| | | err := models.NewUnitDictSearch().SetOrm(tx).Delete() |
| | | if err != nil { |
| | | return err |
| | | } |
| | | |
| | | err = models.NewUnitDictSearch().SetOrm(tx).CreateBatch(params) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | return nil |
| | | }) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, "添加成功") |
| | | } |