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); 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; } } /** * è·å车çç±»åä¿¡æ¯ * 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æ°æ®"); } } 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)); } } 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)); } } 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> { } 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> { } 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> { } 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> { } 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> { } 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> { } 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; 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 = "ç©èµç¼ç ï¼å ³èyw_material)", example = "1") @ExcelColumn(name="ç©èµç¼ç ï¼å ³èyw_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æ£å¸¸") 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; } 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 = "ç©èµç¼ç ï¼å ³èyw_material)", example = "1") @ExcelColumn(name="ç©èµç¼ç ï¼å ³èyw_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; } 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 = "ç©èµç¼ç ï¼å ³èyw_material)", example = "1") @ExcelColumn(name="ç©èµç¼ç ï¼å ³èyw_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; } 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; 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; } 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); } 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); } 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); /** * å é¤ 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); } } 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"); } } 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; /** * è¿ç»´åºåä¿¡æ¯è¡¨Serviceå®ç° @@ -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); 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; /** * è¿ç»´ä»åºä¿¡æ¯è¡¨Serviceå®ç° @@ -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);