Ver Fonte

add:退库申请

zoie há 2 meses atrás
pai
commit
a1df0dc562

+ 21 - 1
README.md

@@ -11,4 +11,24 @@ conf/app.conf
 GOOS=linux GOARCH=amd64 go build ERP_storage.go
 
 ### 3、启动服务
-./ERP_storage
+./ERP_storage
+
+## 业务逻辑说明
+
+### 设备入库/出库状态判断逻辑
+
+#### 入库操作(T_type=2)判断逻辑:
+
+|      | 时间前最后一条记录状态 | 时间后第一条记录 | 提示                 |
+| ---- | ---------------------- | ---------------- | -------------------- |
+| 入库 | 无数据                 | 入库             | 已入库,请勿重复提交 |
+|      | 已入库                 |                  | 已入库,请勿重复提交 |
+|      | 已出库                 | 已入库           | 已入库,请勿重复提交 |
+
+#### 出库操作(T_type=1)判断逻辑:
+
+|      | 时间前最后一条记录状态 | 时间后第一条记录 | 提示                 |
+| ---- | ---------------------- | ---------------- | -------------------- |
+| 出库 | 无数据                 |                  | 未入库               |
+|      | 已入库                 | 已出库           | 已出库,请勿重复提交 |
+|      | 已出库                 |                  | 已出库,请勿重复提交 |

+ 1 - 1
conf/app.conf

@@ -33,7 +33,7 @@ Redis_password = ""
 Redis_dbNum = "2"
 
 FilterExcludeURL = "/Percentage/SyncVerify"
-FilterOnlyLoginCheckURL = "/validationTool/transfer"
+FilterOnlyLoginCheckURL = "/validationTool/transfer,/Stock/Month_Update_Return"
 
 # 消息通知前端页面跳转url
 ContractApprovalUrl = "/contract"

Diff do ficheiro suprimidas por serem muito extensas
+ 741 - 187
controllers/Stock.go


+ 30 - 0
models/Stock/Device.go

@@ -745,3 +745,33 @@ func (dao *DeviceDaoImpl) Update_Device_BatchNumber_ByInNumber(inNumber, batchNu
 
 	return nil
 }
+
+/**
+ * 查询checkTime时间前最后一条设备记录
+ * @param T_sn 设备SN
+ * @param checkTime 检查时间
+ * @return 设备记录和错误信息
+ */
+func (dao *DeviceDaoImpl) Read_Device_LastBeforeCheckTime(T_sn string, checkTime string) (r Device, err error) {
+	qs := dao.orm.QueryTable(new(Device))
+	err = qs.Filter("T_sn", T_sn).Filter("CreateTime__lt", checkTime).OrderBy("-CreateTime").Limit(1).One(&r)
+	if err != nil && err.Error() != orm.ErrNoRows.Error() {
+		logs.Error(lib.FuncName(), err)
+	}
+	return
+}
+
+/**
+ * 查询checkTime时间后第一条设备记录
+ * @param T_sn 设备SN
+ * @param checkTime 检查时间
+ * @return 设备记录和错误信息
+ */
+func (dao *DeviceDaoImpl) Read_Device_FirstAfterCheckTime(T_sn string, checkTime string) (r Device, err error) {
+	qs := dao.orm.QueryTable(new(Device))
+	err = qs.Filter("T_sn", T_sn).Filter("CreateTime__gt", checkTime).OrderBy("CreateTime").Limit(1).One(&r)
+	if err != nil && err.Error() != orm.ErrNoRows.Error() {
+		logs.Error(lib.FuncName(), err)
+	}
+	return
+}

+ 0 - 5
models/Stock/Stock.go

@@ -172,11 +172,6 @@ func (dao *StockDaoImpl) AddOrUpdate_Occupy_Stock(T_depot_id, T_product_id, T_pr
 		return
 	}
 
