|
|
@@ -16,9 +16,7 @@ func Export(w http.ResponseWriter,req *http.Request) {
|
|
|
e := decoder.Decode(¶ms)
|
|
|
if e != nil{
|
|
|
utilities.WriteLog("/api/controller/controller.go:18 参数解析失败!","ERROR")
|
|
|
- return
|
|
|
}
|
|
|
-
|
|
|
file := excel.CreateFile(selectCreateFormat(params))
|
|
|
if errorMsg.GetMsg() != "" {
|
|
|
w.Header().Set("Msg",errorMsg.GetMsg())
|
|
|
@@ -26,7 +24,7 @@ func Export(w http.ResponseWriter,req *http.Request) {
|
|
|
return
|
|
|
}
|
|
|
if _, err := file.WriteTo(w); err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:28 返回二进制流失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:27 返回二进制流失败!","ERROR")
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -52,7 +50,7 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
|
|
|
var val base
|
|
|
err := json.Unmarshal([]byte(params["data"]),&val)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:44 JSON解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:53 JSON解析失败!","ERROR")
|
|
|
}
|
|
|
row = val.ROW
|
|
|
list = val.LIST
|
|
|
@@ -99,7 +97,7 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
|
|
|
}else{
|
|
|
err := json.Unmarshal([]byte(params["data"]), &data)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:91 库存数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:100 库存数据json解析失败!","ERROR")
|
|
|
}
|
|
|
}
|
|
|
row, list = InventoryFormat(data, true)
|
|
|
@@ -109,13 +107,10 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
|
|
|
}else{
|
|
|
err := json.Unmarshal([]byte(params["data"]), &data)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:101 全部库存数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:110 全部库存数据json解析失败!","ERROR")
|
|
|
}
|
|
|
}
|
|
|
row, list = InventoryFormat(data, false)
|
|
|
- case "inventoryDailyLog":
|
|
|
- data = orm.GetMysqlData(params["sql"])
|
|
|
- row, list = InventoryDailyLogFormat(data)
|
|
|
case "process":
|
|
|
data = orm.GetMysqlData(params["sql"])
|
|
|
row, list, mergeRow = ProcessFormat(data)
|
|
|
@@ -128,14 +123,14 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
|
|
|
case "laborReport":
|
|
|
err := json.Unmarshal([]byte(params["data"]), &data)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:120 临时工报表数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:126 临时工报表数据json解析失败!","ERROR")
|
|
|
}
|
|
|
row, list = LaborReportFormat(data)
|
|
|
case "orderIssue":
|
|
|
sqlList := make(map[string]string)
|
|
|
err := json.Unmarshal([]byte(params["sqlList"]), &sqlList)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:129 订单问题件数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:133 订单问题件数据json解析失败!","ERROR")
|
|
|
}
|
|
|
if sqlList["orderPackageSql"] == "" || sqlList["secondOrderPackageSql"] == "" || sqlList["orderIssueSql"] == "" || sqlList["rejectedBillItemSql"] == "" || sqlList["logSql"] == ""{
|
|
|
return
|
|
|
@@ -191,18 +186,68 @@ func selectModule(params map[string]string) (row []interface{}, list [][]interfa
|
|
|
request := paramList{}
|
|
|
err := json.Unmarshal([]byte(params["data"]), &request)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:183 称重统计数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:189 称重统计数据json解析失败!","ERROR")
|
|
|
}
|
|
|
row, list = PackageStatisticFormat(request.ROW, request.LIST)
|
|
|
case "inventoryAccountMission":
|
|
|
err := json.Unmarshal([]byte(params["data"]), &data)
|
|
|
if err != nil {
|
|
|
- utilities.WriteLog("/api/controller/controller.go:189 库存盘点数据json解析失败!","ERROR")
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:195 库存盘点数据json解析失败!","ERROR")
|
|
|
}
|
|
|
row, list = InventoryAccountMissionFormat(data)
|
|
|
case "inventoryCompare":
|
|
|
data = orm.GetMysqlData(params["sql"])
|
|
|
row, list = InventoryCompareFormat(data)
|
|
|
+ case "unify":
|
|
|
+ var column []string
|
|
|
+ var rule map[string]string
|
|
|
+ err := json.Unmarshal([]byte(params["row"]), &row)
|
|
|
+ if err != nil {
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:206 参数传递错误!","ERROR")
|
|
|
+ }
|
|
|
+ err = json.Unmarshal([]byte(params["column"]), &column)
|
|
|
+ if err != nil {
|
|
|
+ utilities.WriteLog("/api/controller/controller.go:210 参数传递错误!","ERROR")
|
|
|
+ }
|
|
|
+ err = json.Unmarshal([]byte(params["rule"]), &rule)
|
|
|
+ if params["connection"] == "oracle" {
|
|
|
+ data = orm.GetOracleData(params["sql"])
|
|
|
+ }else{
|
|
|
+ data = orm.GetMysqlData(params["sql"])
|
|
|
+ }
|
|
|
+ list = unifyFormat(data, column, rule)
|
|
|
}
|
|
|
return row,list,mergeRow,mergeColumn
|
|
|
}
|
|
|
+
|
|
|
+func unifyFormat(data []map[string]string, row []string, rule map[string]string) [][]interface{}{
|
|
|
+ rowLen := len(row)
|
|
|
+ column := make(map[string]int,rowLen)
|
|
|
+ for i,c := range row {
|
|
|
+ column[c] = i
|
|
|
+ }
|
|
|
+
|
|
|
+ list := make([][]interface{},len(data))
|
|
|
+ for k,v := range data{
|
|
|
+ line := make([]interface{},rowLen)
|
|
|
+ for key,value := range column {
|
|
|
+ if rule[key] != ""{
|
|
|
+ line[value] = dataFormat(rule[key], v[key])
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ line[value] = v[key]
|
|
|
+ }
|
|
|
+ list[k] = line
|
|
|
+ }
|
|
|
+ return list
|
|
|
+}
|
|
|
+
|
|
|
+func dataFormat(ruleType string,value string)string{
|
|
|
+ switch ruleType {
|
|
|
+ case "oracleDate":
|
|
|
+ value = utilities.DateFormat(value, "2006-01-02T15:04:05+08:00")
|
|
|
+ case "mysqlDate":
|
|
|
+ value = utilities.DateFormat(value,"2006-01-02T15:04:05Z")
|
|
|
+ }
|
|
|
+ return value
|
|
|
+}
|