From e0b7b9effa5b69fbcc71362abd9cf500b2b99f45 Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 06 一月 2025 18:39:38 +0800
Subject: [PATCH] 客户资料 巡检任务业务
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 88 ++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwMaterialMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStocktaking.java | 4
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWarehouseMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWarehouse.java | 12
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWarehouseController.java | 48 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java | 347 +++++++++++++--
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundRecordServiceImpl.java | 140 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWarehouseService.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinbound.java | 31 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStockMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStocktakingMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundService.java | 2
server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java | 30 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwStockServiceImpl.java | 74 +-
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinboundRecord.java | 138 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundRecordService.java | 97 ++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundRecordMapper.java | 13
server/db/business.yw_outinbound_record.permissions.sql | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWarehouseServiceImpl.java | 192 ++++++--
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java | 32 +
24 files changed, 1,089 insertions(+), 187 deletions(-)
diff --git a/server/db/business.yw_outinbound_record.permissions.sql b/server/db/business.yw_outinbound_record.permissions.sql
new file mode 100644
index 0000000..e26032d
--- /dev/null
+++ b/server/db/business.yw_outinbound_record.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywoutinboundrecord:create', '鏂板缓杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywoutinboundrecord:delete', '鍒犻櫎杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywoutinboundrecord:update', '淇敼杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywoutinboundrecord:query', '鏌ヨ杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:ywoutinboundrecord:exportExcel', '瀵煎嚭杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 50b0d9d..e6d936f 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -514,6 +514,9 @@
public static final long EXPIRE_TIME = 7200;
public static final String INTERNAL_TOKEN ="INTERNAL_TOKEN";
+ public static final String COM_OUTBOUND_OUT_KEY = "obout_";
+ public static final String COM_OUTBOUND_IN_KEY = "obin_";
+ public static final String COM_OUTBOUND_TAKING_KEY = "obtaking_";
public static final String GOODSORDER_KEY = "ordercode_";
public static final String ACTIVITY_SIGN_KEY = "actcode_";
@@ -641,6 +644,91 @@
int otherUnPass = 6;//浠栦汉鎷掔粷
}
+
+
+ //绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2搴撳瓨璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱
+ public enum ywOutInType{
+ BUY_IN(0, 0),
+ USE_RETURN_IN(1, 0),
+ STOCK_IN(2, 0),
+ OTHER_IN(3, 0),
+ TAKING_IN(4, 0),
+ USE_OUT(5, 1),
+ HOUSE_OUT(6, 1),
+ STOCK_OUT(7, 1),
+ OTHER_UN_PASS_OUT(8, 1),
+ BUY_OUT(9, 1),
+ TAKING_OUT(10, 1)
+ ;
+ // 鎴愬憳鍙橀噺
+ private int key;
+ private int inOut;
+
+ // 鏋勯�犳柟娉�
+ ywOutInType(int key, int inOut) {
+ this.inOut = inOut;
+ this.key = key;
+ }
+
+ // 鏅�氭柟娉�
+ public static Integer getInOutValue(int index) {
+ for (ywOutInType c : ywOutInType.values()) {
+ if (c.getKey() == index) {
+ return c.getInOut();
+ }
+ }
+ return null;
+ }
+
+
+ // 鏅�氭柟娉�
+ public static ywOutInType getYwOutInType(int index) {
+ for (ywOutInType c : ywOutInType.values()) {
+ if (c.getKey() == index) {
+ return c;
+ }
+ }
+ return null;
+ }
+
+
+ /**
+ * 鏍规嵁鍑哄叆搴撶被鍨嬭幏鍙栨墍鏈夌殑鍏蜂綋绫诲瀷
+ * @param inOutType
+ * @return
+ */
+ public static List<Integer> getAllTypeKey(int inOutType) {
+ List<Integer> list = new ArrayList<>();
+ for (ywOutInType c : ywOutInType.values()) {
+ if (c.getInOut() == inOutType) {
+ list.add(c.getKey());
+ }
+ }
+ return list;
+ }
+
+ // get set 鏂规硶
+ public int getInOut() {
+ return inOut;
+ }
+
+ public void setInOut(int inOut) {
+ this.inOut = inOut;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+
+ }
+
+
+
/**
* 鑾峰彇杞︾墝绫诲瀷淇℃伅
*
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
index 5bf7386..eda709f 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/YwTimerController.java
@@ -3,17 +3,19 @@
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.redis.RedisUtil;
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.business.model.YwContract;
-import com.doumee.service.business.PlatformJobService;
-import com.doumee.service.business.YwContractBillService;
-import com.doumee.service.business.YwContractService;
-import com.doumee.service.business.YwPatrolSchemeService;
+import com.doumee.dao.business.model.YwOutinbound;
+import com.doumee.service.business.*;
+import com.doumee.service.business.impl.YwOutinboundServiceImpl;
import com.doumee.service.system.SystemDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -43,6 +45,12 @@
@Autowired
private YwPatrolSchemeService ywPatrolSchemeService;
+ @Autowired
+ private YwOutinboundService ywOutinboundService;
+
+ @Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+
@ApiOperation("瀹氭椂澶勭悊鍚堝悓璐﹀崟缂栫爜")
@GetMapping("/ywDealContractBillCodeTimer")
@@ -67,7 +75,6 @@
}
-
@ApiOperation("瀹氭椂鐢熸垚浠婃棩宸℃浠诲姟浠诲姟")
@GetMapping("/ywPatrolSchemeTaskTimer")
public ApiResponse ywPatrolSchemeTaskTimer() {
@@ -76,4 +83,17 @@
}
+ @ApiOperation("瀹氭椂鏇存柊redis鏁版嵁")
+ @GetMapping("/ywUpdRedisDataTimer")
+ public ApiResponse ywUpdRedisDataTimer() {
+ //鍔犲叆redis缂撳瓨锛屽叆搴撳崟鎬绘暟閲�
+ RedisUtil.addObject(redisTemplate, Constants.RedisKeys.COM_OUTBOUND_IN_KEY,0);
+ //鍔犲叆redis缂撳瓨锛屽嚭搴撳崟鎬绘暟閲�
+ RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_OUTBOUND_OUT_KEY,0);
+ //鍔犲叆redis缂撳瓨锛岀洏鐐瑰崟鎬绘暟閲�
+ RedisUtil.addObject(redisTemplate,Constants.RedisKeys.COM_OUTBOUND_TAKING_KEY,0);
+ return ApiResponse.success("瀹氭椂鏇存柊redis鏁版嵁");
+ }
+
+
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
index 54b0613..5600123 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwOutinboundController.java
@@ -87,6 +87,6 @@
@GetMapping("/{id}")
@CloudRequiredPermission("business:ywoutinbound:query")
public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(ywOutinboundService.findById(id));
+ return ApiResponse.success(ywOutinboundService.getDetail(id));
}
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWarehouseController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWarehouseController.java
index 8f7b90a..b4d0c7e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWarehouseController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwWarehouseController.java
@@ -36,35 +36,36 @@
@ApiOperation("鏂板缓")
@PostMapping("/create")
@CloudRequiredPermission("business:ywwarehouse:create")
- public ApiResponse create(@RequestBody YwWarehouse ywWarehouse) {
+ public ApiResponse create(@RequestBody YwWarehouse ywWarehouse,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ywWarehouse.setLoginUserInfo(this.getLoginUser(token));
return ApiResponse.success(ywWarehouseService.create(ywWarehouse));
}
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@CloudRequiredPermission("business:ywwarehouse:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- ywWarehouseService.deleteById(id);
+ public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ ywWarehouseService.deleteById(id,this.getLoginUser(token));
return ApiResponse.success(null);
}
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @CloudRequiredPermission("business:ywwarehouse:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- ywWarehouseService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
+//
+// @ApiOperation("鎵归噺鍒犻櫎")
+// @GetMapping("/delete/batch")
+// @CloudRequiredPermission("business:ywwarehouse:delete")
+// public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+// String [] idArray = ids.split(",");
+// List<Integer> idList = new ArrayList<>();
+// for (String id : idArray) {
+// idList.add(Integer.valueOf(id));
+// }
+// ywWarehouseService.deleteByIdInBatch(idList);
+// return ApiResponse.success(null);
+// }
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
@CloudRequiredPermission("business:ywwarehouse:update")
- public ApiResponse updateById(@RequestBody YwWarehouse ywWarehouse) {
+ public ApiResponse updateById(@RequestBody YwWarehouse ywWarehouse,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ywWarehouseService.updateById(ywWarehouse);
return ApiResponse.success(null);
}
@@ -72,21 +73,28 @@
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@CloudRequiredPermission("business:ywwarehouse:query")
- public ApiResponse<PageData<YwWarehouse>> findPage (@RequestBody PageWrap<YwWarehouse> pageWrap) {
+ public ApiResponse<PageData<YwWarehouse>> findPage (@RequestBody PageWrap<YwWarehouse> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(ywWarehouseService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ @CloudRequiredPermission("business:ywwarehouse:query")
+ public ApiResponse<List<YwWarehouse>> findList (@RequestBody YwWarehouse model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ return ApiResponse.success(ywWarehouseService.findList(model));
}
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@CloudRequiredPermission("business:ywwarehouse:exportExcel")
- public void exportExcel (@RequestBody PageWrap<YwWarehouse> pageWrap, HttpServletResponse response) {
+ public void exportExcel (@RequestBody PageWrap<YwWarehouse> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
ExcelExporter.build(YwWarehouse.class).export(ywWarehouseService.findPage(pageWrap).getRecords(), "杩愮淮浠撳簱淇℃伅琛�", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
@CloudRequiredPermission("business:ywwarehouse:query")
- public ApiResponse findById(@PathVariable Integer id) {
+ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
return ApiResponse.success(ywWarehouseService.findById(id));
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwMaterialMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwMaterialMapper.java
index cd8fd62..7a30466 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwMaterialMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwMaterialMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwMaterial;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwMaterialMapper extends BaseMapper<YwMaterial> {
+public interface YwMaterialMapper extends MPJBaseMapper<YwMaterial> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundMapper.java
index 257d5f5..7274448 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwOutinbound;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwOutinboundMapper extends BaseMapper<YwOutinbound> {
+public interface YwOutinboundMapper extends MPJBaseMapper<YwOutinbound> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundRecordMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundRecordMapper.java
new file mode 100644
index 0000000..800d513
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwOutinboundRecordMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import com.github.yulichang.base.MPJBaseMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 14:28
+ */
+public interface YwOutinboundRecordMapper extends MPJBaseMapper<YwOutinboundRecord> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStockMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStockMapper.java
index 5a4eee2..9c80527 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStockMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStockMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwStock;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwStockMapper extends BaseMapper<YwStock> {
+public interface YwStockMapper extends MPJBaseMapper<YwStock> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStocktakingMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStocktakingMapper.java
index 8961949..1786dea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStocktakingMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwStocktakingMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwStocktaking;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwStocktakingMapper extends BaseMapper<YwStocktaking> {
+public interface YwStocktakingMapper extends MPJBaseMapper<YwStocktaking> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWarehouseMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWarehouseMapper.java
index 82f64ac..e009c33 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWarehouseMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwWarehouseMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwWarehouse;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2025/01/06 11:05
*/
-public interface YwWarehouseMapper extends BaseMapper<YwWarehouse> {
+public interface YwWarehouseMapper extends MPJBaseMapper<YwWarehouse> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index 4f5d50b..c71f12c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -68,7 +68,7 @@
//@ExcelColumn(name="鍥炬爣")
private String imgurl;
- @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2杩愮淮-瀹㈡埛琛屼笟鍒嗙被 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被 6=瀹㈡埛琛屼笟" )
+ @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2杩愮淮-瀹㈡埛琛屼笟鍒嗙被 3杩愮淮-宸ュ崟鍒嗙被 4杩愮淮-宸℃鍖哄煙 5杩愮淮-璁惧鍒嗙被 6=瀹㈡埛琛屼笟 7=璧勪骇鍒嗙被" )
//@ExcelColumn(name="绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
private Integer type;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinbound.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinbound.java
index fb00364..e84edc2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinbound.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinbound.java
@@ -1,6 +1,8 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -10,6 +12,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
+import java.util.List;
/**
* 杩愮淮鍑哄叆搴撲俊鎭〃
@@ -19,7 +22,7 @@
@Data
@ApiModel("杩愮淮鍑哄叆搴撲俊鎭〃")
@TableName("`yw_outinbound`")
-public class YwOutinbound {
+public class YwOutinbound extends LoginUserModel {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
@@ -54,7 +57,7 @@
@ApiModelProperty(value = "浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
@ExcelColumn(name="浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
- private String warehouseId;
+ private Integer warehouseId;
@ApiModelProperty(value = "鐗╄祫缂栫爜锛堝叧鑱攜w_material)", example = "1")
@ExcelColumn(name="鐗╄祫缂栫爜锛堝叧鑱攜w_material)")
@@ -64,8 +67,8 @@
@ExcelColumn(name="鏁伴噺")
private BigDecimal stock;
- @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2搴撳瓨璋冩暣 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
- @ExcelColumn(name="绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2搴撳瓨璋冩暣 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱")
+ @ApiModelProperty(value = "绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱", example = "1")
+ @ExcelColumn(name="绫诲瀷 0閲囪喘鍏ュ簱 1棰嗙敤閫�鍥� 2璋冩暣鍏ュ簱 3鍏朵粬鍏ュ簱 4鐩樼泩鍏ュ簱 5棰嗙敤鍑哄簱 6浠撳簱鍑哄簱 7璋冩暣鍑哄簱 8閲囪喘鍑哄簱 9鍏朵粬鍑哄簱 10鐩樹簭鍑哄簱")
private Integer type;
@ApiModelProperty(value = "鏉ユ簮 0鎵嬪姩褰曞叆 1绯荤粺鐢熸垚", example = "1")
@@ -85,4 +88,24 @@
@ExcelColumn(name="鐘舵�� 0姝e父")
private Integer status;
+ @ApiModelProperty(value = "鍗曟嵁缂栧彿")
+ @ExcelColumn(name="鍗曟嵁缂栧彿")
+ private String code;
+
+ @ApiModelProperty(value = "鍑哄叆搴撴暟鎹槑缁�", example = "1")
+ @TableField(exist = false)
+ private List<YwOutinboundRecord> recordList;
+
+
+ @ApiModelProperty(value = "鎿嶄綔绫诲瀷锛�1=鍑哄簱锛�0=鍏ュ簱锛堝垎椤靛垪琛ㄦ煡璇娇鐢級", example = "1")
+ @TableField(exist = false)
+ private Integer inOut;
+
+ @ApiModelProperty(value = "浠撳簱鍚嶇О", example = "1")
+ @TableField(exist = false)
+ private String warehouseName;
+
+ @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+ @TableField(exist = false)
+ private String createUserName;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinboundRecord.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinboundRecord.java
new file mode 100644
index 0000000..b201cb7
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwOutinboundRecord.java
@@ -0,0 +1,138 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 14:28
+ */
+@Data
+@ApiModel("杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃")
+@TableName("`yw_outinbound_record`")
+public class YwOutinboundRecord {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍑哄叆搴撹褰曚富閿�", example = "1")
+ @ExcelColumn(name="鍑哄叆搴撹褰曚富閿�")
+ private Integer outInBoundId;
+
+ @ApiModelProperty(value = "鐗╄祫缂栫爜锛堝叧鑱攜w_material)", example = "1")
+ @ExcelColumn(name="鐗╄祫缂栫爜锛堝叧鑱攜w_material)")
+ private Integer materialId;
+
+ @ApiModelProperty(value = "鏁伴噺", example = "1")
+ @ExcelColumn(name="鏁伴噺")
+ private BigDecimal stock;
+
+ @ApiModelProperty(value = "璧勪骇缂栫爜")
+ @TableField(exist = false)
+ private String materialCode;
+
+ @ApiModelProperty(value = "璧勪骇鍚嶇О")
+ @TableField(exist = false)
+ private String materialName;
+
+ @ApiModelProperty(value = "璧勪骇鏉″舰鐮�")
+ @TableField(exist = false)
+ private String materialQrcode;
+
+ @ApiModelProperty(value = "璧勪骇鍝佺墝")
+ @TableField(exist = false)
+ private String materialBrand;
+
+ @ApiModelProperty(value = "璧勪骇鍗曚綅")
+ @TableField(exist = false)
+ private String materialUnitName;
+
+ @ApiModelProperty(value = "鎿嶄綔绫诲瀷锛�1=鍑哄簱锛�0=鍏ュ簱锛堝垎椤靛垪琛ㄦ煡璇娇鐢級", example = "1")
+ @TableField(exist = false)
+ private Integer inOut;
+
+ @ApiModelProperty(value = "浠撳簱涓婚敭")
+ @TableField(exist = false)
+ private Integer warehouseId;
+
+ @ApiModelProperty(value = "浠撳簱鍚嶇О")
+ @TableField(exist = false)
+ private String warehouseName;
+
+ @ApiModelProperty(value = "鍗曟嵁鏃ユ湡")
+ @TableField(exist = false)
+ private Date doneDate;
+
+ @ApiModelProperty(value = "涓�绾у垎绫诲悕绉�")
+ @TableField(exist = false)
+ private String categoryParentName;
+
+ @ApiModelProperty(value = "浜岀骇鍒嗙被鍚嶇О")
+ @TableField(exist = false)
+ private String categoryName;
+
+ @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1")
+ @TableField(exist = false)
+ private String createUserName;
+
+ @ApiModelProperty(value = "鍗曟嵁缂栧彿", example = "1")
+ @TableField(exist = false)
+ private String code;
+
+
+ @ApiModelProperty(value = "鍗曟嵁鏃ユ湡 寮�濮� yyyy-MM-dd", example = "1")
+ @TableField(exist = false)
+ private String doneDateStart;
+
+ @ApiModelProperty(value = "鍗曟嵁鏃ユ湡 缁撴潫 yyyy-MM-dd", example = "1")
+ @TableField(exist = false)
+ private String doneDateEnd;
+
+
+ @ApiModelProperty(value = "鍒涘缓鏃ユ湡 寮�濮� yyyy-MM-dd", example = "1")
+ @TableField(exist = false)
+ private String createDateStart;
+
+ @ApiModelProperty(value = "鍒涘缓鏃ユ湡 缁撴潫 yyyy-MM-dd", example = "1")
+ @TableField(exist = false)
+ private String createDateEnd;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
index 9e4dcfd..dc2ec33 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStock.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -54,7 +55,7 @@
@ApiModelProperty(value = "浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
@ExcelColumn(name="浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
- private String warehouseId;
+ private Integer warehouseId;
@ApiModelProperty(value = "鐗╄祫缂栫爜锛堝叧鑱攜w_material)", example = "1")
@ExcelColumn(name="鐗╄祫缂栫爜锛堝叧鑱攜w_material)")
@@ -64,4 +65,33 @@
@ExcelColumn(name="鏁伴噺")
private BigDecimal stock;
+
+ @ApiModelProperty(value = "璧勪骇缂栫爜")
+ @TableField(exist = false)
+ private String materialCode;
+
+ @ApiModelProperty(value = "璧勪骇鍚嶇О")
+ @TableField(exist = false)
+ private String materialName;
+
+ @ApiModelProperty(value = "璧勪骇鏉″舰鐮�")
+ @TableField(exist = false)
+ private String materialQrcode;
+
+ @ApiModelProperty(value = "璧勪骇鍝佺墝")
+ @TableField(exist = false)
+ private String materialBrand;
+
+ @ApiModelProperty(value = "璧勪骇鍗曚綅")
+ @TableField(exist = false)
+ private String materialUnitName;
+
+ @ApiModelProperty(value = "璧勪骇瑙勬牸鍨嬪彿")
+ @TableField(exist = false)
+ private String materialAttr;
+
+ @ApiModelProperty(value = "浠撳簱鍚嶇О")
+ @TableField(exist = false)
+ private String warehouseName;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStocktaking.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStocktaking.java
index f7e178c..ff2d0c3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStocktaking.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwStocktaking.java
@@ -72,6 +72,10 @@
@ExcelColumn(name="缂栧彿")
private String code;
+ @ApiModelProperty(value = "浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
+ @ExcelColumn(name="浠撳簱缂栫爜(鍏宠仈yw_warehouse)")
+ private Integer warehouseId;
+
@ApiModelProperty(value = "寮�濮嬪鐞嗕汉(鍏宠仈system_user)", example = "1")
@ExcelColumn(name="寮�濮嬪鐞嗕汉(鍏宠仈system_user)")
private Integer dealUserId;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWarehouse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWarehouse.java
index deb0b2d..812fbc3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWarehouse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWarehouse.java
@@ -1,6 +1,8 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -18,7 +20,7 @@
@Data
@ApiModel("杩愮淮浠撳簱淇℃伅琛�")
@TableName("`yw_warehouse`")
-public class YwWarehouse {
+public class YwWarehouse extends LoginUserModel {
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
@@ -57,8 +59,7 @@
@ApiModelProperty(value = "鍚嶇О")
@ExcelColumn(name="鍚嶇О")
- @JsonFormat(pattern = "yyyy-MM-dd")
- private Date name;
+ private String name;
@ApiModelProperty(value = "浣嶇疆")
@ExcelColumn(name="浣嶇疆")
@@ -76,4 +77,9 @@
@ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
+
+ @ApiModelProperty(value = "璐熻矗浜哄悕绉�", example = "1")
+ @TableField(exist = false)
+ private String userName;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundRecordService.java
new file mode 100644
index 0000000..8ed0246
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundRecordService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.YwOutinboundRecord;
+import java.util.List;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 14:28
+ */
+public interface YwOutinboundRecordService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(YwOutinboundRecord ywOutinboundRecord);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ */
+ void delete(YwOutinboundRecord ywOutinboundRecord);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ */
+ void updateById(YwOutinboundRecord ywOutinboundRecord);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param ywOutinboundRecords 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<YwOutinboundRecord> ywOutinboundRecords);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return YwOutinboundRecord
+ */
+ YwOutinboundRecord findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ * @return YwOutinboundRecord
+ */
+ YwOutinboundRecord findOne(YwOutinboundRecord ywOutinboundRecord);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ * @return List<YwOutinboundRecord>
+ */
+ List<YwOutinboundRecord> findList(YwOutinboundRecord ywOutinboundRecord);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<YwOutinboundRecord>
+ */
+ PageData<YwOutinboundRecord> findPage(PageWrap<YwOutinboundRecord> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param ywOutinboundRecord 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(YwOutinboundRecord ywOutinboundRecord);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundService.java
index 55e6b59..379ff7b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwOutinboundService.java
@@ -94,4 +94,6 @@
* @return long
*/
long count(YwOutinbound ywOutinbound);
+
+ YwOutinbound getDetail(Integer id);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWarehouseService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWarehouseService.java
index 899ae96..08f453e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWarehouseService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/YwWarehouseService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.YwWarehouse;
@@ -25,7 +26,7 @@
*
* @param id 涓婚敭
*/
- void deleteById(Integer id);
+ void deleteById(Integer id, LoginUserInfo loginUserInfo);
/**
* 鍒犻櫎
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundRecordServiceImpl.java
new file mode 100644
index 0000000..b839bc7
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundRecordServiceImpl.java
@@ -0,0 +1,140 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwOutinboundRecordMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.YwOutinboundRecordService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 杩愮淮鍑哄叆搴撲俊鎭槑缁嗚〃Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/01/06 14:28
+ */
+@Service
+public class YwOutinboundRecordServiceImpl implements YwOutinboundRecordService {
+
+ @Autowired
+ private YwOutinboundRecordMapper ywOutinboundRecordMapper;
+
+ @Override
+ public Integer create(YwOutinboundRecord ywOutinboundRecord) {
+ ywOutinboundRecordMapper.insert(ywOutinboundRecord);
+ return ywOutinboundRecord.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ ywOutinboundRecordMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(YwOutinboundRecord ywOutinboundRecord) {
+ UpdateWrapper<YwOutinboundRecord> deleteWrapper = new UpdateWrapper<>(ywOutinboundRecord);
+ ywOutinboundRecordMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ ywOutinboundRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(YwOutinboundRecord ywOutinboundRecord) {
+ ywOutinboundRecordMapper.updateById(ywOutinboundRecord);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<YwOutinboundRecord> ywOutinboundRecords) {
+ if (CollectionUtils.isEmpty(ywOutinboundRecords)) {
+ return;
+ }
+ for (YwOutinboundRecord ywOutinboundRecord: ywOutinboundRecords) {
+ this.updateById(ywOutinboundRecord);
+ }
+ }
+
+ @Override
+ public YwOutinboundRecord findById(Integer id) {
+ return ywOutinboundRecordMapper.selectById(id);
+ }
+
+ @Override
+ public YwOutinboundRecord findOne(YwOutinboundRecord ywOutinboundRecord) {
+ QueryWrapper<YwOutinboundRecord> wrapper = new QueryWrapper<>(ywOutinboundRecord);
+ return ywOutinboundRecordMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<YwOutinboundRecord> findList(YwOutinboundRecord ywOutinboundRecord) {
+ QueryWrapper<YwOutinboundRecord> wrapper = new QueryWrapper<>(ywOutinboundRecord);
+ return ywOutinboundRecordMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<YwOutinboundRecord> findPage(PageWrap<YwOutinboundRecord> pageWrap) {
+ IPage<YwOutinboundRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<YwOutinboundRecord> queryWrapper = new MPJLambdaWrapper<YwOutinboundRecord>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ YwOutinboundRecord model = pageWrap.getModel();
+ if(Objects.isNull(model)||Objects.isNull(model.getInOut())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ List<Integer> typeList = Constants.ywOutInType.getAllTypeKey(model.getInOut());
+ queryWrapper.selectAll(YwOutinboundRecord.class)
+ .selectAs(SystemUser::getRealname,YwOutinboundRecord::getCreateUserName)
+ .selectAs(YwOutinbound::getCode,YwOutinboundRecord::getCode)
+ .selectAs(YwWarehouse::getName,YwOutinboundRecord::getWarehouseName)
+ .selectAs(YwMaterial::getCode,YwOutinboundRecord::getMaterialCode)
+ .selectAs(YwMaterial::getName,YwOutinboundRecord::getMaterialName)
+ .selectAs(YwMaterial::getQrcode,YwOutinboundRecord::getMaterialQrcode)
+ .selectAs(YwMaterial::getBrand,YwOutinboundRecord::getMaterialBrand)
+ .selectAs(YwMaterial::getUnitName,YwOutinboundRecord::getMaterialUnitName)
+ .select(" c.name ",YwOutinboundRecord::getCategoryParentName)
+ .select(" c1.name ",YwOutinboundRecord::getCategoryName)
+ .leftJoin(YwOutinbound.class,YwOutinbound::getId,YwOutinboundRecord::getOutInBoundId)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwOutinbound::getCreator)
+ .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwOutinbound::getWarehouseId)
+ .leftJoin(YwMaterial.class,YwMaterial::getId,YwOutinboundRecord::getMaterialId)
+ .leftJoin("category c on t4.PARENT_CATE_ID = c.id")
+ .leftJoin("category c1 on t4.CATE_ID = c1.id")
+ .like(StringUtils.isNotBlank(model.getCode()),YwOutinbound::getCode,model.getCode())
+ .like(StringUtils.isNotBlank(model.getMaterialCode()),YwMaterial::getCode,model.getMaterialCode())
+ .eq(Objects.nonNull(model.getWarehouseId()),YwOutinbound::getWarehouseId,model.getWarehouseId())
+ .in(Objects.nonNull(model.getInOut()),YwOutinbound::getType,typeList)
+ .ge(StringUtils.isNotBlank(model.getDoneDateStart()),YwOutinbound::getDoneDate,model.getDoneDateStart()+" 00:00:00")
+ .le(StringUtils.isNotBlank(model.getDoneDateEnd()),YwOutinbound::getDoneDate,model.getDoneDateEnd()+" 23:59:59")
+ .ge(StringUtils.isNotBlank(model.getCreateDateStart()),YwOutinbound::getCreateDate,model.getCreateDateStart()+" 00:00:00")
+ .le(StringUtils.isNotBlank(model.getCreateDateEnd()),YwOutinbound::getCreateDate,model.getCreateDateEnd()+" 23:59:59")
+ .orderByDesc(YwOutinbound::getCreateDate)
+ ;
+ IPage iPage = ywOutinboundRecordMapper.selectJoinPage(page,YwOutinboundRecord.class,queryWrapper);
+ return PageData.from(iPage);
+ }
+
+ @Override
+ public long count(YwOutinboundRecord ywOutinboundRecord) {
+ QueryWrapper<YwOutinboundRecord> wrapper = new QueryWrapper<>(ywOutinboundRecord);
+ return ywOutinboundRecordMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
index 9e5724f..37a7c72 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
@@ -1,20 +1,34 @@
package com.doumee.service.business.impl;
+import com.alibaba.druid.sql.visitor.functions.Concat;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.YwOutinboundMapper;
-import com.doumee.dao.business.model.YwOutinbound;
+import com.doumee.core.utils.redis.RedisUtil;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwOutinboundService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 杩愮淮鍑哄叆搴撲俊鎭〃Service瀹炵幇
@@ -27,11 +41,136 @@
@Autowired
private YwOutinboundMapper ywOutinboundMapper;
+ @Autowired
+ private YwMaterialMapper ywMaterialMapper;
+
+ @Autowired
+ private YwOutinboundRecordMapper ywOutinboundRecordMapper;
+
+ @Autowired
+ private YwStockMapper ywStockMapper;
+
+ @Autowired
+ private YwWarehouseMapper ywWarehouseMapper;
+
+ @Autowired
+ private YwStocktakingMapper ywStocktakingMapper;
+
+ @Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+
@Override
+ @Transactional(rollbackFor = {Exception.class, BusinessException.class})
public Integer create(YwOutinbound ywOutinbound) {
+ List<YwOutinboundRecord> recordList = this.verifyData(ywOutinbound);
+ YwWarehouse ywWarehouse = ywWarehouseMapper.selectById(ywOutinbound.getWarehouseId());
+ if(Objects.isNull(ywWarehouse)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌浠撳簱淇℃伅");
+ }
+ LoginUserInfo loginUserInfo = ywOutinbound.getLoginUserInfo();
+ //鏍规嵁鎿嶄綔绫诲瀷杩涜鍒ゆ柇鏄叆搴�/鍑哄簱
+ Constants.ywOutInType ywOutInType = Constants.ywOutInType.getYwOutInType(ywOutinbound.getType());
+ if(Objects.isNull(ywOutInType)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈尮閰嶅埌鍑哄叆搴撶被鍨�");
+ }
+ //鐢熸垚鍑哄叆搴撳崟鎹紪鍙�
+ ywOutinbound.setCode(getNextInOutCode(ywOutInType.getInOut()));
+ ywOutinbound.setCreator(loginUserInfo.getId());
+ ywOutinbound.setCreateDate(new Date());
+ ywOutinbound.setOrigin(Constants.ZERO);
ywOutinboundMapper.insert(ywOutinbound);
+ for (YwOutinboundRecord ywOutinboundRecord:recordList) {
+ ywOutinboundRecord.setCreator(loginUserInfo.getId());
+ ywOutinboundRecord.setCreateDate(new Date());
+ ywOutinboundRecord.setIsdeleted(Constants.ZERO);
+ }
+ ywOutinboundRecordMapper.insert(recordList);
+ //鏇存柊搴撳瓨淇℃伅
+ this.dealStockData(ywOutinbound,recordList,ywOutInType.getInOut());
return ywOutinbound.getId();
}
+
+
+ public List<YwOutinboundRecord> verifyData(YwOutinbound ywOutinbound){
+ if(Objects.isNull(ywOutinbound)
+ || Objects.isNull(ywOutinbound.getType())
+ || (Objects.nonNull(ywOutinbound.getType()) && (!(ywOutinbound.getType() == Constants.ZERO || ywOutinbound.getType() == Constants.ONE)))
+ || Objects.isNull(ywOutinbound.getWarehouseId())
+ || Objects.isNull(ywOutinbound.getDoneDate())
+ || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywOutinbound.getRecordList())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ List<YwOutinboundRecord> recordList = ywOutinbound.getRecordList();
+ for (YwOutinboundRecord ywOutinboundRecord:recordList) {
+ if(Objects.isNull(ywOutinboundRecord)
+ ||Objects.isNull(ywOutinboundRecord.getMaterialId())
+ ||Objects.isNull(ywOutinboundRecord.getStock())
+ ||ywOutinboundRecord.getStock().compareTo(BigDecimal.ZERO)<=Constants.ZERO
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ }
+ //鍒ゆ柇褰撳墠鏄惁瀛樺湪杩涜涓殑鐩樼偣鍗�
+ if(ywStocktakingMapper.selectCount(new QueryWrapper<YwStocktaking>().lambda().eq(YwStocktaking::getIsdeleted,Constants.ZERO)
+ .eq(YwStocktaking::getWarehouseId,ywOutinbound.getWarehouseId())
+ .eq(YwStocktaking::getStatus,Constants.ONE))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪杩涜涓殑鐩樼偣鍗曪紝鏃犳硶杩涜鍑哄叆搴撴搷浣�");
+ };
+ //鍒ゆ柇鏄惁瀛樺湪鐩稿悓鏁版嵁
+ Set<Integer> materialIds = new HashSet<Integer>(recordList.stream().map(i->i.getMaterialId()).collect(Collectors.toList()));
+ if(materialIds.size() != recordList.size()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀛樺湪鐩稿悓璧勪骇淇℃伅锛岃妫�鏌ユ暟鎹紒");
+ }
+ if(ywMaterialMapper.selectCount(new QueryWrapper<YwMaterial>().lambda().in(YwMaterial::getId,materialIds))!=recordList.size()){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璧勪骇淇℃伅瀛樺湪寮傚父锛岃妫�鏌ユ暟鎹紒");
+ }
+ return recordList;
+
+
+ }
+
+ public void dealStockData(YwOutinbound ywOutinbound,List<YwOutinboundRecord> recordList,Integer inOut){
+ for (YwOutinboundRecord ywOutinboundRecord:recordList) {
+ YwStock ywStock = ywStockMapper.selectOne(new QueryWrapper<YwStock>().lambda().eq(YwStock::getIsdeleted,Constants.ZERO).eq(YwStock::getWarehouseId,ywOutinbound.getWarehouseId()).eq(YwStock::getMaterialId,ywOutinboundRecord.getMaterialId()));
+ if(Constants.equalsInteger(inOut,Constants.ZERO)){
+ //鍏ュ簱
+ if(Objects.isNull(ywStock)){
+ ywStock.setStock(ywOutinboundRecord.getStock());
+ ywStock.setWarehouseId(ywOutinbound.getWarehouseId());
+ ywStock.setMaterialId(ywOutinboundRecord.getMaterialId());
+ ywStock.setCreateDate(new Date());
+ ywStock.setCreator(ywOutinbound.getCreator());
+ ywStockMapper.insert(ywStock);
+ }else{
+ ywStockMapper.update(new UpdateWrapper<YwStock>().lambda()
+ .set(YwStock::getStock," ( stock + " + ywStock.getStock() + " )")
+ .set(YwStock::getEditDate, DateUtil.getCurrDateTime())
+ .set(YwStock::getEditor, ywOutinbound.getCreator())
+ .eq(YwStock::getId,ywStock.getId())
+ );
+ }
+ }else{
+ YwMaterial ywMaterial = ywMaterialMapper.selectById(ywOutinboundRecord.getMaterialId());
+ //鍑哄簱
+ if(Objects.isNull(ywStock) || ywStock.getStock().compareTo(ywOutinboundRecord.getStock()) < Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), ywMaterial.getName() + "搴撳瓨涓嶈冻锛岃鍒锋柊閲嶈瘯");
+ }else if(ywStock.getStock().compareTo(ywOutinboundRecord.getStock()) == Constants.ZERO){
+ ywStockMapper.deleteById(ywStock.getId());
+ }else{
+ ywStockMapper.update(new UpdateWrapper<YwStock>().lambda()
+ .set(YwStock::getStock," ( stock - " + ywStock.getStock() + " )")
+ .set(YwStock::getEditDate, DateUtil.getCurrDateTime())
+ .set(YwStock::getEditor, ywOutinbound.getCreator())
+ .eq(YwStock::getId,ywStock.getId())
+ );
+ }
+ }
+ }
+ }
+
+
+
@Override
public void deleteById(Integer id) {
@@ -83,60 +222,45 @@
QueryWrapper<YwOutinbound> wrapper = new QueryWrapper<>(ywOutinbound);
return ywOutinboundMapper.selectList(wrapper);
}
-
+
+ @Override
+ public YwOutinbound getDetail(Integer id) {
+ MPJLambdaWrapper<YwOutinbound> queryWrapper = new MPJLambdaWrapper<YwOutinbound>();
+ queryWrapper.selectAll(YwOutinbound.class)
+ .selectAs(SystemUser::getRealname,YwOutinbound::getCreateUserName)
+ .selectAs(YwWarehouse::getName,YwOutinbound::getWarehouseName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwOutinbound::getCreator)
+ .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwOutinbound::getWarehouseId)
+ .eq(YwOutinbound::getId,id)
+ .last(" limit 1");
+ YwOutinbound ywOutinbound = ywOutinboundMapper.selectJoinOne(YwOutinbound.class,queryWrapper);
+ List<Integer> idList = new ArrayList<>();
+ idList.add(id);
+ ywOutinbound.setRecordList(this.getRecordDetailData(idList));
+ return ywOutinbound;
+ }
+
+
@Override
public PageData<YwOutinbound> findPage(PageWrap<YwOutinbound> pageWrap) {
IPage<YwOutinbound> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwOutinbound> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwOutinbound> queryWrapper = new MPJLambdaWrapper<YwOutinbound>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getId, pageWrap.getModel().getId());
+ YwOutinbound model = pageWrap.getModel();
+ if(Objects.isNull(model)||Objects.isNull(model.getInOut())){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwOutinbound::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwOutinbound::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwOutinbound::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwOutinbound::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getWarehouseId() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getWarehouseId, pageWrap.getModel().getWarehouseId());
- }
- if (pageWrap.getModel().getMaterialId() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getMaterialId, pageWrap.getModel().getMaterialId());
- }
- if (pageWrap.getModel().getStock() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getStock, pageWrap.getModel().getStock());
- }
- if (pageWrap.getModel().getType() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getType, pageWrap.getModel().getType());
- }
- if (pageWrap.getModel().getOrigin() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getOrigin, pageWrap.getModel().getOrigin());
- }
- if (pageWrap.getModel().getContent() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getContent, pageWrap.getModel().getContent());
- }
- if (pageWrap.getModel().getDoneDate() != null) {
- queryWrapper.lambda().ge(YwOutinbound::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getDoneDate()));
- queryWrapper.lambda().le(YwOutinbound::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getDoneDate()));
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(YwOutinbound::getStatus, pageWrap.getModel().getStatus());
- }
+ List<Integer> typeList = Constants.ywOutInType.getAllTypeKey(model.getInOut());
+ queryWrapper.selectAll(YwOutinbound.class)
+ .selectAs(SystemUser::getRealname,YwOutinbound::getCreateUserName)
+ .selectAs(YwWarehouse::getName,YwOutinbound::getWarehouseName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwOutinbound::getCreator)
+ .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwOutinbound::getWarehouseId)
+ .like(StringUtils.isNotBlank(model.getCode()),YwOutinbound::getCode,model.getCode())
+ .eq(Objects.nonNull(model.getType()),YwOutinbound::getType,model.getType())
+ .eq(Objects.nonNull(model.getWarehouseId()),YwOutinbound::getWarehouseId,model.getWarehouseId())
+ .in(Objects.nonNull(model.getInOut()),YwOutinbound::getType,typeList)
+ ;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
@@ -144,12 +268,129 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(ywOutinboundMapper.selectPage(page, queryWrapper));
+ IPage iPage = ywOutinboundMapper.selectJoinPage(page,YwOutinbound.class,queryWrapper);
+ if(Objects.nonNull(iPage.getRecords())){
+ iPage.setRecords(this.getDetailData(iPage.getRecords()));
+ }
+ return PageData.from(iPage);
}
+
+ public List<YwOutinbound> getDetailData(List<YwOutinbound> ywOutinboundList){
+ List<Integer> idList = ywOutinboundList.stream().map(i->i.getId()).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(idList)){
+ List<YwOutinboundRecord> ywOutinboundRecordList = this.getRecordDetailData(idList);
+ if(CollectionUtils.isEmpty(ywOutinboundRecordList)){
+ return ywOutinboundList;
+ }
+ for (YwOutinbound ywOutinbound:ywOutinboundList) {
+ ywOutinbound.setRecordList(
+ ywOutinboundRecordList.stream().filter(i->Constants.equalsInteger(i.getOutInBoundId(),ywOutinbound.getId())).collect(Collectors.toList())
+ );
+ }
+ }
+ return ywOutinboundList;
+ }
+
+
+ public List<YwOutinboundRecord> getRecordDetailData(List<Integer> outinBoundIdList){
+ List<YwOutinboundRecord> ywOutinboundRecordList = ywOutinboundRecordMapper.selectJoinList(YwOutinboundRecord.class,
+ new MPJLambdaWrapper<YwOutinboundRecord>()
+ .selectAll(YwOutinboundRecord.class)
+ .selectAs(YwMaterial::getCode,YwOutinboundRecord::getMaterialCode)
+ .selectAs(YwMaterial::getName,YwOutinboundRecord::getMaterialName)
+ .selectAs(YwMaterial::getQrcode,YwOutinboundRecord::getMaterialQrcode)
+ .selectAs(YwMaterial::getBrand,YwOutinboundRecord::getMaterialBrand)
+ .selectAs(YwMaterial::getUnitName,YwOutinboundRecord::getMaterialUnitName)
+ .leftJoin(YwMaterial.class,YwMaterial::getId,YwOutinboundRecord::getMaterialId)
+ .eq(YwOutinboundRecord::getIsdeleted,Constants.ZERO)
+ .in(YwOutinboundRecord::getOutInBoundId,outinBoundIdList)
+ );
+ return ywOutinboundRecordList;
+ }
+
+
+// @Override
+// public PageData<YwOutinbound> findPage(PageWrap<YwOutinbound> pageWrap) {
+// IPage<YwOutinbound> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+//
+// QueryWrapper<YwOutinbound> queryWrapper = new QueryWrapper<>();
+// Utils.MP.blankToNull(pageWrap.getModel());
+// if (pageWrap.getModel().getId() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getId, pageWrap.getModel().getId());
+// }
+// if (pageWrap.getModel().getCreator() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getCreator, pageWrap.getModel().getCreator());
+// }
+// if (pageWrap.getModel().getCreateDate() != null) {
+// queryWrapper.lambda().ge(YwOutinbound::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+// queryWrapper.lambda().le(YwOutinbound::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+// }
+// if (pageWrap.getModel().getEditor() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getEditor, pageWrap.getModel().getEditor());
+// }
+// if (pageWrap.getModel().getEditDate() != null) {
+// queryWrapper.lambda().ge(YwOutinbound::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+// queryWrapper.lambda().le(YwOutinbound::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+// }
+// if (pageWrap.getModel().getIsdeleted() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getIsdeleted, pageWrap.getModel().getIsdeleted());
+// }
+// if (pageWrap.getModel().getRemark() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getRemark, pageWrap.getModel().getRemark());
+// }
+// if (pageWrap.getModel().getWarehouseId() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getWarehouseId, pageWrap.getModel().getWarehouseId());
+// }
+// if (pageWrap.getModel().getMaterialId() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getMaterialId, pageWrap.getModel().getMaterialId());
+// }
+// if (pageWrap.getModel().getStock() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getStock, pageWrap.getModel().getStock());
+// }
+// if (pageWrap.getModel().getType() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getType, pageWrap.getModel().getType());
+// }
+// if (pageWrap.getModel().getOrigin() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getOrigin, pageWrap.getModel().getOrigin());
+// }
+// if (pageWrap.getModel().getContent() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getContent, pageWrap.getModel().getContent());
+// }
+// if (pageWrap.getModel().getDoneDate() != null) {
+// queryWrapper.lambda().ge(YwOutinbound::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getDoneDate()));
+// queryWrapper.lambda().le(YwOutinbound::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getDoneDate()));
+// }
+// if (pageWrap.getModel().getStatus() != null) {
+// queryWrapper.lambda().eq(YwOutinbound::getStatus, pageWrap.getModel().getStatus());
+// }
+// for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+// queryWrapper.orderByDesc(sortData.getProperty());
+// } else {
+// queryWrapper.orderByAsc(sortData.getProperty());
+// }
+// }
+// return PageData.from(ywOutinboundMapper.selectPage(page, queryWrapper));
+// }
@Override
public long count(YwOutinbound ywOutinbound) {
QueryWrapper<YwOutinbound> wrapper = new QueryWrapper<>(ywOutinbound);
return ywOutinboundMapper.selectCount(wrapper);
}
+
+
+ public synchronized String getNextInOutCode(Integer inOut){
+ String prefix = Constants.equalsInteger(inOut,0)?"RK-":"CK-" + DateUtil.getDate(new Date(),"yyyyMMdd") +"-";
+ Integer countNum = RedisUtil.getObject(redisTemplate,
+ Constants.equalsInteger(inOut,0)?Constants.RedisKeys.COM_OUTBOUND_OUT_KEY:Constants.RedisKeys.COM_OUTBOUND_IN_KEY,
+ Integer.class);
+ countNum = Constants.formatIntegerNum(countNum)+1;
+ //鏇存柊缂撳瓨
+ RedisUtil.addObject(redisTemplate,Constants.equalsInteger(inOut,0)?Constants.RedisKeys.COM_OUTBOUND_OUT_KEY:Constants.RedisKeys.COM_OUTBOUND_IN_KEY,countNum);
+ String nextIndex =Integer.toString( countNum );
+ return prefix + StringUtils.leftPad(nextIndex,4,"0");
+ }
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwStockServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwStockServiceImpl.java
index c378978..628057e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwStockServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwStockServiceImpl.java
@@ -4,17 +4,21 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwStockMapper;
-import com.doumee.dao.business.model.YwStock;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwStockService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
+import java.util.Objects;
/**
* 杩愮淮搴撳瓨淇℃伅琛⊿ervice瀹炵幇
@@ -87,50 +91,36 @@
@Override
public PageData<YwStock> findPage(PageWrap<YwStock> pageWrap) {
IPage<YwStock> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwStock> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwStock> queryWrapper = new MPJLambdaWrapper<YwStock>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwStock::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwStock::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwStock::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwStock::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwStock::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwStock::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwStock::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwStock::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwStock::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getWarehouseId() != null) {
- queryWrapper.lambda().eq(YwStock::getWarehouseId, pageWrap.getModel().getWarehouseId());
- }
- if (pageWrap.getModel().getMaterialId() != null) {
- queryWrapper.lambda().eq(YwStock::getMaterialId, pageWrap.getModel().getMaterialId());
- }
- if (pageWrap.getModel().getStock() != null) {
- queryWrapper.lambda().eq(YwStock::getStock, pageWrap.getModel().getStock());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
- }
- }
- return PageData.from(ywStockMapper.selectPage(page, queryWrapper));
+ YwStock model = pageWrap.getModel();
+ queryWrapper.selectAll(YwStock.class)
+ .selectAs(YwWarehouse::getName,YwStock::getWarehouseName)
+ .selectAs(YwMaterial::getCode,YwStock::getMaterialCode)
+ .selectAs(YwMaterial::getName,YwStock::getMaterialName)
+ .selectAs(YwMaterial::getQrcode,YwStock::getMaterialQrcode)
+ .selectAs(YwMaterial::getBrand,YwStock::getMaterialBrand)
+ .selectAs(YwMaterial::getUnitName,YwStock::getMaterialUnitName)
+ .selectAs(YwMaterial::getAttr,YwStock::getMaterialAttr)
+ .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwStock::getWarehouseId)
+ .leftJoin(YwMaterial.class,YwMaterial::getId,YwStock::getMaterialId)
+ .eq(Objects.nonNull(model.getWarehouseId()),YwOutinbound::getWarehouseId,model.getWarehouseId())
+ .and(StringUtils.isNotBlank(model.getMaterialCode()),i->i.like(YwMaterial::getName,model.getMaterialCode()).or().like(YwMaterial::getName,model.getMaterialCode()))
+ .like(StringUtils.isNotBlank(model.getMaterialCode()),YwMaterial::getCode,model.getMaterialCode())
+ .like(StringUtils.isNotBlank(model.getMaterialAttr()),YwMaterial::getAttr,model.getMaterialAttr())
+ .orderByAsc(YwMaterial::getCode)
+ ;
+ IPage iPage = ywStockMapper.selectJoinPage(page,YwStock.class,queryWrapper);
+ return PageData.from(iPage);
}
+
+
+
+
+
+
+
@Override
public long count(YwStock ywStock) {
QueryWrapper<YwStock> wrapper = new QueryWrapper<>(ywStock);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWarehouseServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWarehouseServiceImpl.java
index 1fdf92c..35a70ea 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWarehouseServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWarehouseServiceImpl.java
@@ -1,20 +1,34 @@
package com.doumee.service.business.impl;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.YwStockMapper;
import com.doumee.dao.business.YwWarehouseMapper;
-import com.doumee.dao.business.model.YwWarehouse;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.YwWarehouseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.java.Log;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 杩愮淮浠撳簱淇℃伅琛⊿ervice瀹炵幇
@@ -27,15 +41,47 @@
@Autowired
private YwWarehouseMapper ywWarehouseMapper;
+ @Autowired
+ private YwStockMapper ywStockMapper;
+
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public Integer create(YwWarehouse ywWarehouse) {
+ if(Objects.isNull(ywWarehouse)
+ || StringUtils.isBlank(ywWarehouse.getName())
+ || Objects.isNull(ywWarehouse.getUserId())
+ || Objects.isNull(ywWarehouse.getStatus())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(ywWarehouseMapper.selectCount(new QueryWrapper<YwWarehouse>().lambda().eq(YwWarehouse::getIsdeleted,Constants.ZERO).eq(YwWarehouse::getName,ywWarehouse.getName())) > Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠撳簱鍚嶇О宸插瓨鍦紒");
+ }
+ LoginUserInfo loginUserInfo = ywWarehouse.getLoginUserInfo();
+ ywWarehouse.setCreator(loginUserInfo.getId());
+ ywWarehouse.setCreateDate(new Date());
+ ywWarehouse.setIsdeleted(Constants.ZERO);
ywWarehouseMapper.insert(ywWarehouse);
return ywWarehouse.getId();
}
@Override
- public void deleteById(Integer id) {
- ywWarehouseMapper.deleteById(id);
+ public void deleteById(Integer id, LoginUserInfo loginUserInfo) {
+ YwWarehouse ywWarehouse = ywWarehouseMapper.selectById(id);
+ if(Objects.isNull(ywWarehouse)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //鍒ゆ柇鏁版嵁涓嬫槸鍚﹀瓨鍦ㄨ祫浜ф暟鎹�
+ if(ywStockMapper.selectCount(new QueryWrapper<YwStock>().lambda().eq(YwStock::getIsdeleted,Constants.ZERO)
+ .gt(YwStock::getStock,Constants.ZERO)
+ .eq(YwStock::getWarehouseId,ywWarehouse.getId()))>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠浠撳簱鍐呮湁搴撳瓨鐨勮祫浜э紝涓嶅彲鍒犻櫎");
+ };
+ ywWarehouseMapper.update(new UpdateWrapper<YwWarehouse>().lambda()
+ .set(YwWarehouse::getEditDate, DateUtil.getCurrDateTime())
+ .set(YwWarehouse::getEditor, loginUserInfo.getId())
+ .set(YwWarehouse::getIsdeleted,Constants.ONE)
+ .eq(YwWarehouse::getId,ywWarehouse.getId()));
}
@Override
@@ -53,7 +99,23 @@
}
@Override
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void updateById(YwWarehouse ywWarehouse) {
+ if(Objects.isNull(ywWarehouse)
+ || StringUtils.isBlank(ywWarehouse.getName())
+ || Objects.isNull(ywWarehouse.getUserId())
+ || Objects.isNull(ywWarehouse.getStatus())
+ || Objects.isNull(ywWarehouse.getId())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ if(ywWarehouseMapper.selectCount(new QueryWrapper<YwWarehouse>().lambda().ne(YwWarehouse::getId,ywWarehouse.getId()).eq(YwWarehouse::getIsdeleted,Constants.ZERO).eq(YwWarehouse::getName,ywWarehouse.getName())) > Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浠撳簱鍚嶇О宸插瓨鍦紒");
+ }
+ LoginUserInfo loginUserInfo = ywWarehouse.getLoginUserInfo();
+ ywWarehouse.setEditor(loginUserInfo.getId());
+ ywWarehouse.setEditDate(new Date());
+ ywWarehouse.setIsdeleted(Constants.ZERO);
ywWarehouseMapper.updateById(ywWarehouse);
}
@@ -79,58 +141,30 @@
}
@Override
- public List<YwWarehouse> findList(YwWarehouse ywWarehouse) {
- QueryWrapper<YwWarehouse> wrapper = new QueryWrapper<>(ywWarehouse);
- return ywWarehouseMapper.selectList(wrapper);
+ public List<YwWarehouse> findList(YwWarehouse model) {
+ MPJLambdaWrapper<YwWarehouse> queryWrapper = new MPJLambdaWrapper<YwWarehouse>();
+ queryWrapper.selectAll(YwWarehouse.class)
+ .eq(Objects.nonNull(model.getStatus()),YwWarehouse::getStatus,model.getStatus())
+ .eq(YwWarehouse::getIsdeleted,Constants.ZERO)
+ .eq(YwWarehouse::getStatus,Constants.ZERO)
+ .orderByAsc(YwWarehouse::getSortnum)
+ ;
+ return ywWarehouseMapper.selectList(queryWrapper);
}
-
+
@Override
public PageData<YwWarehouse> findPage(PageWrap<YwWarehouse> pageWrap) {
IPage<YwWarehouse> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<YwWarehouse> queryWrapper = new QueryWrapper<>();
+ MPJLambdaWrapper<YwWarehouse> queryWrapper = new MPJLambdaWrapper<YwWarehouse>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(YwWarehouse::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(YwWarehouse::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEditor() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getEditor, pageWrap.getModel().getEditor());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(YwWarehouse::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(YwWarehouse::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getName() != null) {
- queryWrapper.lambda().ge(YwWarehouse::getName, Utils.Date.getStart(pageWrap.getModel().getName()));
- queryWrapper.lambda().le(YwWarehouse::getName, Utils.Date.getEnd(pageWrap.getModel().getName()));
- }
- if (pageWrap.getModel().getPosition() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getPosition, pageWrap.getModel().getPosition());
- }
- if (pageWrap.getModel().getCode() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getCode, pageWrap.getModel().getCode());
- }
- if (pageWrap.getModel().getUserId() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getUserId, pageWrap.getModel().getUserId());
- }
- if (pageWrap.getModel().getSortnum() != null) {
- queryWrapper.lambda().eq(YwWarehouse::getSortnum, pageWrap.getModel().getSortnum());
- }
+ YwWarehouse model = pageWrap.getModel();
+ queryWrapper.selectAll(YwWarehouse.class)
+ .selectAs(SystemUser::getRealname, YwWarehouse::getUserName)
+ .leftJoin(SystemUser.class,SystemUser::getId,YwWarehouse::getUserId)
+ .eq(Objects.nonNull(model.getStatus()),YwWarehouse::getStatus,model.getStatus())
+ .like(StringUtils.isNotBlank(model.getName()),YwWarehouse::getName,model.getName())
+ .eq(YwWarehouse::getIsdeleted,Constants.ZERO)
+ ;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
@@ -138,9 +172,65 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(ywWarehouseMapper.selectPage(page, queryWrapper));
+ IPage iPage = ywWarehouseMapper.selectJoinPage(page,YwWarehouse.class,queryWrapper);
+ return PageData.from(iPage);
}
+
+// @Override
+// public PageData<YwWarehouse> findPage(PageWrap<YwWarehouse> pageWrap) {
+// IPage<YwWarehouse> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+// QueryWrapper<YwWarehouse> queryWrapper = new QueryWrapper<>();
+// Utils.MP.blankToNull(pageWrap.getModel());
+//
+// if (pageWrap.getModel().getId() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getId, pageWrap.getModel().getId());
+// }
+// if (pageWrap.getModel().getCreator() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getCreator, pageWrap.getModel().getCreator());
+// }
+// if (pageWrap.getModel().getCreateDate() != null) {
+// queryWrapper.lambda().ge(YwWarehouse::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+// queryWrapper.lambda().le(YwWarehouse::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+// }
+// if (pageWrap.getModel().getEditor() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getEditor, pageWrap.getModel().getEditor());
+// }
+// if (pageWrap.getModel().getEditDate() != null) {
+// queryWrapper.lambda().ge(YwWarehouse::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+// queryWrapper.lambda().le(YwWarehouse::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+// }
+// if (pageWrap.getModel().getRemark() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getRemark, pageWrap.getModel().getRemark());
+// }
+// if (pageWrap.getModel().getStatus() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getStatus, pageWrap.getModel().getStatus());
+// }
+// if (pageWrap.getModel().getName() != null) {
+// queryWrapper.lambda().like(YwWarehouse::getName, pageWrap.getModel().getName());
+// }
+// if (pageWrap.getModel().getPosition() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getPosition, pageWrap.getModel().getPosition());
+// }
+// if (pageWrap.getModel().getCode() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getCode, pageWrap.getModel().getCode());
+// }
+// if (pageWrap.getModel().getUserId() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getUserId, pageWrap.getModel().getUserId());
+// }
+// if (pageWrap.getModel().getSortnum() != null) {
+// queryWrapper.lambda().eq(YwWarehouse::getSortnum, pageWrap.getModel().getSortnum());
+// }
+// for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+// if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+// queryWrapper.orderByDesc(sortData.getProperty());
+// } else {
+// queryWrapper.orderByAsc(sortData.getProperty());
+// }
+// }
+// return PageData.from(ywWarehouseMapper.selectPage(page, queryWrapper));
+// }
+
@Override
public long count(YwWarehouse ywWarehouse) {
QueryWrapper<YwWarehouse> wrapper = new QueryWrapper<>(ywWarehouse);
--
Gitblit v1.9.3