-	if stock.T_reality-stock.T_occupy-T_num < 0 {
-		err = errors.New(fmt.Sprintf("%s%s库存不足", T_product_name, T_product_model))
-		logs.Error(lib.FuncName(), err.Error())
-		return
-	}
 	// T_type 1-审核不通过/出库 2-其他状态
 	if T_type == 1 {
 		stock.T_occupy -= T_num

+ 90 - 13
models/Stock/StockIn.go

@@ -15,20 +15,32 @@ import (
 	_ "github.com/go-sql-driver/mysql"
 )
 
+const (
+	StockInDelete    int = iota
+	StockInWaitAudit     // 待入库
+	StockInWarehouse     // 已入库
+
+	StockInTypeApply     = "Apply"
+	StockInTypeWarehouse = "Warehouse"
+)
+
 // 入库
 type StockIn struct {
-	Id             int       `orm:"column(ID);size(11);auto;pk"`
-	T_number       string    `orm:"size(256);null"`                                        // 入库单号
-	T_type         int       `orm:"size(256);;default(1)"`                                 // 入库类型 1-入库 2-退库
-	T_depot_id     int       `orm:"size(20);null"`                                         // 仓库id
-	T_date         string    `orm:"size(256);null"`                                        // 业务日期
-	T_submit       string    `orm:"size(256);null"`                                        // 经办人
-	T_remark       string    `orm:"type(text);null"`                                       // 备注
-	T_project      string    `orm:"type(text);null"`                                       // 退库项目
-	T_return_user  string    `orm:"type(text);null"`                                       // 退库人
-	T_batch_number string    `orm:"type(256);null"`                                        // 批次号
-	CreateTime     time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
-	UpdateTime     time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
+	Id                 int       `orm:"column(ID);size(11);auto;pk"`
+	T_number           string    `orm:"size(256);null"`                                        // 入库单号
+	T_type             int       `orm:"size(256);;default(1)"`                                 // 入库类型 1-入库 2-退库
+	T_depot_id         int       `orm:"size(20);null"`                                         // 仓库id
+	T_date             string    `orm:"size(256);null"`                                        // 业务日期
+	T_application_date string    `orm:"size(256);null"`                                        // 申请日期
+	T_submit           string    `orm:"size(256);null"`                                        // 经办人
+	T_remark           string    `orm:"type(text);null"`                                       // 备注
+	T_project          string    `orm:"type(text);null"`                                       // 退库项目
+	T_return_user      string    `orm:"type(256);null"`                                        // 退库人
+	T_batch_number     string    `orm:"type(256);null"`                                        // 批次号
+	T_warehouse        string    `orm:"type(text);null"`                                       // 入库人
+	T_state            int       `orm:"size(2);column(t_state);default(2)"`                    // 0 删除 1待入库 2已入库
+	CreateTime         time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
+	UpdateTime         time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
 }
 
 func (t *StockIn) TableName() string {
@@ -53,8 +65,10 @@ type StockIn_R struct {
 	T_number           string
 	T_type             int
 	T_depot_id         int
+	T_state            int
 	T_depot_name       string
 	T_date             string
+	T_application_date string
 	T_submit           string
 	T_submit_name      string
 	T_remark           string
@@ -69,8 +83,10 @@ type StockIn_Detail struct {
 	T_number           string
 	T_type             int
 	T_depot_id         int
+	T_state            int
 	T_depot_name       string
 	T_date             string
+	T_application_date string
 	T_submit           string
 	T_submit_name      string
 	T_remark           string
@@ -88,12 +104,14 @@ func StockInToStockIn_R(t StockIn) (r StockIn_R) {
 	r.T_depot_id = t.T_depot_id
 	r.T_depot_name = Basic.Read_Depot_Get(t.T_depot_id)
 	r.T_date = t.T_date
+	r.T_application_date = t.T_application_date
 	r.T_submit = t.T_submit
 	r.T_submit_name = Account.Read_User_T_name_Get(t.T_submit)
 	r.T_remark = t.T_remark
 	r.T_project = t.T_project
 	r.T_batch_number = t.T_batch_number
 	r.T_return_user = t.T_return_user
+	r.T_state = t.T_state
 	r.T_return_user_name = Account.Read_User_T_name_Get(t.T_return_user)
 	return r
 }
@@ -103,8 +121,10 @@ func StockInToStockIn_Detail(t StockIn, productList []StockInProduct_R) (r Stock
 	r.T_number = t.T_number
 	r.T_type = t.T_type
 	r.T_depot_id = t.T_depot_id
+	r.T_state = t.T_state
 	r.T_depot_name = Basic.Read_Depot_Get(t.T_depot_id)
 	r.T_date = t.T_date
+	r.T_application_date = t.T_application_date
 	r.T_submit = t.T_submit
 	r.T_submit_name = Account.Read_User_T_name_Get(t.T_submit)
 	r.T_remark = t.T_remark
@@ -167,7 +187,7 @@ func (dao *StockInDaoImpl) Read_StockIn_List(T_batch_number, T_name string, T_de
 
 	// 过滤
 	cond := orm.NewCondition()
-
+	cond = cond.And("T_state", StockInWarehouse)
 	if T_depot_id > 0 {
 		cond = cond.And("T_depot_id", T_depot_id)
 	}
@@ -207,6 +227,63 @@ func (dao *StockInDaoImpl) Read_StockIn_List(T_batch_number, T_name string, T_de
 
 	return r_, cnt
 }
+func (dao *StockInDaoImpl) Read_StockIn_Apply_List(T_type string, T_uuid, T_state, T_name string, T_depot_id int, T_start_date, T_end_date string, page, page_z int) (r_ []StockIn_R, cnt int64) {
+	qs := dao.orm.QueryTable(new(StockIn))
+	var offset int64
+	if page <= 1 {
+		offset = 0
+	} else {
+		offset = int64((page - 1) * page_z)
+	}
+
+	// 过滤
+	cond1 := orm.NewCondition()
+	cond := orm.NewCondition()
+
+	if T_type == StockOutTypeApply {
+		cond = cond.AndCond(cond1.Or("T_return_user", T_uuid).Or("T_submit", T_uuid))
+	}
+
+	if len(T_state) > 0 {
+		cond = cond.And("T_state", T_state)
+	}
+
+	if T_depot_id > 0 {
+		cond = cond.And("T_depot_id", T_depot_id)
+	}
+
+	if len(T_name) > 0 {
+		cond = cond.And("T_number__icontains", T_name)
+	}
+	if len(T_start_date) > 0 {
+		cond = cond.And("T_date__gte", T_start_date)
+	}
+
+	if len(T_end_date) > 0 {
+		cond = cond.And("T_date__lte", T_end_date)
+	}
+
+	// 查询
+	var r []StockIn
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&r)
+
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return
+	}
+
+	cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count()
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return
+	}
+
+	for _, v := range r {
+		r_ = append(r_, StockInToStockIn_R(v))
+	}
+
+	return r_, cnt
+}
 
 // 通过入库编号查询入库产品列表
 func (dao *StockInDaoImpl) Read_StockInProduct_List(T_name, T_start_date, T_end_date string, T_depot_id int,

+ 29 - 3
models/Stock/StockInProduct.go

@@ -3,12 +3,14 @@ package Stock
 import (
 	"ERP_storage/models/Account"
 	"ERP_storage/models/Basic"
-	orm2 "github.com/beego/beego/v2/client/orm"
-	"gogs.baozhida.cn/zoie/ERP_libs/lib"
 	"strconv"
 	"time"
 
+	orm2 "github.com/beego/beego/v2/client/orm"
+	"gogs.baozhida.cn/zoie/ERP_libs/lib"
+
 	"ERP_storage/logs"
+
 	_ "github.com/astaxie/beego/cache/redis"
 	"github.com/beego/beego/v2/adapter/orm"
 	_ "github.com/go-sql-driver/mysql"
@@ -24,6 +26,7 @@ type StockInProduct struct {
 	T_date         string    `orm:"size(256);null"`                                        // 业务日期
 	T_relation_sn  string    `orm:"type(text);null"`                                       // 关联sn,20220101,20230202,
 	T_batch_number string    `orm:"type(text);null"`                                       // 关联sn,20220101,20230202,
+	T_state        int       `orm:"size(2);column(t_state);default(1)"`                    // 1已入库  2待入库
 	CreateTime     time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
 	UpdateTime     time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
 }
@@ -180,9 +183,10 @@ func (dao *StockInProductDaoImpl) Update_StockInProduct(r StockInProduct) error
 	}
 	product.T_depot_id = r.T_depot_id
 	product.T_num = r.T_num
+	product.T_date = r.T_date
 	product.T_relation_sn = r.T_relation_sn
 
-	_, err = dao.orm.Update(&product, "T_depot_id", "T_num", "T_relation_sn")
+	_, err = dao.orm.Update(&product, "T_depot_id", "T_num", "T_date", "T_relation_sn")
 	if err != nil {
 		logs.Error(lib.FuncName(), err)
 		return err
@@ -256,3 +260,25 @@ func (dao *StockInProductDaoImpl) Read_StockIn_Total(T_depot_id, T_product_id in
 	key, _ := strconv.Atoi(pl_lists[0].(string))
 	return key
 }
+
+// 根据库存id、产品id、月份获取本月退库总数量
+func (dao *StockInProductDaoImpl) Read_StockReturn_Total(T_depot_id, T_product_id int, T_date string) int {
+	sql := "SELECT SUM(sip.t_num) FROM stock_in_product sip " +
+		"JOIN stock_in si ON sip.t_number = si.t_number " +
+		"WHERE sip.t_depot_id = " + strconv.Itoa(T_depot_id) +
+		" AND sip.t_product_id = " + strconv.Itoa(T_product_id) +
+		" AND sip.t_date like '" + T_date + "%'" +
+		" AND si.t_type = 2"
+
+	var pl_lists orm2.ParamsList
+	_, err := dao.orm.Raw(sql).ValuesFlat(&pl_lists)
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return 0
+	}
+	if pl_lists[0] == nil {
+		return 0
+	}
+	key, _ := strconv.Atoi(pl_lists[0].(string))
+	return key
+}

+ 18 - 3
models/Stock/StockMonth.go

@@ -2,11 +2,13 @@ package Stock
 
 import (
 	"ERP_storage/models/Basic"
-	"gogs.baozhida.cn/zoie/ERP_libs/lib"
-	orm2 "github.com/beego/beego/v2/client/orm"
 	"time"
 
+	orm2 "github.com/beego/beego/v2/client/orm"
+	"gogs.baozhida.cn/zoie/ERP_libs/lib"
+
 	"ERP_storage/logs"
+
 	_ "github.com/astaxie/beego/cache/redis"
 	"github.com/beego/beego/v2/adapter/orm"
 	_ "github.com/go-sql-driver/mysql"
@@ -23,6 +25,7 @@ type StockMonth struct {
 	T_out           int       `orm:"size(20);null"`                                         // 当月出库
 	T_beginning     int       `orm:"size(20);null"`                                         // 期初库存
 	T_ending        int       `orm:"size(20);null"`                                         // 期末库存
+	T_return        int       `orm:"size(20);null"`                                         // 当月退库
 	T_project       string    `orm:"type(text);null"`                                       // 关联项目
 	CreateTime      time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
 	UpdateTime      time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
@@ -53,6 +56,7 @@ type StockMonth_R struct {
 	T_out       int    // 当月出库
 	T_beginning int    // 期初库存
 	T_ending    int    // 期末库存
+	T_return    int    // 当月退库
 	T_project   string // 关联项目
 
 	// ---------产品信息-----------
@@ -68,10 +72,11 @@ func StockMonthToStockMonth_R(t StockMonth) (r StockMonth_R) {
 	r.T_depot_id = t.T_depot_id
 	r.T_product_id = t.T_product_id
 	r.T_month = t.T_month
-	r.T_in = t.T_in
+	r.T_in = t.T_in - t.T_return
 	r.T_out = t.T_out
 	r.T_beginning = t.T_beginning
 	r.T_ending = t.T_ending
+	r.T_return = t.T_return
 	r.T_project = t.T_project
 
 	r.T_product_id = t.T_product_id
@@ -169,6 +174,16 @@ func (dao *StockMonthDaoImpl) Read_StockMonth_ByT_product_id(T_product_id int) (
 	return
 }
 
+// 读取所有StockMonth记录
+func (dao *StockMonthDaoImpl) Read_All_StockMonth() (r []StockMonth, err error) {
+	qs := dao.orm.QueryTable(new(StockMonth))
+	_, err = qs.All(&r)
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+	}
+	return
+}
+
 // 修改
 func (dao *StockMonthDaoImpl) Update_StockMonth(m StockMonth, cols ...string) error {
 	_, err := dao.orm.Update(&m, cols...)

+ 5 - 2
models/Stock/StockOut.go

@@ -37,7 +37,7 @@ func Get_StockOut_audit_name(T_audt int) string {
 }
 
 const (
-	Delete                     int = iota
+	StockOutDelete             int = iota
 	StockOutWaitAudit              // 待审核
 	StockOutAuditFinancePass       // 财务通过
 	StockOutAuditFinanceUnPass     // 财务驳回
@@ -121,6 +121,8 @@ type StockOut_R struct {
 	T_receive_name             string // 领取人名称
 	T_warehouse                string // 出库人
 	T_warehouse_name           string // 出库人名称
+	T_submit                   string // 经办人
+	T_submit_name              string // 经办人名称
 	T_project                  string // 关联项目
 	T_company_name             string // 公司名称
 	T_remark                   string // 备注
@@ -177,6 +179,7 @@ func StockOutToStockOut_R(t StockOut) (r StockOut_R) {
 	r.T_receive_name = Account.Read_User_T_name_Get(t.T_receive)
 	r.T_warehouse = t.T_warehouse
 	r.T_warehouse_name = Account.Read_User_T_name_Get(t.T_warehouse)
+	r.T_submit_name = Account.Read_User_T_name_Get(t.T_submit)
 	r.T_project = t.T_project
 	r.T_company_name = t.T_company_name
 	r.T_payment_method = t.T_payment_method
@@ -326,7 +329,7 @@ func (dao *StockOutDaoImpl) Read_StockOut_Audit_List(T_uuid, T_name, T_type stri
 	cond := orm.NewCondition()
 
 	if T_type == StockOutTypeApply {
-		cond = cond.And("T_receive", T_uuid)
+		cond = cond.AndCond(cond1.Or("T_receive", T_uuid).Or("T_submit", T_uuid))
 	}
 
 	if T_type == StockOutTypeFinance {

+ 22 - 15
routers/Stock.go

@@ -15,22 +15,29 @@ func init() {
 		beego.NSRouter("/Take_Stock", &controllers.StockController{}, "*:Device_Take_Stock"), // 盘点设备
 	)
 	stock := beego.NewNamespace("/Stock",
-		beego.NSRouter("/List", &controllers.StockController{}, "*:Stock_List"),                 // 库存列表
-		beego.NSRouter("/Edit_Sort", &controllers.StockController{}, "*:Stock_Edit_Sort"),       // 修改排序
-		beego.NSRouter("/Detail_List", &controllers.StockController{}, "*:Stock_Detail_List"),   // 库存明细列表
-		beego.NSRouter("/Detail_Excel", &controllers.StockController{}, "*:Stock_Detail_Excel"), // 导出库存明细列表
+		beego.NSRouter("/List", &controllers.StockController{}, "*:Stock_List"),                              // 库存列表
+		beego.NSRouter("/Edit_Sort", &controllers.StockController{}, "*:Stock_Edit_Sort"),                    // 修改排序
+		beego.NSRouter("/Detail_List", &controllers.StockController{}, "*:Stock_Detail_List"),                // 库存明细列表
+		beego.NSRouter("/Detail_Excel", &controllers.StockController{}, "*:Stock_Detail_Excel"),              // 导出库存明细列表
+		beego.NSRouter("/Month_Update_Return", &controllers.StockController{}, "*:StockMonth_Update_Return"), // 批量更新月度退库数据
 	)
 	stockIn := beego.NewNamespace("/StockIn",
-		beego.NSRouter("/List", &controllers.StockController{}, "*:StockIn_List"),                             // 入库列表
-		beego.NSRouter("/List_Product", &controllers.StockController{}, "*:StockIn_List_Product"),             // 入库列表 - 带产品明细
-		beego.NSRouter("/List_Product_Excel", &controllers.StockController{}, "*:StockIn_List_Product_Excel"), // 入库产品明细excel
-		beego.NSRouter("/Get", &controllers.StockController{}, "*:StockIn_Get"),                               // 入库详情
-		beego.NSRouter("/Add", &controllers.StockController{}, "*:StockIn_Add"),                               // 入库
-		beego.NSRouter("/Edit", &controllers.StockController{}, "*:StockIn_Edit"),                             // 修改入库
-		beego.NSRouter("/Del", &controllers.StockController{}, "*:StockIn_Del"),                               // 删除入库
-		beego.NSRouter("/Excel", &controllers.StockController{}, "*:StockIn_Excel"),                           // 导出入库
-		beego.NSRouter("/Excel_Batch", &controllers.StockController{}, "*:StockIn_Excel_Batch"),               // 批量导出入库
-		beego.NSRouter("/Generate_Number", &controllers.StockController{}, "*:StockIn_generate_number"),       // 批量导出入库
+		beego.NSRouter("/List", &controllers.StockController{}, "*:StockIn_List"),                                 // 入库列表
+		beego.NSRouter("/List_Product", &controllers.StockController{}, "*:StockIn_List_Product"),                 // 入库列表 - 带产品明细
+		beego.NSRouter("/List_Product_Excel", &controllers.StockController{}, "*:StockIn_List_Product_Excel"),     // 入库产品明细excel
+		beego.NSRouter("/Get", &controllers.StockController{}, "*:StockIn_Get"),                                   // 入库详情
+		beego.NSRouter("/Add", &controllers.StockController{}, "*:StockIn_Add"),                                   // 入库
+		beego.NSRouter("/Edit", &controllers.StockController{}, "*:StockIn_Edit"),                                 // 修改入库
+		beego.NSRouter("/Del", &controllers.StockController{}, "*:StockIn_Del"),                                   // 删除入库
+		beego.NSRouter("/Excel", &controllers.StockController{}, "*:StockIn_Excel"),                               // 导出入库
+		beego.NSRouter("/Excel_Batch", &controllers.StockController{}, "*:StockIn_Excel_Batch"),                   // 批量导出入库
+		beego.NSRouter("/Generate_Number", &controllers.StockController{}, "*:StockIn_generate_number"),           // 批量导出入库
+		beego.NSRouter("/Apply_List", &controllers.StockController{}, "*:StockIn_Apply_List"),                     // 入库申请
+		beego.NSRouter("/Apply_Warehouse_List", &controllers.StockController{}, "*:StockIn_Apply_Warehouse_List"), // 入库申请
+		beego.NSRouter("/Apply", &controllers.StockController{}, "*:StockIn_Apply"),                               // 入库申请
+		beego.NSRouter("/Apply_Edit", &controllers.StockController{}, "*:StockIn_Apply_Edit"),                     // 修改入库申请
+		beego.NSRouter("/Apply_Del", &controllers.StockController{}, "*:StockIn_Apply_Del"),                       // 删除入库申请
+		beego.NSRouter("/Warehouse", &controllers.StockController{}, "*:StockIn_Warehouse"),                       // 确认入库
 
 	)
 	stockOut := beego.NewNamespace("/StockOut",
@@ -46,7 +53,7 @@ func init() {
 		beego.NSRouter("/Excel_Batch", &controllers.StockController{}, "*:StockOut_Excel_Batch"),         // 批量导出入库
 		beego.NSRouter("/Apply", &controllers.StockController{}, "*:StockOut_Apply"),                     // 出库申请
 		beego.NSRouter("/Apply_Edit", &controllers.StockController{}, "*:StockOut_Apply_Edit"),           // 修改出库申请
-		beego.NSRouter("/Apply_Del", &controllers.StockController{}, "*:StockOut_Apply_Del"),             // 修改出库申请
+		beego.NSRouter("/Apply_Del", &controllers.StockController{}, "*:StockOut_Apply_Del"),             // 删除出库申请
 		beego.NSRouter("/Apply_List", &controllers.StockController{}, "*:StockOut_Apply_List"),           // 出库申请列表
 		beego.NSRouter("/Finance_List", &controllers.StockController{}, "*:StockOut_Finance_List"),       // 财务审核列表
 		beego.NSRouter("/Manager_List", &controllers.StockController{}, "*:StockOut_Manager_List"),       // 总经理审核列表

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff