|
@@ -1,6 +1,7 @@
|
|
|
package controllers
|
|
|
|
|
|
import (
|
|
|
+ "ERP_storage/Nats"
|
|
|
"ERP_storage/Nats/NatsServer"
|
|
|
"ERP_storage/conf"
|
|
|
"ERP_storage/logs"
|
|
@@ -10,6 +11,7 @@ import (
|
|
|
"ERP_storage/models/Property"
|
|
|
"ERP_storage/models/Stock"
|
|
|
"fmt"
|
|
|
+ natslibs "git.baozhida.cn/ERP_libs/Nats"
|
|
|
userlibs "git.baozhida.cn/ERP_libs/User"
|
|
|
"git.baozhida.cn/ERP_libs/lib"
|
|
|
"github.com/beego/beego/v2/adapter/orm"
|
|
@@ -17,6 +19,7 @@ import (
|
|
|
"github.com/robfig/cron/v3"
|
|
|
"github.com/xuri/excelize/v2"
|
|
|
"math"
|
|
|
+ "os"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -31,6 +34,35 @@ func (c *StockController) Prepare() {
|
|
|
c.User = *Account.User_r
|
|
|
}
|
|
|
|
|
|
+func (c *StockController) Device_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_state, _ := c.GetInt("T_state")
|
|
|
+ T_name := c.GetString("T_name")
|
|
|
+
|
|
|
+ DeviceDao := Stock.NewDevice(orm.NewOrm())
|
|
|
+ R_List, R_cnt := DeviceDao.Read_Device_List(T_name, T_state, 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 *StockController) Stock_List() {
|
|
|
|
|
|
// 分页参数 初始化
|
|
@@ -210,18 +242,18 @@ func (c *StockController) Stock_Detail_Excel() {
|
|
|
}
|
|
|
var url string
|
|
|
//// 上传 OSS
|
|
|
- //nats := natslibs.NewNats(Nats.Nats)
|
|
|
- //url, is := nats.Qiniu_UploadFile(lib.GetCurrentDirectory()+"/ofile/"+filename+".xlsx", "ofile/"+filename+".xlsx")
|
|
|
- //if !is {
|
|
|
- // c.Data["json"] = lib.JSONS{Code: 202, Msg: "oss!"}
|
|
|
- // c.ServeJSON()
|
|
|
- // return
|
|
|
- //}
|
|
|
- ////删除目录
|
|
|
- //err := os.Remove("ofile/" + filename + ".xlsx")
|
|
|
- //if err != nil {
|
|
|
- // logs.Error(lib.FuncName(), err)
|
|
|
- //}
|
|
|
+ nats := natslibs.NewNats(Nats.Nats)
|
|
|
+ url, is := nats.Qiniu_UploadFile(lib.GetCurrentDirectory()+"/ofile/"+filename+".xlsx", "ofile/"+filename+".xlsx")
|
|
|
+ if !is {
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 202, Msg: "oss!"}
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //删除目录
|
|
|
+ err := os.Remove("ofile/" + filename + ".xlsx")
|
|
|
+ if err != nil {
|
|
|
+ logs.Error(lib.FuncName(), err)
|
|
|
+ }
|
|
|
|
|
|
c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: url}
|
|
|
c.ServeJSON()
|
|
@@ -560,19 +592,19 @@ func (c *StockController) StockOut_Add() {
|
|
|
ContractDao := Contract.NewContract(o)
|
|
|
ContractProductDao := Contract.NewContractProduct(o)
|
|
|
|
|
|
- contract, _ := ContractDao.Read_Contract_ByT_number(T_contract_number)
|
|
|
- if contract.Id == 0 {
|
|
|
+ _, err := StockOutDao.Add_StockOut(var_)
|
|
|
+ if err != nil {
|
|
|
o.Rollback()
|
|
|
- c.Data["json"] = lib.JSONS{Code: 203, Msg: "合同编号错误!"}
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 203, Msg: "出库失败"}
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 1、添加出库单
|
|
|
- _, err := StockOutDao.Add_StockOut(var_)
|
|
|
- if err != nil {
|
|
|
+ contract, _ := ContractDao.Read_Contract_ByT_number(T_contract_number)
|
|
|
+ if contract.Id == 0 && T_type == 2 {
|
|
|
o.Rollback()
|
|
|
- c.Data["json"] = lib.JSONS{Code: 203, Msg: "出库失败"}
|
|
|
+ c.Data["json"] = lib.JSONS{Code: 203, Msg: "合同编号错误!"}
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
@@ -604,12 +636,13 @@ func (c *StockController) StockOut_Add() {
|
|
|
for _, sn := range snList {
|
|
|
mqtt := Stock.Read_MqttUser(sn)
|
|
|
device := Stock.Device{
|
|
|
- T_product_id: product_id,
|
|
|
- T_out_number: T_number,
|
|
|
- T_sn: sn,
|
|
|
- T_iccid: mqtt.Iccid,
|
|
|
- T_imei: mqtt.Imei,
|
|
|
- T_State: 1,
|
|
|
+ T_contract_number: T_contract_number,
|
|
|
+ T_product_id: product_id,
|
|
|
+ T_out_number: T_number,
|
|
|
+ T_sn: sn,
|
|
|
+ T_iccid: mqtt.Iccid,
|
|
|
+ T_imei: mqtt.Imei,
|
|
|
+ T_State: 1,
|
|
|
}
|
|
|
_, err = DeviceDao.AddOrUpdate_Device(device, 1)
|
|
|
if err != nil {
|