From a3776853fa6ff1c4a9805615a79852d54f700e3f Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 20 七月 2024 09:21:04 +0800
Subject: [PATCH] 增加库位明细导出功能,曾加物料、单据、库存全局搜索功能
---
zy-asrs-wms/src/main/webapp/views/order/order.html | 5
zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java | 56 ++++++++
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java | 25 +++
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Order.java | 31 +++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java | 37 +++--
zy-asrs-wms/src/main/webapp/views/mat/mat.html | 5
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java | 20 ++
zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js | 110 +++++++++++----
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java | 47 +++++-
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java | 10 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java | 74 ++++++++-
11 files changed, 346 insertions(+), 74 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
index 7a7572a..55bd786 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
@@ -1,7 +1,9 @@
package com.zy.asrs.common.web;
import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.sys.entity.User;
import com.zy.asrs.common.sys.entity.UserLogin;
@@ -125,4 +127,58 @@
return tagService.getTop(getHostId());
}
+ /**
+ * 鍏ㄥ瓧娈垫ā绯婃悳绱�
+ * @param cls 妯″瀷绫�
+ * @param set 鎺掗櫎瀛楁闆嗗悎
+ * @param condition 鎼滅储鍐呭
+ */
+ protected <T> void allLike(Class<T> cls, Set<String> set, QueryWrapper<T> wrapper, String condition){
+ if (Cools.isEmpty(condition)) {
+ return;
+ }
+ final List<String> columns = new ArrayList<>();
+ for (Field field :Cools.getAllFields(cls)){
+ if (Modifier.isFinal(field.getModifiers())
+ || Modifier.isStatic(field.getModifiers())
+ || Modifier.isTransient(field.getModifiers())){
+ continue;
+ }
+ String column = null;
+ if (field.isAnnotationPresent(TableField.class)) {
+ column = field.getAnnotation(TableField.class).value();
+ }
+ if (Cools.isEmpty(column)) {
+ column = field.getName();
+ }
+ if (!set.contains(column)) {
+ columns.add(column);
+ }
+ }
+ if (columns.isEmpty()) {
+ return;
+ }
+
+ wrapper.and( w -> {
+ for (int i=0;i<columns.size();i++){
+ String colums = columns.get(i);
+ if (i==0){
+ w.like(colums, condition);
+ }else {
+ w.or().like(colums, condition);
+ }
+ }
+ });
+
+// for (int i=0;i<columns.size();i++){
+// String colums = columns.get(i);
+// if (i==0){
+// wrapper.and(w -> w.like(colums, condition));
+// } else {
+// wrapper.or(w -> w.like(colums, condition));
+// }
+//// wrapper.like(columns.get(i), condition);
+// }
+ }
+
}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
index a816f62..5ec4d48 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
@@ -3,6 +3,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
import com.zy.asrs.common.utils.Synchro;
import com.zy.asrs.common.wms.service.DocTypeService;
import com.zy.asrs.common.wms.service.LocMastService;
@@ -11,10 +12,6 @@
import java.text.SimpleDateFormat;
import java.util.Date;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -42,6 +39,7 @@
* 搴撲綅鍙�
*/
@ApiModelProperty(value= "搴撲綅鍙�")
+ @TableField("loc_no")
private String locNo;
/**
@@ -72,6 +70,7 @@
private String batch;
@ApiModelProperty(value= "")
+ @TableField("order_no")
private String orderNo;
/**
@@ -117,12 +116,15 @@
private String manu;
@ApiModelProperty(value= "")
+ @TableField("manu_date")
private String manuDate;
@ApiModelProperty(value= "")
+ @TableField("item_num")
private String itemNum;
@ApiModelProperty(value= "")
+ @TableField("safe_qty")
private Double safeQty;
@ApiModelProperty(value= "")
@@ -135,21 +137,26 @@
private Double volume;
@ApiModelProperty(value= "")
+ @TableField("three_code")
private String threeCode;
@ApiModelProperty(value= "")
private String supp;
@ApiModelProperty(value= "")
+ @TableField("supp_code")
private String suppCode;
@ApiModelProperty(value= "")
+ @TableField("be_batch")
private Integer beBatch;
@ApiModelProperty(value= "")
+ @TableField("dead_time")
private String deadTime;
@ApiModelProperty(value= "")
+ @TableField("dead_warn")
private Integer deadWarn;
@ApiModelProperty(value= "")
@@ -165,6 +172,7 @@
* 淇敼浜哄憳
*/
@ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("modi_user")
private Long modiUser;
/**
@@ -172,12 +180,14 @@
*/
@ApiModelProperty(value= "淇敼鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("modi_time")
private Date modiTime;
/**
* 鍒涘缓鑰�
*/
@ApiModelProperty(value= "鍒涘缓鑰�")
+ @TableField("appe_user")
private Long appeUser;
/**
@@ -185,6 +195,7 @@
*/
@ApiModelProperty(value= "娣诲姞鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("appe_time")
private Date appeTime;
/**
@@ -197,6 +208,7 @@
* 鎺堟潈鍟嗘埛
*/
@ApiModelProperty(value= "鎺堟潈鍟嗘埛")
+ @TableField("host_id")
private Long hostId;
@ApiModelProperty(value= "璐т富")
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java
index 4612333..afd169f 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Mat.java
@@ -4,6 +4,7 @@
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.zy.asrs.common.wms.service.TagService;
import org.springframework.format.annotation.DateTimeFormat;
@@ -42,6 +43,7 @@
* 鎵�灞炲綊绫�
*/
@ApiModelProperty(value= "鎵�灞炲綊绫�")
+ @TableField("tag_id")
private Long tagId;
/**
@@ -132,12 +134,14 @@
* 鐢熶骇鏃ユ湡
*/
@ApiModelProperty(value= "鐢熶骇鏃ユ湡")
+ @TableField("manu_date")
private String manuDate;
/**
* 鍝侀」鏁�
*/
@ApiModelProperty(value= "鍝侀」鏁�")
+ @TableField("item_num")
private String itemNum;
/**
@@ -162,6 +166,7 @@
* 涓夋柟缂栫爜
*/
@ApiModelProperty(value= "涓夋柟缂栫爜")
+ @TableField("three_code")
private String threeCode;
/**
@@ -174,12 +179,14 @@
* 渚涘簲鍟嗙紪鐮�
*/
@ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�")
+ @TableField("supp_code")
private String suppCode;
/**
* 淇濊川鏈�
*/
@ApiModelProperty(value= "淇濊川鏈�")
+ @TableField("dead_time")
private String deadTime;
/**
@@ -192,6 +199,7 @@
* 娣诲姞浜哄憳
*/
@ApiModelProperty(value= "娣诲姞浜哄憳")
+ @TableField("create_by")
private Long createBy;
/**
@@ -199,12 +207,14 @@
*/
@ApiModelProperty(value= "娣诲姞鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("create_time")
private Date createTime;
/**
* 淇敼浜哄憳
*/
@ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("update_by")
private Long updateBy;
/**
@@ -212,6 +222,7 @@
*/
@ApiModelProperty(value= "淇敼鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("update_time")
private Date updateTime;
/**
@@ -224,19 +235,24 @@
* 浠撳簱ID
*/
@ApiModelProperty(value= "浠撳簱ID")
+ @TableField("host_id")
private Long hostId;
//蹇靛垵浣跨敤浠ヤ笅棰濆瀛楁
//涓昏浠撳簱
+ @TableField("main_host")
private String mainHost;
//涓昏鏉ユ簮
+ @TableField("main_source")
private String mainSource;
//寰幆鐩樼偣鐮�
+ @TableField("cycle_pick_code")
private String cyclePickCode;
//瀛樻斁浣嶇疆
+ @TableField("location_stock")
private String locationStock;
//鏉愯川
@@ -246,24 +262,30 @@
private String decrees;
//鍥惧彿
+ @TableField("img_num")
private String imgNum;
//閲囪喘鍗曚綅
+ @TableField("purchasing_units")
private String purchasingUnits;
//宸ヨ壓缂栧彿
+ @TableField("process_number")
private String processNumber;
//鎸囧畾bom
private String bom;
//瀹夊叏瀛橀噺
+ @TableField("safe_num")
private String safeNum;
//鏈�浣庤ˉ閲�
+ @TableField("mini_count")
private String miniCount;
//琛ヨ揣鍊嶉噺
+ @TableField("replenishment_num")
private String replenishmentNum;
//鑷畾涔�1
@@ -276,6 +298,7 @@
private String tmp3;
//鎸夐渶姹傝ˉ璐�
+ @TableField("replenishment_num")
private String restockDemand;
//澶辨晥
@@ -291,12 +314,14 @@
private String height;
//浼氳鍒嗙被
+ @TableField("accounting_class")
private String accountingClass;
//鎵瑰彿绠$悊
private String batch;
//瀛樿揣鏍哥畻
+ @TableField("inventory_account")
private String inventoryAccount;
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Order.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Order.java
index 64e74b7..ed97eeb 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Order.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/Order.java
@@ -3,6 +3,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
+import com.baomidou.mybatisplus.annotation.*;
import com.zy.asrs.common.wms.service.CstmrService;
import com.zy.asrs.common.wms.service.DocTypeService;
import com.zy.asrs.common.wms.service.ItemService;
@@ -15,10 +16,6 @@
import java.text.SimpleDateFormat;
import java.util.Date;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -53,40 +50,47 @@
/**
* 璁㈠崟缂栧彿
*/
+ @TableField("order_no")
@ApiModelProperty(value= "璁㈠崟缂栧彿")
private String orderNo;
/**
* 鍗曟嵁鏃ユ湡
*/
+ @TableField("order_time")
@ApiModelProperty(value= "鍗曟嵁鏃ユ湡")
private String orderTime;
/**
* 鍗曟嵁绫诲瀷
*/
+ @TableField("doc_type")
@ApiModelProperty(value= "鍗曟嵁绫诲瀷")
private Long docType;
/**
* 椤圭洰缂栧彿
*/
+ @TableField("item_id")
@ApiModelProperty(value= "椤圭洰缂栧彿")
private Long itemId;
@ApiModelProperty(value= "")
+ @TableField("item_name")
private String itemName;
/**
* 璋冩嫧椤圭洰缂栧彿
*/
@ApiModelProperty(value= "璋冩嫧椤圭洰缂栧彿")
+ @TableField("allot_item_id")
private Long allotItemId;
/**
* 鍒濆绁ㄦ嵁鍙�
*/
@ApiModelProperty(value= "鍒濆绁ㄦ嵁鍙�")
+ @TableField("def_number")
private String defNumber;
/**
@@ -105,6 +109,7 @@
* 瀹㈡埛
*/
@ApiModelProperty(value= "瀹㈡埛")
+ @TableField("cstmr_name")
private String cstmrName;
/**
@@ -117,12 +122,14 @@
* 鎿嶄綔浜哄憳
*/
@ApiModelProperty(value= "鎿嶄綔浜哄憳")
+ @TableField("oper_memb")
private String operMemb;
/**
* 鍚堣閲戦
*/
@ApiModelProperty(value= "鍚堣閲戦")
+ @TableField("total_fee")
private Double totalFee;
/**
@@ -135,24 +142,28 @@
* 浼樻儬閲戦
*/
@ApiModelProperty(value= "浼樻儬閲戦")
+ @TableField("discount_fee")
private Double discountFee;
/**
* 閿�鍞垨閲囪喘璐圭敤鍚堣
*/
@ApiModelProperty(value= "閿�鍞垨閲囪喘璐圭敤鍚堣")
+ @TableField("other_fee")
private Double otherFee;
/**
* 瀹炰粯閲戦
*/
@ApiModelProperty(value= "瀹炰粯閲戦")
+ @TableField("act_fee")
private Double actFee;
/**
* 浠樻绫诲瀷 1: 鐜伴噾 2: 璁拌处
*/
@ApiModelProperty(value= "浠樻绫诲瀷 1: 鐜伴噾 2: 璁拌处 ")
+ @TableField("pay_type")
private Integer payType;
/**
@@ -165,18 +176,21 @@
* 缁撶畻澶╂暟
*/
@ApiModelProperty(value= "缁撶畻澶╂暟")
+ @TableField("account_day")
private Integer accountDay;
/**
* 閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯 2: 璐у埌浠樻
*/
@ApiModelProperty(value= "閭垂鏀粯绫诲瀷 1: 鍦ㄧ嚎鏀粯 2: 璐у埌浠樻 ")
+ @TableField("post_fee_type")
private Integer postFeeType;
/**
* 閭垂
*/
@ApiModelProperty(value= "閭垂")
+ @TableField("post_fee")
private Double postFee;
/**
@@ -184,6 +198,7 @@
*/
@ApiModelProperty(value= "浠樻鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("pay_time")
private Date payTime;
/**
@@ -191,18 +206,21 @@
*/
@ApiModelProperty(value= "鍙戣揣鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("send_time")
private Date sendTime;
/**
* 鐗╂祦鍚嶇О
*/
@ApiModelProperty(value= "鐗╂祦鍚嶇О")
+ @TableField("ship_name")
private String shipName;
/**
* 鐗╂祦鍗曞彿
*/
@ApiModelProperty(value= "鐗╂祦鍗曞彿")
+ @TableField("ship_code")
private String shipCode;
/**
@@ -221,6 +239,7 @@
* 娣诲姞浜哄憳
*/
@ApiModelProperty(value= "娣诲姞浜哄憳")
+ @TableField("create_by")
private Long createBy;
/**
@@ -228,12 +247,14 @@
*/
@ApiModelProperty(value= "娣诲姞鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("create_time")
private Date createTime;
/**
* 淇敼浜哄憳
*/
@ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("update_by")
private Long updateBy;
/**
@@ -241,6 +262,7 @@
*/
@ApiModelProperty(value= "淇敼鏃堕棿")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @TableField("update_time")
private Date updateTime;
/**
@@ -253,6 +275,7 @@
* 鎺堟潈鍟嗘埛
*/
@ApiModelProperty(value= "鎺堟潈鍟嗘埛")
+ @TableField("host_id")
private Long hostId;
public Order() {}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
index 9d68acd..bdd232c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -10,6 +10,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.wms.entity.LocDetl;
import com.zy.asrs.common.wms.entity.Mat;
+import com.zy.asrs.common.wms.entity.Order;
import com.zy.asrs.common.wms.service.LocDetlService;
import com.zy.asrs.common.wms.service.MatService;
import com.zy.asrs.framework.annotations.ManagerAuth;
@@ -61,10 +62,54 @@
return R.ok(detls);
}
- @RequestMapping(value = "/locDetl/{id}/auth")
- @ManagerAuth
- public R get(@PathVariable("id") String id) {
- return R.ok(locDetlService.getById(String.valueOf(id)));
+// @RequestMapping(value = "/locDetl/{id}/auth")
+// @ManagerAuth
+// public R get(@PathVariable("id") String id) {
+//
+// return R.ok(locDetlService.getById(String.valueOf(id)));
+// }
+
+ @RequestMapping(value = "/locDetl/export/auth")
+ @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+ public synchronized R export(@RequestBody JSONObject param){
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
+ Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl"));
+ String row = "";
+ if (map.get("row") != null) {
+ String chooseRow = (String) map.get("row");
+ if (chooseRow.length() == 1) {
+ row = "0" + chooseRow;
+ map.remove("row");
+ }else {
+ row = chooseRow;
+ map.remove("row");
+ }
+ }
+ convert(map, wrapper);
+// if (!row.equals("")){
+// wrapper.and()
+// .where("loc_no like '" +row +"%'");
+// }
+ List<LocDetl> list = locDetlService.list(wrapper);
+ return R.ok(exportSupport(list, fields));
+ }
+
+ private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
+ for (Map.Entry<String, Object> entry : map.entrySet()){
+ String val = String.valueOf(entry.getValue());
+ if (val.contains(RANGE_TIME_LINK)){
+ String[] dates = val.split(RANGE_TIME_LINK);
+ wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+ wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+ } else {
+ if (entry.getKey().equals("locNo")) {
+ wrapper.eq("loc_no", String.valueOf(entry.getValue()));
+ } else {
+ wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+ }
+ }
+ }
}
@RequestMapping(value = "/locDetl/page/auth")
@@ -74,19 +119,24 @@
@RequestParam(required = false) String condition,
@RequestParam(required = false) String timeRange,
@RequestParam Map<String, Object> param) {
- LambdaQueryWrapper<LocDetl> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(LocDetl::getHostId, getHostId());
- if (!Cools.isEmpty(condition)) {
- wrapper.like(LocDetl::getLocNo, condition);
- }
+ QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
+ wrapper.eq("host_id", getHostId());
+// if (!Cools.isEmpty(condition)) {
+// wrapper.like(LocDetl::getLocNo, condition);
+// }
if (!Cools.isEmpty(timeRange)) {
String[] range = timeRange.split(RANGE_TIME_LINK);
- wrapper.ge(LocDetl::getAppeTime, DateUtils.convert(range[0]));
- wrapper.le(LocDetl::getAppeTime, DateUtils.convert(range[1]));
+ wrapper.ge("appe_time", DateUtils.convert(range[0]));
+ wrapper.le("appe_time", DateUtils.convert(range[1]));
}
if (!Cools.isEmpty(param.get("locNo"))) {
- wrapper.eq(LocDetl::getLocNo, param.get("locNo"));
+ wrapper.eq("loc_no", param.get("locNo"));
}
+ param.remove("locNo");
+ param.remove("owner");
+ param.remove("zpallet");
+ param.remove("matnr");
+ allLike(LocDetl.class, param.keySet(), wrapper, condition);
return R.ok(locDetlService.page(new Page<>(curr, limit), wrapper));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
index 22c3cef..4718c8e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.utils.TreeUtils;
import com.zy.asrs.common.wms.entity.Mat;
@@ -52,15 +53,16 @@
@RequestParam(required = false) String condition,
@RequestParam(required = false) String timeRange,
@RequestParam Map<String, Object> param) {
- LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Mat::getHostId, getHostId());
- if (!Cools.isEmpty(condition)) {
- wrapper.like(Mat::getId, condition);
- }
+ QueryWrapper<Mat> wrapper = new QueryWrapper<>();
+// convert(param, wrapper);
+ wrapper.eq("host_id", getHostId());
+// if (!Cools.isEmpty(condition)) {
+// wrapper.like(Mat::getId, condition);
+// }
if (!Cools.isEmpty(timeRange)) {
String[] range = timeRange.split(RANGE_TIME_LINK);
- wrapper.ge(Mat::getCreateTime, DateUtils.convert(range[0]));
- wrapper.le(Mat::getCreateTime, DateUtils.convert(range[1]));
+ wrapper.ge("create_time", DateUtils.convert(range[0]));
+ wrapper.le("create_time", DateUtils.convert(range[1]));
}
Object tagId = param.get("tag_id");
ArrayList<Long> nodes = new ArrayList<>();
@@ -68,20 +70,45 @@
tagId = getOriginTag().getId();
}
treeUtils.getTagIdList(Long.parseLong(tagId.toString()), nodes);
- wrapper.in(Mat::getTagId, nodes);
+ wrapper.in("tag_id", nodes);
if (!Cools.isEmpty(param.get("matnr"))) {
- wrapper.eq(Mat::getMatnr, param.get("matnr"));
+ wrapper.eq("matnr", param.get("matnr"));
}
if (!Cools.isEmpty(param.get("maktx"))) {
- wrapper.eq(Mat::getMaktx, param.get("maktx"));
+ wrapper.eq("maktx", param.get("maktx"));
}
+ param.remove("matnr");
+ param.remove("maktx");
+ allLike(Mat.class, param.keySet(), wrapper, condition);
return R.ok(matService.page(new Page<>(curr, limit), wrapper));
}
+
+
+// private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
+// for (Map.Entry<String, Object> entry : map.entrySet()){
+// String val = String.valueOf(entry.getValue());
+// if (val.contains(RANGE_TIME_LINK)){
+// String[] dates = val.split(RANGE_TIME_LINK);
+// wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+// wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+// } else {
+// if (entry.getKey().equals("locNo")) {
+// wrapper.eq("loc_no", String.valueOf(entry.getValue()));
+// } else {
+// wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+// }
+// }
+// }
+// }
@RequestMapping(value = "/mat/add/auth")
@ManagerAuth
public R add(Mat mat) {
+ int count = matService.count(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, mat.getMatnr()));
+ if(count > 0){
+ return R.error("褰撳墠鐗╂枡鍙峰凡瀛樺湪");
+ }
mat.setHostId(getHostId());
matService.save(mat);
return R.ok();
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
index c6e0a66..4dc57fa 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -3,6 +3,8 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.Query;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.common.domain.dto.DetlDto;
import com.zy.asrs.common.domain.dto.WrkTraceVo;
@@ -21,6 +23,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
@@ -88,16 +91,17 @@
@RequestParam(required = false) String condition,
@RequestParam(required = false) String timeRange,
@RequestParam Map<String, Object> param) {
- LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Order::getHostId, getHostId());
+ QueryWrapper<Order> wrapper = new QueryWrapper<>();
+ wrapper.eq("host_id", getHostId());
if (!Cools.isEmpty(condition)) {
- wrapper.like(Order::getId, condition);
+ wrapper.like("id", condition);
}
if (!Cools.isEmpty(timeRange)) {
String[] range = timeRange.split(RANGE_TIME_LINK);
- wrapper.ge(Order::getCreateTime, DateUtils.convert(range[0]));
- wrapper.le(Order::getCreateTime, DateUtils.convert(range[1]));
+ wrapper.ge("create_time", DateUtils.convert(range[0]));
+ wrapper.le("create_time", DateUtils.convert(range[1]));
}
+ allLike(Order.class, param.keySet(), wrapper, condition);
return R.ok(orderService.page(new Page<>(curr, limit), wrapper));
}
@@ -105,32 +109,37 @@
@ManagerAuth
public R head(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false) String condition,
@RequestParam(required = false)String orderByField,
@RequestParam(required = false)String orderByType,
@RequestParam Map<String, Object> param) throws UnsupportedEncodingException {
- LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
+ condition = condition.trim();
+ QueryWrapper<Order> wrapper = new QueryWrapper<>();
excludeTrash(param);
- wrapper.eq(Order::getStatus, 1);
- wrapper.eq(Order::getHostId, getHostId());
+ wrapper.eq("status", 1);
+ wrapper.eq("host_id", getHostId());
if (!Cools.isEmpty(param.get("order_no"))) {
- wrapper.eq(Order::getOrderNo, param.get("order_no"));
+ wrapper.eq("order_no", param.get("order_no"));
}
if (!Cools.isEmpty(param.get("create_time"))) {
String[] range = param.get("create_time").toString().split(RANGE_TIME_LINK);
- wrapper.ge(Order::getCreateTime, DateUtils.convert(range[0]));
- wrapper.le(Order::getCreateTime, DateUtils.convert(range[1]));
+ wrapper.ge("create_time", DateUtils.convert(range[0]));
+ wrapper.le("create_time", DateUtils.convert(range[1]));
}
if (!Cools.isEmpty(param.get("doc_type"))) {
- wrapper.eq(Order::getDocType, param.get("doc_type"));
+ wrapper.eq("doc_type", param.get("doc_type"));
}
if (!Cools.isEmpty(param.get("docName"))) {
String docName = URLDecoder.decode(param.get("docName").toString(), "UTF-8");
DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocName, docName));
- wrapper.eq(Order::getDocType, docType.getDocId());
+ wrapper.eq("doc_type", docType.getDocId());
}
if (!Cools.isEmpty(param.get("settle"))) {
- wrapper.eq(Order::getSettle, param.get("settle"));
+ wrapper.eq("settle", param.get("settle"));
}
+
+ param.remove("order_no");
+ allLike(Order.class, param.keySet(), wrapper, condition);
return R.ok(orderService.page(new Page<>(curr, limit), wrapper));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java
index 6c7e965..d1fbe84 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TagController.java
@@ -222,6 +222,16 @@
.doWrite(excels);
}
+// // excel瀵煎叆-------鍒ゆ柇鏄惁鏈夐噸澶嶇墿鏂�
+// @PostMapping(value = "/mat/excel/import/check/auth")
+// @ManagerAuth(memo = "鍟嗗搧妗f鏁版嵁瀵煎叆")
+// @Transactional
+// public R matExcelImportCheck(MultipartFile file) throws IOException {
+// MatExcelListener listener = new MatExcelListener(getUserId(), getHostId());
+// EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
+// return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+// }
+
// excel瀵煎叆
@PostMapping(value = "/mat/excel/import/auth")
@ManagerAuth(memo = "鍟嗗搧妗f鏁版嵁瀵煎叆")
diff --git a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
index 10f707c..795dbad 100644
--- a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
@@ -193,48 +193,98 @@
exportData[this.name] = this.value;
});
var param = {
- 'wrkDetlLog': exportData,
+ 'locDetl': exportData,
'fields': fields
};
-
- layer.load('Loading...', {
- shade: [0.1,'#fff']
- });
+ var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false});
$.ajax({
- url: baseUrl + "/locDetl/export/auth",
+ url: baseUrl+"/locDetl/export/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(param),
+ dataType:'json',
contentType:'application/json;charset=UTF-8',
method: 'POST',
- xhrFields: {
- responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁
- },
success: function (res) {
- // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
- const url = window.URL.createObjectURL(res);
- // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
- const a = document.createElement("a");
- a.style.display = "none";
- a.href = url;
- a.download = "export.xlsx"; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
- document.body.appendChild(a);
-
- // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
- a.click();
-
- // 娓呯悊涓存椂璧勬簮
- setTimeout(function () {
- window.URL.revokeObjectURL(url);
- document.body.removeChild(a);
- layer.closeAll();
- }, 100);
- },
- fail: function (){
- layer.msg('瀵煎嚭澶辫触', {icon: 2})
+ layer.close(loadIndex);
layer.closeAll();
+ if (res.code === 200) {
+ res.data.forEach((item,index) => {
+ if (item[0] != null) {
+ item[0] = "'" + item[0];
+ }
+ if (item[1] != null) {
+ item[1] = "'" + item[1];
+ }
+ if (item[2] != null) {
+ item[2] = "'" + item[2];
+ }
+ })
+ table.exportFile(titles,res.data,'xls');
+ } else if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg)
+ }
}
});
});
+ // debugger;
+ // layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ // var titles=[];
+ // var fields=[];
+ // obj.config.cols[0].map(function (col) {
+ // if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ // titles.push(col.title);
+ // fields.push(col.field);
+ // }
+ // });
+ // var exportData = {};
+ // $.each($('#search-box [name]').serializeArray(), function() {
+ // exportData[this.name] = this.value;
+ // });
+ // var param = {
+ // 'wrkDetlLog': exportData,
+ // 'fields': fields
+ // };
+ //
+ // layer.load('Loading...', {
+ // shade: [0.1,'#fff']
+ // });
+ // $.ajax({
+ // url: baseUrl + "/locDetl/export/auth",
+ // headers: {'token': localStorage.getItem('token')},
+ // data: JSON.stringify(param),
+ // contentType:'application/json;charset=UTF-8',
+ // method: 'POST',
+ // xhrFields: {
+ // responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁
+ // },
+ // success: function (res) {
+ // // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
+ // const url = window.URL.createObjectURL(res);
+ // // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
+ // const a = document.createElement("a");
+ // a.style.display = "none";
+ // a.href = url;
+ // a.download = "export.xlsx"; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
+ // document.body.appendChild(a);
+ //
+ // // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
+ // a.click();
+ //
+ // // 娓呯悊涓存椂璧勬簮
+ // setTimeout(function () {
+ // window.URL.revokeObjectURL(url);
+ // document.body.removeChild(a);
+ // layer.closeAll();
+ // }, 100);
+ // },
+ // fail: function (){
+ // layer.msg('瀵煎嚭澶辫触', {icon: 2})
+ // layer.closeAll();
+ // }
+ // });
+ // });
break;
}
});
diff --git a/zy-asrs-wms/src/main/webapp/views/mat/mat.html b/zy-asrs-wms/src/main/webapp/views/mat/mat.html
index 2e0a1ce..7345b5e 100644
--- a/zy-asrs-wms/src/main/webapp/views/mat/mat.html
+++ b/zy-asrs-wms/src/main/webapp/views/mat/mat.html
@@ -105,6 +105,11 @@
<input name="maktx" class="layui-input" placeholder="杈撳叆鍟嗗搧鍚嶇О"/>
</div>
</div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
<div class="layui-inline"> 
<button class="layui-btn icon-btn" lay-filter="search" lay-submit>
<i class="layui-icon"></i>鎼滅储
diff --git a/zy-asrs-wms/src/main/webapp/views/order/order.html b/zy-asrs-wms/src/main/webapp/views/order/order.html
index 3cb4f04..a1b75d1 100644
--- a/zy-asrs-wms/src/main/webapp/views/order/order.html
+++ b/zy-asrs-wms/src/main/webapp/views/order/order.html
@@ -54,6 +54,11 @@
<input name="order_no" class="layui-input" type="text" placeholder="杈撳叆鍗曟嵁缂栧彿"/>
</div>
</div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ </div>
+ </div>
<div class="layui-inline" style="width: 300px">
<div class="layui-input-inline">
<input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
--
Gitblit v1.9.1