|
@@ -5,7 +5,6 @@ import (
|
|
|
"cold-delivery/app/admin/service"
|
|
|
"cold-delivery/app/admin/service/dto"
|
|
|
"cold-delivery/common/actions"
|
|
|
- global2 "cold-delivery/common/global"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/core/logs"
|
|
@@ -15,6 +14,7 @@ import (
|
|
|
"gogs.baozhida.cn/zoie/OAuth-core/api"
|
|
|
"gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/user"
|
|
|
_ "gogs.baozhida.cn/zoie/OAuth-core/pkg/response"
|
|
|
+ "math"
|
|
|
"net/url"
|
|
|
"os"
|
|
|
"time"
|
|
@@ -478,6 +478,40 @@ func (e IceRaftController) IsOutStorage(c *gin.Context) {
|
|
|
e.OK(nil, str)
|
|
|
}
|
|
|
|
|
|
+// BindCoolerBox 冰排绑定保温箱
|
|
|
+// @Summary 冰排绑定保温箱
|
|
|
+// @Description 冰排绑定保温箱
|
|
|
+// @Tags 冰排
|
|
|
+// @Accept application/json
|
|
|
+// @Product application/json
|
|
|
+// @Param data body dto.IceRaftOutStorageReq true "body"
|
|
|
+// @Success 200 {string} string "{"code": 200, "message": "绑定成功"}"
|
|
|
+// @Success 200 {string} string "{"code": -1, "message": "绑定失败"}"
|
|
|
+// @Router /api/bindCoolerBox [post]
|
|
|
+// @Security Bearer
|
|
|
+func (e IceRaftController) BindCoolerBox(c *gin.Context) {
|
|
|
+ s := service.IceRaft{}
|
|
|
+ req := dto.IceRaftOutStorageReq{}
|
|
|
+ err := e.MakeContext(c).
|
|
|
+ MakeOrm().
|
|
|
+ Bind(&req, binding.JSON, nil).
|
|
|
+ MakeService(&s.Service).
|
|
|
+ Errors
|
|
|
+ if err != nil {
|
|
|
+ e.Logger.Error(err)
|
|
|
+ e.Error(500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //数据权限检查
|
|
|
+ p := actions.GetPermissionFromContext(c)
|
|
|
+ err = s.BindCookerBox(&req, p)
|
|
|
+ if err != nil {
|
|
|
+ e.Error(500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ e.OK(nil, "绑定成功")
|
|
|
+}
|
|
|
+
|
|
|
type IceRaftRecordController struct {
|
|
|
api.Api
|
|
|
}
|
|
@@ -739,88 +773,119 @@ func (e IceRaftRecordController) ExportExecl(c *gin.Context) {
|
|
|
return
|
|
|
}
|
|
|
if sysUser.Dept.IsIceReleaseCold {
|
|
|
-
|
|
|
// 这里设置表头ÒÒ
|
|
|
f.SetCellValue("Sheet1", "A1", "序号")
|
|
|
f.SetCellValue("Sheet1", "B1", "冰排编号")
|
|
|
- f.SetCellValue("Sheet1", "C1", "预冷日期")
|
|
|
- f.SetCellValue("Sheet1", "D1", "预冷时间(小时)")
|
|
|
- f.SetCellValue("Sheet1", "E1", "预冷温度")
|
|
|
- f.SetCellValue("Sheet1", "F1", "预冷地点")
|
|
|
- f.SetCellValue("Sheet1", "G1", "操作人员")
|
|
|
- f.SetCellValue("Sheet1", "H1", "使用日期")
|
|
|
- f.SetCellValue("Sheet1", "I1", "使用时间")
|
|
|
- f.SetCellValue("Sheet1", "J1", "操作人员")
|
|
|
- f.SetCellValue("Sheet1", "K1", "备注")
|
|
|
+ f.SetCellValue("Sheet1", "C1", "入库时间")
|
|
|
+ f.SetCellValue("Sheet1", "D1", "出库时间")
|
|
|
+ f.SetCellValue("Sheet1", "E1", "所在位置")
|
|
|
+ f.SetCellValue("Sheet1", "F1", "冷冻要求")
|
|
|
+ f.SetCellValue("Sheet1", "G1", "冷冻时间")
|
|
|
+ f.SetCellValue("Sheet1", "H1", "释冷日期")
|
|
|
+ f.SetCellValue("Sheet1", "I1", "释冷时间(小时)")
|
|
|
+ f.SetCellValue("Sheet1", "J1", "释冷温度")
|
|
|
+ f.SetCellValue("Sheet1", "K1", "释冷地点")
|
|
|
+ f.SetCellValue("Sheet1", "L1", "操作人员")
|
|
|
+ f.SetCellValue("Sheet1", "M1", "使用日期")
|
|
|
+ f.SetCellValue("Sheet1", "N1", "使用时间")
|
|
|
+ f.SetCellValue("Sheet1", "O1", "使用人员")
|
|
|
+ f.SetCellValue("Sheet1", "P1", "备注")
|
|
|
|
|
|
// 设置列宽
|
|
|
f.SetColWidth("Sheet1", "A", "A", 6)
|
|
|
f.SetColWidth("Sheet1", "B", "B", 8)
|
|
|
f.SetColWidth("Sheet1", "C", "C", 14)
|
|
|
f.SetColWidth("Sheet1", "D", "D", 14)
|
|
|
- f.SetColWidth("Sheet1", "E", "E", 30)
|
|
|
+ f.SetColWidth("Sheet1", "E", "E", 15)
|
|
|
f.SetColWidth("Sheet1", "F", "F", 14)
|
|
|
f.SetColWidth("Sheet1", "G", "G", 14)
|
|
|
- f.SetColWidth("Sheet1", "H", "H", 30)
|
|
|
+ f.SetColWidth("Sheet1", "H", "H", 14)
|
|
|
f.SetColWidth("Sheet1", "I", "J", 15)
|
|
|
- f.SetColWidth("Sheet1", "K", "K", 30)
|
|
|
+ f.SetColWidth("Sheet1", "K", "K", 15)
|
|
|
+ f.SetColWidth("Sheet1", "L", "K", 15)
|
|
|
+ f.SetColWidth("Sheet1", "M", "K", 15)
|
|
|
+ f.SetColWidth("Sheet1", "N", "K", 15)
|
|
|
+ f.SetColWidth("Sheet1", "O", "K", 15)
|
|
|
+ f.SetColWidth("Sheet1", "P", "K", 15)
|
|
|
|
|
|
line := 1
|
|
|
|
|
|
// 循环写入数据
|
|
|
for i, v := range list {
|
|
|
line++
|
|
|
- start, _ := time.Parse("2006-01-02 15:04:05", v.IceUseTime.String())
|
|
|
- end, _ := time.Parse("2006-01-02 15:04:05", v.StartIceColdTime.String())
|
|
|
- duration := global2.FormatDuration(start, end)
|
|
|
- parse, _ := time.Parse("2006-01-02 15:04:05", v.UpdatedAt.String())
|
|
|
- formatDuration := global2.FormatDuration(parse, end)
|
|
|
+ start, _ := time.Parse("2006-01-02 15:04:05", v.StartIceColdTime.String())
|
|
|
+ end, _ := time.Parse("2006-01-02 15:04:05", v.EndForColdTime.String())
|
|
|
+
|
|
|
+ IceColdTime := end.Sub(start)
|
|
|
+ ColdTime := fmt.Sprintf("%vh%vm", math.Floor(IceColdTime.Hours()), int(IceColdTime.Minutes())%60)
|
|
|
+
|
|
|
+ Updstart, _ := time.Parse("2006-01-02 15:04:05", v.ReturnDate.String())
|
|
|
+ Useend, _ := time.Parse("2006-01-02 15:04:05", v.IceUseTime.String())
|
|
|
+ sub := Updstart.Sub(Useend)
|
|
|
+ subTime := fmt.Sprintf("%vh%vm", math.Floor(sub.Hours()), int(sub.Minutes())%60)
|
|
|
f.SetCellValue("Sheet1", fmt.Sprintf("A%d", line), i+1)
|
|
|
f.SetCellValue("Sheet1", fmt.Sprintf("B%d", line), v.IceRafts.Code)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("C%d", line), v.StartIceColdTime)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), duration)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), v.SuitableForCold)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), v.IceColdAddress)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), v.IceColdUsers)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), v.IceUseTime)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("I%d", line), formatDuration)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("J%d", line), v.IceUseUsers)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("K%d", line), "")
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("C%d", line), v.InStorageTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), v.OutStorageTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), v.CoolerBox.Name)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), v.FreezeClaim)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), v.FreezeDuration)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), v.StartIceColdTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("I%d", line), ColdTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("J%d", line), v.SuitableForCold)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("K%d", line), v.IceColdAddress)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("L%d", line), v.IceColdUsers)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("M%d", line), v.IceUseTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("N%d", line), subTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("O%d", line), v.IceUseUsers)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("P%d", line), "")
|
|
|
}
|
|
|
} else {
|
|
|
// 这里设置表头ÒÒ
|
|
|
f.SetCellValue("Sheet1", "A1", "序号")
|
|
|
f.SetCellValue("Sheet1", "B1", "冰排编号")
|
|
|
- f.SetCellValue("Sheet1", "C1", "操作人员")
|
|
|
- f.SetCellValue("Sheet1", "D1", "使用日期")
|
|
|
- f.SetCellValue("Sheet1", "E1", "使用时间")
|
|
|
- f.SetCellValue("Sheet1", "F1", "操作人员")
|
|
|
- f.SetCellValue("Sheet1", "G1", "备注")
|
|
|
-
|
|
|
+ f.SetCellValue("Sheet1", "C1", "入库时间")
|
|
|
+ f.SetCellValue("Sheet1", "D1", "出库时间")
|
|
|
+ f.SetCellValue("Sheet1", "E1", "所在位置")
|
|
|
+ f.SetCellValue("Sheet1", "F1", "冷冻要求")
|
|
|
+ f.SetCellValue("Sheet1", "G1", "冷冻时间")
|
|
|
+ f.SetCellValue("Sheet1", "H1", "使用日期")
|
|
|
+ f.SetCellValue("Sheet1", "I1", "使用时间")
|
|
|
+ f.SetCellValue("Sheet1", "J1", "使用人员")
|
|
|
+ f.SetCellValue("Sheet1", "K1", "备注")
|
|
|
// 设置列宽
|
|
|
f.SetColWidth("Sheet1", "A", "A", 6)
|
|
|
f.SetColWidth("Sheet1", "B", "B", 8)
|
|
|
f.SetColWidth("Sheet1", "C", "C", 14)
|
|
|
- f.SetColWidth("Sheet1", "D", "D", 30)
|
|
|
+ f.SetColWidth("Sheet1", "D", "D", 15)
|
|
|
f.SetColWidth("Sheet1", "E", "E", 15)
|
|
|
- f.SetColWidth("Sheet1", "F", "F", 30)
|
|
|
- f.SetColWidth("Sheet1", "G", "G", 30)
|
|
|
+ f.SetColWidth("Sheet1", "F", "F", 15)
|
|
|
+ f.SetColWidth("Sheet1", "G", "G", 15)
|
|
|
+ f.SetColWidth("Sheet1", "H", "H", 15)
|
|
|
+ f.SetColWidth("Sheet1", "I", "I", 15)
|
|
|
+ f.SetColWidth("Sheet1", "J", "J", 15)
|
|
|
+ f.SetColWidth("Sheet1", "K", "K", 15)
|
|
|
|
|
|
line := 1
|
|
|
|
|
|
// 循环写入数据
|
|
|
for i, v := range list {
|
|
|
line++
|
|
|
- start, _ := time.Parse("2006-01-02 15:04:05", v.IceUseTime.String())
|
|
|
- parse, _ := time.Parse("2006-01-02 15:04:05", v.UpdatedAt.String())
|
|
|
- duration := global2.FormatDuration(parse, start)
|
|
|
+ Update, _ := time.Parse("2006-01-02 15:04:05", v.ReturnDate.String())
|
|
|
+ UseTime, _ := time.Parse("2006-01-02 15:04:05", v.IceUseTime.String())
|
|
|
+ sub := Update.Sub(UseTime)
|
|
|
+ subTime := fmt.Sprintf("%vh%vm", math.Floor(sub.Hours()), int(sub.Minutes())%60)
|
|
|
f.SetCellValue("Sheet1", fmt.Sprintf("A%d", line), i+1)
|
|
|
f.SetCellValue("Sheet1", fmt.Sprintf("B%d", line), v.IceRafts.Code)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("C%d", line), v.IceColdUsers)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), v.IceUseTime)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), duration)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), v.IceUseUsers)
|
|
|
- f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), "")
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("C%d", line), v.InStorageTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("D%d", line), v.OutStorageTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("E%d", line), v.CoolerBox.Name)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("F%d", line), v.FreezeClaim)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("G%d", line), v.FreezeDuration)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("H%d", line), v.IceUseTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("I%d", line), subTime)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("J%d", line), v.IceUseUsers)
|
|
|
+ f.SetCellValue("Sheet1", fmt.Sprintf("K%d", line), "")
|
|
|
}
|
|
|
}
|
|
|
|