package controllers import ( "ERP_storage/Nats/NatsServer" "ERP_storage/conf" "ERP_storage/models/Account" "ERP_storage/models/RepairWorkOrder" beego "github.com/beego/beego/v2/server/web" userlibs "gogs.baozhida.cn/zoie/ERP_libs/User" "gogs.baozhida.cn/zoie/ERP_libs/lib" "math" "strconv" "time" ) type RepairWorkOrderController struct { beego.Controller User userlibs.User } func (c *RepairWorkOrderController) Prepare() { c.User = *Account.User_r } func (c *RepairWorkOrderController) RepairWorkOrder_List() { // 分页参数 初始化 page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } // 查询 T_name := c.GetString("T_name") T_state, _ := c.GetInt("T_state") R_List, R_cnt := RepairWorkOrder.Read_RepairWorkOrder_List(T_state, T_name, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } func (c *RepairWorkOrderController) RepairWorkOrder_User_List() { // 分页参数 初始化 page, _ := c.GetInt("page") if page < 1 { page = 1 } page_z, _ := c.GetInt("page_z") if page_z < 1 { page_z = conf.Page_size } // 查询 T_name := c.GetString("T_name") T_state, _ := c.GetInt("T_state") R_List, R_cnt := RepairWorkOrder.Read_RepairWorkOrder_user_List(c.User.T_uuid, T_state, T_name, page, page_z) var r_jsons lib.R_JSONS r_jsons.Num = R_cnt r_jsons.Data = R_List r_jsons.Page = page r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z))) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons} c.ServeJSON() return } // 下发工单 func (c *RepairWorkOrderController) RepairWorkOrder_Add() { T_product := c.GetString("T_product") T_repair_num, _ := c.GetInt("T_repair_num") T_model := c.GetString("T_model") T_source := c.GetString("T_source") // 设备来源 T_repair_reason := c.GetString("T_repair_reason") // 维修原因 T_receive := c.GetString("T_receive") //接收人 T_picture := c.GetString("T_picture") //图片 var_ := RepairWorkOrder.RepairWorkOrder{ T_delivery: c.User.T_uuid, T_product: T_product, T_repair_num: T_repair_num, T_model: T_model, T_source: T_source, T_repair_reason: T_repair_reason, T_receive: T_receive, T_picture: T_picture, T_state: 1, T_order_date: time.Now().Format("2006-01-02 15:04:05"), } Id, err := RepairWorkOrder.Add_RepairWorkOrder(var_) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "添加", var_) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id} c.ServeJSON() return } func (c *RepairWorkOrderController) RepairWorkOrder_Edit() { T_id, _ := c.GetInt("T_id") T_product := c.GetString("T_product") T_repair_num, _ := c.GetInt("T_repair_num") T_model := c.GetString("T_model") T_source := c.GetString("T_source") // 设备来源 T_repair_reason := c.GetString("T_repair_reason") // 维修原因 T_receive := c.GetString("T_receive") //接收人 T_picture := c.GetString("T_picture") T_return_product := c.GetString("T_return_product") T_return_model := c.GetString("T_return_model") T_return_num, _ := c.GetInt("T_return_num") T_staging_num, _ := c.GetInt("T_staging_num") T_scrap_num, _ := c.GetInt("T_scrap_num") T_malfunction_reason := c.GetString("T_malfunction_reason") T_remark := c.GetString("T_remark") T_sn := c.GetString("T_sn") T_state, _ := c.GetInt("T_state") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } var cols []string if T_state > 0 { RepairWorkOrder_r.T_state = T_state cols = append(cols, "T_state") } if len(T_product) > 0 { RepairWorkOrder_r.T_product = T_product cols = append(cols, "T_product") } if T_repair_num > 0 { RepairWorkOrder_r.T_repair_num = T_repair_num cols = append(cols, "T_repair_num") } if len(T_model) > 0 { RepairWorkOrder_r.T_model = T_model cols = append(cols, "T_model") } if len(T_source) > 0 { RepairWorkOrder_r.T_source = T_source cols = append(cols, "T_source") } if len(T_repair_reason) > 0 { RepairWorkOrder_r.T_repair_reason = T_repair_reason cols = append(cols, "T_repair_reason") } if len(T_receive) > 0 { RepairWorkOrder_r.T_receive = T_receive cols = append(cols, "T_receive") } if len(T_picture) > 0 { RepairWorkOrder_r.T_picture = T_picture cols = append(cols, "T_picture") } if len(T_return_product) > 0 { RepairWorkOrder_r.T_return_product = T_return_product cols = append(cols, "T_return_product") } if len(T_return_model) > 0 { RepairWorkOrder_r.T_return_model = T_return_model cols = append(cols, "T_return_model") } if T_return_num > 0 { RepairWorkOrder_r.T_return_num = T_return_num cols = append(cols, "T_return_num") } if T_staging_num > 0 { RepairWorkOrder_r.T_staging_num = T_staging_num cols = append(cols, "T_staging_num") } if T_scrap_num > 0 { RepairWorkOrder_r.T_scrap_num = T_scrap_num cols = append(cols, "T_scrap_num") } if len(T_malfunction_reason) > 0 { RepairWorkOrder_r.T_malfunction_reason = T_malfunction_reason cols = append(cols, "T_malfunction_reason") } if len(T_remark) > 0 { RepairWorkOrder_r.T_remark = T_remark cols = append(cols, "T_remark") } if len(T_sn) > 0 { RepairWorkOrder_r.T_sn = T_sn cols = append(cols, "T_sn") } if err = RepairWorkOrder.Update_RepairWorkOrder(RepairWorkOrder_r, cols...); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "修改", RepairWorkOrder_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *RepairWorkOrderController) RepairWorkOrder_Del() { T_id, _ := c.GetInt("T_id") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } if err = RepairWorkOrder.Delete_RepairWorkOrder(RepairWorkOrder_r); err != nil { c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "删除", strconv.Itoa(T_id)) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 归还 func (c *RepairWorkOrderController) RepairWorkOrder_Return() { T_id, _ := c.GetInt("T_id") T_return_product := c.GetString("T_return_product") T_return_model := c.GetString("T_return_model") T_return_num, _ := c.GetInt("T_return_num") T_staging_num, _ := c.GetInt("T_staging_num") T_scrap_num, _ := c.GetInt("T_scrap_num") T_malfunction_reason := c.GetString("T_malfunction_reason") T_remark := c.GetString("T_remark") T_sn := c.GetString("T_sn") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } var cols []string RepairWorkOrder_r.T_state = RepairWorkOrder.RepairWorkOrderReturn cols = append(cols, "T_state") RepairWorkOrder_r.T_return = c.User.T_uuid cols = append(cols, "T_return") RepairWorkOrder_r.T_return_date = time.Now().Format("2006-01-02 15:04:05") if len(T_return_product) > 0 { RepairWorkOrder_r.T_return_product = T_return_product cols = append(cols, "T_return_product") } if len(T_return_model) > 0 { RepairWorkOrder_r.T_return_model = T_return_model cols = append(cols, "T_return_model") } if T_return_num > 0 { RepairWorkOrder_r.T_return_num = T_return_num cols = append(cols, "T_return_num") } if T_staging_num > 0 { RepairWorkOrder_r.T_staging_num = T_staging_num cols = append(cols, "T_staging_num") } if T_scrap_num > 0 { RepairWorkOrder_r.T_scrap_num = T_scrap_num cols = append(cols, "T_scrap_num") } if len(T_malfunction_reason) > 0 { RepairWorkOrder_r.T_malfunction_reason = T_malfunction_reason cols = append(cols, "T_malfunction_reason") } if len(T_remark) > 0 { RepairWorkOrder_r.T_remark = T_remark cols = append(cols, "T_remark") } if len(T_sn) > 0 { RepairWorkOrder_r.T_sn = T_sn cols = append(cols, "T_sn") } if err = RepairWorkOrder.Update_RepairWorkOrder(RepairWorkOrder_r, cols...); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "修改", RepairWorkOrder_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 转派 func (c *RepairWorkOrderController) RepairWorkOrder_Redeploy() { T_id, _ := c.GetInt("T_id") T_receive := c.GetString("T_receive") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } var cols []string if RepairWorkOrder_r.T_state != RepairWorkOrder.RepairWorkOrderOrder && RepairWorkOrder_r.T_state != RepairWorkOrder.RepairWorkOrderRepair { c.Data["json"] = lib.JSONS{Code: 203, Msg: "该状态不可转派!"} c.ServeJSON() return } if len(T_receive) > 0 { RepairWorkOrder_r.T_receive = T_receive cols = append(cols, "T_receive") } if err = RepairWorkOrder.Update_RepairWorkOrder(RepairWorkOrder_r, cols...); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "转派", RepairWorkOrder_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } // 开始维修 func (c *RepairWorkOrderController) RepairWorkOrder_Start_Repair() { T_id, _ := c.GetInt("T_id") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } if RepairWorkOrder_r.T_state != 1 && RepairWorkOrder_r.T_state != 2 { c.Data["json"] = lib.JSONS{Code: 203, Msg: "该状态不可开始维修!"} c.ServeJSON() return } RepairWorkOrder_r.T_repair_date = time.Now().Format("2006-01-02 15:04:05") RepairWorkOrder_r.T_state = RepairWorkOrder.RepairWorkOrderRepair if err = RepairWorkOrder.Update_RepairWorkOrder(RepairWorkOrder_r, "T_repair_date", "T_state"); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "修改", RepairWorkOrder_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } func (c *RepairWorkOrderController) RepairWorkOrder_Finish() { T_id, _ := c.GetInt("T_id") RepairWorkOrder_r, err := RepairWorkOrder.Read_RepairWorkOrder_ById(T_id) if err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"} c.ServeJSON() return } if RepairWorkOrder_r.T_state == RepairWorkOrder.RepairWorkOrderFinish { c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return } if RepairWorkOrder_r.T_state != RepairWorkOrder.RepairWorkOrderOrder && RepairWorkOrder_r.T_state != RepairWorkOrder.RepairWorkOrderRepair { c.Data["json"] = lib.JSONS{Code: 203, Msg: "该状态不可提交完结!"} c.ServeJSON() return } RepairWorkOrder_r.T_finish_date = time.Now().Format("2006-01-02 15:04:05") RepairWorkOrder_r.T_state = RepairWorkOrder.RepairWorkOrderFinish if err = RepairWorkOrder.Update_RepairWorkOrder(RepairWorkOrder_r, "T_finish_date", "T_state"); err != nil { c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"} c.ServeJSON() return } NatsServer.AddUserLogs(c.User.T_uuid, "维修工单", "修改", RepairWorkOrder_r) c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"} c.ServeJSON() return }