仓库管理

liweidong
wusiyu 1 month ago
parent 1f7e71f88b
commit c8c0905f1b
  1. 10
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java
  2. 5
      blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java
  3. 30
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/ClassOutboundDTO.java
  4. 80
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/ErpStPurOtherDTO.java
  5. 32
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/dto/InitStockDTO.java
  6. 72
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/entity/MesConstant.java
  7. 30
      blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/DeptUserTreeVO.java
  8. 1
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
  9. 9
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
  10. 1
      blade-service/blade-system/src/main/java/org/springblade/system/service/IDeptService.java
  11. 5
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java
  12. 18
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IPvBomRequestService.java
  13. 47
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStAllotRecordService.java
  14. 63
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStBuyOrderService.java
  15. 58
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStClassRequestService.java
  16. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStErpWarehouseTransferService.java
  17. 52
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireRecordService.java
  18. 43
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStExpireSubmissionService.java
  19. 52
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStGlassCakeOutService.java
  20. 46
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStGoodsClassService.java
  21. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStGoodsExtService.java
  22. 49
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStLendService.java
  23. 44
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStLockGoodsService.java
  24. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStMeasuringMaintenService.java
  25. 44
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStMoldApplyForService.java
  26. 45
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStMoldBaseService.java
  27. 53
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStOtherOutRecordService.java
  28. 49
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStOtherReceiptRecordService.java
  29. 19
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStPdmApi.java
  30. 47
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRealtimeStockService.java
  31. 56
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRequisitionService.java
  32. 43
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStReturnRecordService.java
  33. 51
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStStockInoutRecordService.java
  34. 55
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStStorageLocationService.java
  35. 53
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStStorehouseService.java
  36. 44
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStUserRightService.java
  37. 37
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWarehouseTransferRecordService.java
  38. 49
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStWmsRequestService.java
  39. 21
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/ISyDockingLogService.java
  40. 68
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/InitStockListener.java
  41. 5
      blade-service/blade-wms/src/main/resources/application-dev.yml

@ -48,6 +48,7 @@ public interface ISysClient {
String API_PREFIX = "/feign/client/system";
String MENU = API_PREFIX + "/menu";
String DEPT = API_PREFIX + "/dept";
String DEPT_CODE = API_PREFIX + "/dept-code";
String DEPT_IDS = API_PREFIX + "/dept-ids";
String DEPT_IDS_FUZZY = API_PREFIX + "/dept-ids-fuzzy";
String DEPT_NAME = API_PREFIX + "/dept-name";
@ -89,6 +90,15 @@ public interface ISysClient {
@GetMapping(DEPT)
R<Dept> getDept(@RequestParam("id") Long id);
/**
* 获取部门
*
* @param deptCode 主键
* @return Dept
*/
@GetMapping(DEPT_CODE)
R<Dept> getDeptByCode(@RequestParam("deptCode") String deptCode);
/**
* 获取部门id
*

@ -49,6 +49,11 @@ public class ISysClientFallback implements ISysClient {
return R.fail("获取数据失败");
}
@Override
public R<Dept> getDeptByCode(String deptCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> getDeptIds(String tenantId, String deptNames) {
return R.fail("获取数据失败");

@ -0,0 +1,30 @@
package org.springblade.wms.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName ClassOutboundDTO
* @description:
* @autor: WuSiYu
* @create 2026-01-09 13:40
**/
@Data
public class ClassOutboundDTO {
@Schema(description = "提请主键", required = true)
private Long crId;
@Schema(description = "出库数量", required = true)
private Double outQuantity;
@Schema(description = "库存主键", required = true)
private Long rlsId;
@Schema(description = "当前出库数量")
private Double currentOutQty;
}

@ -0,0 +1,80 @@
package org.springblade.wms.pojo.dto;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.io.Serial;
import java.math.BigDecimal;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName ErpStPurOtherDTO
* @description:
* @autor: WuSiYu
* @create 2026-01-16 14:49
**/
@Data
public class ErpStPurOtherDTO {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@JSONField(serialize = false)
private Long boId;
/**
* 采购单号
*/
@JSONField(serialize = false)
private String boCode;
/**
* 物料号
*/
private String prtno = "";
/**
* 等级
*/
private String prtlotno = "";
/**
* 需求部门
*/
private String reqdept = "";
/**
* 需求日期
*/
private String reqdat = "";
/**
* 需求数量
*/
private BigDecimal reqqty = new BigDecimal(0);
/**
* 申报日期
*/
private String reqdate = "";
/**
* 计划区域
*/
private String plnarea = "";
/**
* 需求状态
*/
private String reqstat = "9";
/**
* 申报人
*/
private String reqctlr = "";
/**
* 审批人
*/
private String checkman = "";
/**
* 审批日期
*/
private String checkdate = "";
private String note = "热表mes额外需求";
}

@ -0,0 +1,32 @@
package org.springblade.wms.pojo.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName InitStockDTO
* @description:
* @autor: WuSiYu
* @create 2026-01-04 17:47
**/
@Data
public class InitStockDTO {
@ExcelProperty("库房编号")
private String shCode;
@ExcelProperty("库位号")
private String location;
@ExcelProperty("物料编号")
private String goodsCode;
@ExcelProperty("批次号")
private String piNo;
@ExcelProperty("检验编号")
private String checkCode;
@ExcelProperty("厚度")
private String thickness;
@ExcelProperty("库存量")
private Double quantity;
@ExcelProperty("单价")
private Double price;
}

@ -0,0 +1,72 @@
package org.springblade.wms.pojo.entity;
import lombok.Data;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName MesConstant
* @description:
* @autor: WuSiYu
* @create 2026-01-21 10:44
**/
@Data
public class MesConstant {
// 穿梭框组件使用Key常量
/**
* @Fields NO_CHOOSE : 未选中
*/
public final static String TREE_NO_CHOOSE = "NoChoose";
/**
* @Fields CHOOSE : 选中
*/
public final static String TREE_CHOOSE = "Choose";
/**
* @Fields TREE_FOLDER : 节点Id
*/
public final static String TREE_ID = "id";
/**
* @Fields TREE_PID : 父级节点Id
*/
public final static String TREE_PID = "pid";
/**
* @Fields TREE_LABEL : 节点显示内容
*/
public final static String TREE_LABEL = "label";
/**
* @Fields TREE_TYPE : 节点类型
*/
public final static String TREE_TYPE = "type";
/**
* @Fields TREE_FOLDER : 父节点
*/
public final static String TREE_FOLDER = "folder";
/**
* @Fields TREE_ITEM : 叶子节点
*/
public final static String TREE_ITEM = "item";
/**
* @Fields TREE_CHILDERN : 父节点下属子级
*/
public final static String TREE_CHILDERN = "children";
/**
* @Fields TREE_RANK : 节点层级标记
*/
public final static String TREE_RANK = "rank";
/**
* @Fields TREE_CHILDERN : 系统Short类型默认值
*/
public final static Short DEFAULT_VALUE = -1;
/**
* @Fields ep : 列表查询参数
*/
public final static String EP = "ep";
/**
* 软件使用客户的logo文件名不包含扩展名
*/
static public final String CUSTOMER_LOGO_FILE_NAME="customer_logo";
}

@ -0,0 +1,30 @@
package org.springblade.wms.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.wms.pojo.entity.UserNode;
import java.io.Serial;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName DeptUserTreeVO
* @description:
* @autor: WuSiYu
* @create 2026-01-20 15:58
**/
@Data
public class DeptUserTreeVO {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "部门ID")
private Long id;
@Schema(description = "部门名称")
private String label;
@Schema(description = "子部门")
private List<DeptUserTreeVO> children;
@Schema(description = "部门下用户")
private List<UserNode> users;
}

@ -74,4 +74,5 @@ public interface DeptMapper extends BaseMapper<Dept> {
*/
List<String> getDeptNames(Long[] ids);
Dept getDeptByCode(String deptCode);
}

@ -113,4 +113,13 @@
and is_deleted = 0
</select>
<select id="getDeptByCode" resultMap="treeNodeResultMap">
SELECT
*
FROM
blade_dept
WHERE
dept_code = #{deptCode}
and is_deleted = 0
</select>
</mapper>

@ -138,4 +138,5 @@ public interface IDeptService extends IService<Dept> {
*/
List<UserVO> deptLeaderInfo(Long deptId);
Dept getDeptByCode(String deptCode);
}

@ -408,4 +408,9 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
return UserWrapper.build().listVO(userList);
}
@Override
public Dept getDeptByCode(String deptCode) {
return baseMapper.getDeptByCode(deptCode);
}
}

@ -0,0 +1,18 @@
package org.springblade.wms.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.pojo.entity.PvBomRequest;
import org.springblade.wms.pojo.entity.StAllotRecord;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IPvBomRequestService
* @description:
* @autor: WuSiYu
* @create 2026-01-25 18:20
**/
public interface IPvBomRequestService extends BaseService<PvBomRequest> {
}

@ -0,0 +1,47 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StAllotRecordExcel;
import org.springblade.wms.pojo.entity.StAllotRecord;
import org.springblade.wms.pojo.vo.StAllotRecordVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStAllotRecordService
* @description: 库位调拨记录表 服务类
* @autor: WuSiYu
* @create 2025-12-25 17:13
**/
public interface IStAllotRecordService extends BaseService<StAllotRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stAllotRecord 查询参数
* @return IPage<StAllotRecordVO>
*/
IPage<StAllotRecordVO> selectStAllotRecordPage(IPage<StAllotRecordVO> page, StAllotRecordVO stAllotRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StAllotRecordExcel>
*/
List<StAllotRecordExcel> exportStAllotRecord(Wrapper<StAllotRecord> queryWrapper);
boolean add(StAllotRecord stAllotRecord);
boolean batchAdd(List<StAllotRecord> stAllotRecordList);
IPage<StAllotRecordVO> selectAllotWithGoods(IPage<StAllotRecord> page, QueryWrapper<StAllotRecord> wrapper);
}

@ -0,0 +1,63 @@
package org.springblade.wms.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StBuyOrderExcel;
import org.springblade.wms.pojo.dto.StBuyOrderDTO;
import org.springblade.wms.pojo.entity.StBuyOrder;
import org.springblade.wms.pojo.vo.StBuyOrderVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStBuyOrderService
* @description: 采购申请单 服务类
* @autor: WuSiYu
* @create 2026-01-16 10:21
**/
public interface IStBuyOrderService extends BaseService<StBuyOrder> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stBuyOrder 查询参数
* @return IPage<StBuyOrderVO>
*/
IPage<StBuyOrderVO> selectStBuyOrderPage(IPage<StBuyOrderVO> page, StBuyOrderVO stBuyOrder);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StBuyOrderExcel>
*/
List<StBuyOrderExcel> exportStBuyOrder(Wrapper<StBuyOrder> queryWrapper);
String nextCode();
StBuyOrder queryForAdd(Long boId, BladeUser user);
void saveOrEdit(StBuyOrderDTO stBuyOrderDTO, BladeUser user);
void purOtherRest(List<StBuyOrder> list, Long userId);
IPage<StBuyOrderVO> selectStBuyTrackPage(IPage<StBuyOrderVO> page, StBuyOrderVO stBuyOrder);
void httpUpdateBo(Long id, String extraBill);
IPage<StBuyOrderVO> selectStoreRequestPage(IPage<StBuyOrderVO> page, StBuyOrderVO stBuyOrder);
StBuyOrder getByExtraBill(String str);
void approvalOrder(Long id, Short approvalResult, BladeUser approver);
// JSONObject otherPlanDetail(Long id, String prtno);
}

@ -0,0 +1,58 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StClassRequestExcel;
import org.springblade.wms.pojo.dto.ClassOutboundDTO;
import org.springblade.wms.pojo.entity.StClassRequest;
import org.springblade.wms.pojo.vo.StClassRequestVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStClassRequestService
* @description: 班组提请表 服务类
* @autor: WuSiYu
* @create 2026-01-08 14:54
**/
public interface IStClassRequestService extends BaseService<StClassRequest> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stClassRequest 查询参数
* @return IPage<StClassRequestVO>
*/
IPage<StClassRequestVO> selectStClassRequestPage(IPage<StClassRequestVO> page, StClassRequestVO stClassRequest);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StClassRequestExcel>
*/
List<StClassRequestExcel> exportStClassRequest(Wrapper<StClassRequest> queryWrapper);
String nextCode(Object o);
boolean addOrEditBatch(List<StClassRequest> list, List<Long> deleteIds, BladeUser user);
void classRequestOutbound(Long crId, Double outQuantity, Long rlsId, Long userId);
void batchOut(List<ClassOutboundDTO> list, BladeUser user);
Double getTeamNoOutStoreQtyByGoodsId(Long goodsId);
void approvalRequest(Long id, Short approvalResult, BladeUser user);
StClassRequest getByCrCode(String crCode);
IPage<StClassRequestVO> selectStTeamRequestPage(IPage<StClassRequestVO> page, StClassRequestVO stClassRequest);
}

@ -0,0 +1,45 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StErpWarehouseTransferExcel;
import org.springblade.wms.pojo.entity.StErpWarehouseTransfer;
import org.springblade.wms.pojo.vo.StErpWarehouseTransferVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStErpWarehouseTransferService
* @description: ERP库转移记录表 服务类
* @autor: WuSiYu
* @create 2026-01-06 11:50
**/
public interface IStErpWarehouseTransferService extends BaseService<StErpWarehouseTransfer> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stErpWarehouseTransfer 查询参数
* @return IPage<StErpWarehouseTransferVO>
*/
IPage<StErpWarehouseTransferVO> selectStErpWarehouseTransferPage(IPage<StErpWarehouseTransferVO> page, StErpWarehouseTransferVO stErpWarehouseTransfer);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StErpWarehouseTransferExcel>
*/
List<StErpWarehouseTransferExcel> exportStErpWarehouseTransfer(Wrapper<StErpWarehouseTransfer> queryWrapper);
void transferReceipt(Long shId, Long slId, Long ewtId, Double putQuantity, BladeUser user);
void transferReceiptBatch(BladeUser user);
}

@ -0,0 +1,52 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StExpireRecordExcel;
import org.springblade.wms.pojo.dto.StExpireRecordDTO;
import org.springblade.wms.pojo.entity.StExpireRecord;
import org.springblade.wms.pojo.vo.StExpireRecordVO;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStExpireRecordService
* @description: 到期维护记录表 服务类
* @autor: WuSiYu
* @create 2025-12-29 18:06
**/
public interface IStExpireRecordService extends BaseService<StExpireRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stExpireRecord 查询参数
* @return IPage<StExpireRecordVO>
*/
IPage<StExpireRecordVO> selectStExpireRecordPage(IPage<StExpireRecordVO> page, StExpireRecordVO stExpireRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StExpireRecordExcel>
*/
List<StExpireRecordExcel> exportStExpireRecord(Wrapper<StExpireRecord> queryWrapper);
void editStopUse(Long rlsId, Boolean stopUse, String memo);
void expireHandle(List<Long> rlsIdArr, String dueDate, BladeUser user);
void invalidatedOut(Long rlsId, Double outQty, String memo, String bfCode, Long rrId, String woCode, Short bfType, BladeUser user);
void batchInvalidatedOut(StExpireRecordDTO dto, BladeUser user);
}

@ -0,0 +1,43 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StExpireSubmissionExcel;
import org.springblade.wms.pojo.entity.StExpireSubmission;
import org.springblade.wms.pojo.vo.StExpireSubmissionVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStExpireSubmissionService
* @description: 到期送检表 服务类
* @autor: WuSiYu
* @create 2025-12-31 15:55
**/
public interface IStExpireSubmissionService extends BaseService<StExpireSubmission> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stExpireSubmission 查询参数
* @return IPage<StExpireSubmissionVO>
*/
IPage<StExpireSubmissionVO> selectStExpireSubmissionPage(IPage<StExpireSubmissionVO> page, StExpireSubmissionVO stExpireSubmission);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StExpireSubmissionExcel>
*/
List<StExpireSubmissionExcel> exportStExpireSubmission(Wrapper<StExpireSubmission> queryWrapper);
void saveOrEdit(List<StExpireSubmission> list, BladeUser user);
}

@ -0,0 +1,52 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StGlassCakeOutExcel;
import org.springblade.wms.pojo.dto.StGlassCakeOutDTO;
import org.springblade.wms.pojo.entity.StGlassCakeOut;
import org.springblade.wms.pojo.vo.StGlassCakeOutVO;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStAllotRecordService
* @description: 玻璃饼出库 服务类
* @autor: WuSiYu
* @create 2026-01-16 18:00
**/
public interface IStGlassCakeOutService extends BaseService<StGlassCakeOut> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stGlassCakeOut 查询参数
* @return IPage<StGlassCakeOutVO>
*/
IPage<StGlassCakeOutVO> selectStGlassCakeOutPage(IPage<StGlassCakeOutVO> page, StGlassCakeOutVO stGlassCakeOut);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StGlassCakeOutExcel>
*/
List<StGlassCakeOutExcel> exportStGlassCakeOut(Wrapper<StGlassCakeOut> queryWrapper);
List<StGlassCakeOut> scanCardProcess(String cardNo, BladeUser user);
StGlassCakeOut submitOutStock(StGlassCakeOut stGlassCakeOut, BladeUser user);
List<StGlassCakeOut> generatePreOutOrder(StGlassCakeOutDTO dto);
Map<String, Object> batchGeneratePreOutOrder(List<StGlassCakeOutDTO> dtoList);
List<StGlassCakeOut> batchSubmitOutStock(List<StGlassCakeOut> paramList, BladeUser user);
}

@ -0,0 +1,46 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StGoodsClassExcel;
import org.springblade.wms.pojo.entity.StGoodsClass;
import org.springblade.wms.pojo.vo.StGoodsClassVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStGoodsClassService
* @description:
* @autor: WuSiYu
* @create 2025-12-12 16:28
**/
public interface IStGoodsClassService extends BaseService<StGoodsClass> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stGoodsClass 查询参数
* @return IPage<StGoodsClassVO>
*/
IPage<StGoodsClassVO> selectStGoodsClassPage(IPage<StGoodsClassVO> page, StGoodsClassVO stGoodsClass);
Boolean checkName(Long id, String gcName);
Boolean checkCode(Long id, String gcCode);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StGoodsClassExcel>
*/
List<StGoodsClassExcel> exportStGoodsClass(Wrapper<StGoodsClass> queryWrapper);
List<StGoodsClass> findGoodsClass(String filterValue);
}

@ -0,0 +1,45 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StGoodsExtExcel;
import org.springblade.wms.pojo.entity.StGoodsExt;
import org.springblade.wms.pojo.vo.StGoodsExtVO;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStGoodsExtService
* @description: 物料状态表 服务类
* @autor: WuSiYu
* @create 2025-12-15 14:30
**/
public interface IStGoodsExtService extends BaseService<StGoodsExt> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stGoodsExt 查询参数
* @return IPage<StGoodsExtVO>
*/
IPage<StGoodsExtVO> selectStGoodsExtPage(IPage<StGoodsExtVO> page, StGoodsExtVO stGoodsExt);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StGoodsExtExcel>
*/
List<StGoodsExtExcel> exportStGoodsExt(Wrapper<StGoodsExt> queryWrapper);
IPage<StGoodsExtVO> selectGoodsExtPage(IPage<StGoodsExtVO> page, Map<String, Object> stGoodsExt);
Boolean getSpecial(Long goodsId);
}

@ -0,0 +1,49 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StLendExcel;
import org.springblade.wms.pojo.dto.StLendDTO;
import org.springblade.wms.pojo.entity.StLend;
import org.springblade.wms.pojo.vo.StLendVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStLendService
* @description: 物料借用 服务类
* @autor: WuSiYu
* @create 2026-01-09 17:23
**/
public interface IStLendService extends BaseService<StLend> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stLend 查询参数
* @return IPage<StLendVO>
*/
IPage<StLendVO> selectStLendPage(IPage<StLendVO> page, StLendVO stLend);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StLendExcel>
*/
List<StLendExcel> exportStLend(Wrapper<StLend> queryWrapper);
String nextCode();
boolean saveOrEditBatch(List<StLend> stLendList, BladeUser user) throws Exception;
List<StLend> generateRtnDataByBarCode(String barCode);
}

@ -0,0 +1,44 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StLockGoodsExcel;
import org.springblade.wms.pojo.entity.StLockGoods;
import org.springblade.wms.pojo.vo.StLockGoodsVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStLockGoodsService
* @description: 锁料记录表 服务类
* @autor: WuSiYu
* @create 2026-01-05 15:09
**/
public interface IStLockGoodsService extends BaseService<StLockGoods> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stLockGoods 查询参数
* @return IPage<StLockGoodsVO>
*/
IPage<StLockGoodsVO> selectStLockGoodsPage(IPage<StLockGoodsVO> page, StLockGoodsVO stLockGoods);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StLockGoodsExcel>
*/
List<StLockGoodsExcel> exportStLockGoods(Wrapper<StLockGoods> queryWrapper);
StLockGoods getByBrId(Long id);
void addOutQuantity(Double quantity, Long id);
}

@ -0,0 +1,45 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StMeasuringMaintenExcel;
import org.springblade.wms.pojo.entity.StMeasuringMainten;
import org.springblade.wms.pojo.vo.StMeasuringMaintenVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStMeasuringMaintenService
* @description: 量具保养表 服务类
* @autor: WuSiYu
* @create 2025-12-26 13:17
**/
public interface IStMeasuringMaintenService extends BaseService<StMeasuringMainten> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stMeasuringMainten 查询参数
* @return IPage<StMeasuringMaintenVO>
*/
IPage<StMeasuringMaintenVO> selectStMeasuringMaintenPage(IPage<StMeasuringMaintenVO> page, StMeasuringMaintenVO stMeasuringMainten);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StMeasuringMaintenExcel>
*/
List<StMeasuringMaintenExcel> exportStMeasuringMainten(Wrapper<StMeasuringMainten> queryWrapper);
boolean saveData(List<Long> rlsIds, BladeUser user);
boolean maintenanceAppFun(List<Long> mmIdLst, BladeUser user);
}

@ -0,0 +1,44 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StMoldApplyForExcel;
import org.springblade.wms.pojo.entity.StMoldApplyFor;
import org.springblade.wms.pojo.vo.StMoldApplyForVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStMoldApplyForService
* @description: 工装计划申请表 服务类
* @autor: WuSiYu
* @create 2025-12-30 17:50
**/
public interface IStMoldApplyForService extends BaseService<StMoldApplyFor> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stMoldApplyFor 查询参数
* @return IPage<StMoldApplyForVO>
*/
IPage<StMoldApplyForVO> selectStMoldApplyForPage(IPage<StMoldApplyForVO> page, StMoldApplyForVO stMoldApplyFor);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StMoldApplyForExcel>
*/
List<StMoldApplyForExcel> exportStMoldApplyFor(Wrapper<StMoldApplyFor> queryWrapper);
void addOrEditProcess(List<StMoldApplyFor> list, List<Long> deleteIds, BladeUser user);
}

@ -0,0 +1,45 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StMoldBaseExcel;
import org.springblade.wms.pojo.entity.StMoldBase;
import org.springblade.wms.pojo.vo.StMoldBaseVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStMoldBaseService
* @description: 模具关系表 服务类
* @autor: WuSiYu
* @create 2025-12-25 14:56
**/
public interface IStMoldBaseService extends BaseService<StMoldBase> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stMoldBase 查询参数
* @return IPage<StMoldBaseVO>
*/
IPage<StMoldBaseVO> selectStMoldBasePage(IPage<StMoldBaseVO> page, StMoldBaseVO stMoldBase);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StMoldBaseExcel>
*/
List<StMoldBaseExcel> exportStMoldBase(Wrapper<StMoldBase> queryWrapper);
List<StMoldBase> getByGoodsId(Long goodsId);
boolean addOrEdit(List<StMoldBase> list, List<Long> deleteIds);
}

@ -0,0 +1,53 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StOtherOutRecordExcel;
import org.springblade.wms.pojo.dto.StOtherOutRecordDTO;
import org.springblade.wms.pojo.entity.StOtherOutRecord;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springblade.wms.pojo.vo.StOtherOutRecordVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStOtherOutRecordService
* @description: 其他出库表 服务类
* @autor: WuSiYu
* @create 2026-01-07 14:05
**/
public interface IStOtherOutRecordService extends BaseService<StOtherOutRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stOtherOutRecord 查询参数
* @return IPage<StOtherOutRecordVO>
*/
IPage<StOtherOutRecordVO> selectStOtherOutRecordPage(IPage<StOtherOutRecordVO> page, StOtherOutRecordVO stOtherOutRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StOtherOutRecordExcel>
*/
List<StOtherOutRecordExcel> exportStOtherOutRecord(Wrapper<StOtherOutRecord> queryWrapper);
void addOtherOutRecord(StOtherOutRecord stOtherOutRecord, List<StRealtimeStock> outList, BladeUser user);
StOtherOutRecord getBySirId(Long id);
void approvalRequest(Long id, Short approvalResult, BladeUser user);
void createPendingOutRecord(StOtherOutRecord record, List<StRealtimeStock> stockList, BladeUser user);
StOtherOutRecordVO getDetail(Long id);
}

@ -0,0 +1,49 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StOtherReceiptRecordExcel;
import org.springblade.wms.pojo.dto.InitStockDTO;
import org.springblade.wms.pojo.entity.PfUserInfo;
import org.springblade.wms.pojo.entity.StOtherReceiptRecord;
import org.springblade.wms.pojo.vo.StOtherReceiptRecordVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStOtherReceiptRecordService
* @description: 其他入库表 服务类
* @autor: WuSiYu
* @create 2026-01-04 15:55
**/
public interface IStOtherReceiptRecordService extends BaseService<StOtherReceiptRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stOtherReceiptRecord 查询参数
* @return IPage<StOtherReceiptRecordVO>
*/
IPage<StOtherReceiptRecordVO> selectStOtherReceiptRecordPage(IPage<StOtherReceiptRecordVO> page, StOtherReceiptRecordVO stOtherReceiptRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StOtherReceiptRecordExcel>
*/
List<StOtherReceiptRecordExcel> exportStOtherReceiptRecord(Wrapper<StOtherReceiptRecord> queryWrapper);
void saveImportData(List<InitStockDTO> list, BladeUser user) throws Exception;
void otherWarehousing(StOtherReceiptRecord stOtherReceiptRecord, BladeUser user);
List<StOtherReceiptRecordVO> getGlassCakeByWoCode(String woCode);
}

@ -0,0 +1,19 @@
package org.springblade.wms.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.pojo.entity.StGoods;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStErpApi
* @description:
* @autor: WuSiYu
* @create 2025-12-16 10:38
**/
public interface IStPdmApi extends BaseService<StGoods> {
void saveGoodsInfo(List<String> prtnoList) throws Exception;
}

@ -5,16 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StRealtimeStockExcel;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springblade.wms.pojo.entity.StStockInoutRecord;
import org.springblade.wms.pojo.entity.StStorageLocation;
import org.springblade.wms.pojo.entity.StStoreBill;
import org.springblade.wms.pojo.vo.PrintParentWoLabel;
import org.springblade.wms.pojo.vo.PrintStoresList;
import org.springblade.wms.pojo.vo.StGoodStatisVO;
import org.springblade.wms.pojo.vo.StRealtimeStockVO;
import org.springblade.wms.pojo.entity.*;
import org.springblade.wms.pojo.vo.*;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
@ -62,7 +57,7 @@ public interface IStRealtimeStockService extends BaseService<StRealtimeStock> {
Double findPriceByParams(Long goodsId, String checkNo);
IPage<StRealtimeStockVO> selectByGoodsIdShId(Long goodsId, Long shId, String deptId);
IPage<StRealtimeStockVO> selectByGoodsIdShId(IPage<StRealtimeStockVO> page, Long goodsId, Long shId,Long slId,String piNo);
// IPage<StRealtimeStockVO> selectGoodsOut(String filterValue, Long shId, Long goodsId, String deptId, Integer current, Integer size);
@ -79,17 +74,37 @@ public interface IStRealtimeStockService extends BaseService<StRealtimeStock> {
IPage<StRealtimeStockVO> selectStockGoodsPage(IPage<StRealtimeStockVO> page, StRealtimeStockVO stRealtimeStock);
IPage<StRealtimeStockVO> selectToolsStockPage(IPage<StRealtimeStockVO> page, StRealtimeStockVO stRealtimeStock);
IPage<StRealtimeStockVO> selectNearExpiry30DaysPage(IPage<StRealtimeStockVO> page, StRealtimeStockVO stRealtimeStock);
StRealtimeStock getBySlIdAndGoodsCode(Long slId, String goodsCode);
List<String> findBySlIdAndGoodsCode(Long slId, String goodsCode);
List<StRealtimeStockVO> findByPiNoAndGoodsCode(String piNo, String goodsCode);
Double selectGoodsStockTotal(String goodsCode);
List<StStorehouseVO> findStorehouseByGoodsCode(String goodsCode);
StRealtimeStock getByGoodsCodeAndShIdAndSlId(String goodsCode, Long shId, Long slId);
Map<String, Object> getBarCode(Long rlsId);
// void updateById(StRealtimeStockLock stockLock);
/**
* 根据物料编码查询库存信息
* @param partCode
* @return
*/
List<StRealtimeStock> getGoodsByPartCode(String partCode);
/**
* 根据物料编码统计信息
* @param partCode
* @return
*/
StGoodStatisVO getGoodsByCode(String partCode);
// List<StRealtimeStock> getGoodsByPartCode(String partCode);
// /**
// * 根据物料编码统计信息
// * @param partCode
// * @return
// */
// StGoodStatisVO getGoodsByCode(String partCode);
}

@ -0,0 +1,56 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.servlet.http.HttpServletResponse;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StRequisitionExcel;
import org.springblade.wms.pojo.dto.StRequisitionDTO;
import org.springblade.wms.pojo.entity.StRequisition;
import org.springblade.wms.pojo.vo.StRequisitionVO;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStRequisitionService
* @description: 领料单打印 服务类
* @autor: WuSiYu
* @create 2026-01-21 16:01
**/
public interface IStRequisitionService extends BaseService<StRequisition> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stRequisition 查询参数
* @return IPage<StRequisitionVO>
*/
IPage<StRequisitionVO> selectStRequisitionPage(IPage<StRequisitionVO> page, StRequisitionVO stRequisition);
void updateStatus(Long srId, Short curStatus);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StRequisitionExcel>
*/
List<StRequisitionExcel> exportStRequisition(Wrapper<StRequisition> queryWrapper);
List<StRequisitionExcel> assembleExportData(QueryWrapper<StRequisition> queryWrapper, String printType);
void detailPrint(String idList, Short exportType, String print, HttpServletResponse response);
IPage<StRequisitionVO> selectWaitPushPage(IPage<StRequisitionVO> page, StRequisitionVO stRequisition);
void pushWarehose(List<StRequisitionDTO> list, BladeUser user);
Map<String, Object> getBarCode(Long srId);
}

@ -0,0 +1,43 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StReturnRecordExcel;
import org.springblade.wms.pojo.entity.StReturnRecord;
import org.springblade.wms.pojo.vo.StReturnRecordVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStReturnRecordService
* @description: 归还记录 服务类
* @autor: WuSiYu
* @create 2026-01-15 16:17
**/
public interface IStReturnRecordService extends BaseService<StReturnRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stReturnRecord 查询参数
* @return IPage<StReturnRecordVO>
*/
IPage<StReturnRecordVO> selectStReturnRecordPage(IPage<StReturnRecordVO> page, StReturnRecordVO stReturnRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StReturnRecordExcel>
*/
List<StReturnRecordExcel> exportStReturnRecord(Wrapper<StReturnRecord> queryWrapper);
boolean sendBackBatch(List<StReturnRecord> stReturnRecordList, BladeUser user) throws Exception;
}

@ -0,0 +1,51 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StStockInoutRecordExcel;
import org.springblade.wms.pojo.entity.StGoods;
import org.springblade.wms.pojo.entity.StStockInoutRecord;
import org.springblade.wms.pojo.vo.StStockInoutRecordVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStStockInoutRecordService
* @description: 出入库记录表 服务类
* @autor: WuSiYu
* @create 2026-01-04 11:26
**/
public interface IStStockInoutRecordService extends BaseService<StStockInoutRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stStockInoutRecord 查询参数
* @return IPage<StStockInoutRecordVO>
*/
IPage<StStockInoutRecordVO> selectStStockInoutRecordPage(IPage<StStockInoutRecordVO> page, StStockInoutRecordVO stStockInoutRecord);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StStockInoutRecordExcel>
*/
List<StStockInoutRecordExcel> exportStStockInoutRecord(Wrapper<StStockInoutRecord> queryWrapper);
IPage<StStockInoutRecordVO> getWarehousing(IPage<StStockInoutRecord> page, QueryWrapper<StStockInoutRecord> wrapper);
String generateCode();
String getMaxPiNo(String typeCode);
StStockInoutRecord createInoutRecord(Short inOutSource, Long shId, BladeUser createUser, BladeUser userId, Double arriveQuantity, Double unitPrice, String piNo, StGoods stGoods, Long brId, Long slId, String checkNo, String quantityLevel, String buyCode, boolean moldBaseMaterial);
}

@ -0,0 +1,55 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.excel.StStorageLocationExcel;
import org.springblade.wms.pojo.entity.StStorageLocation;
import org.springblade.wms.pojo.vo.StStorageLocationVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStStorageLocationService
* @description: 库位维护表 服务类
* @autor: WuSiYu
* @create 2025-12-18 14:41
**/
public interface IStStorageLocationService extends BaseService<StStorageLocation> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stStorageLocation 查询参数
* @return IPage<StStorageLocationVO>
*/
IPage<StStorageLocationVO> selectStStorageLocationPage(IPage<StStorageLocationVO> page, StStorageLocationVO stStorageLocation);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StStorageLocationExcel>
*/
List<StStorageLocationExcel> exportStStorageLocation(Wrapper<StStorageLocation> queryWrapper);
List<StStorageLocation> findByShId(Long keyId);
Boolean checkLocation(Long id, String location, Long shId);
StStorageLocation findByGoodsCode(String goodsCode);
List<StStorageLocationVO> findByShIdAndGoodsId(Long shId, String goodsCode);
boolean batchAddOrEdit(List<StStorageLocation> stStorageLocations);
StStorageLocation findByLocation(String location);
IPage<StStorageLocationVO> selectStStorageLocationAllPage(IPage<StStorageLocationVO> page, StStorageLocationVO stStorageLocation);
}

@ -0,0 +1,53 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StStorehouseExcel;
import org.springblade.wms.pojo.entity.StStorehouse;
import org.springblade.wms.pojo.vo.StStorehouseVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStStorehouseService
* @description: 库房维护表 服务类
* @autor: WuSiYu
* @create 2025-12-18 14:22
**/
public interface IStStorehouseService extends BaseService<StStorehouse> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stStorehouse 查询参数
* @return IPage<StStorehouseVO>
*/
IPage<StStorehouseVO> selectStStorehousePage(IPage<StStorehouseVO> page, StStorehouseVO stStorehouse);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StStorehouseExcel>
*/
List<StStorehouseExcel> exportStStorehouse(Wrapper<StStorehouse> queryWrapper);
Boolean checkName(Long id, String shName);
Boolean checkCode(Long id, String shCode);
StStorehouse getByCode(String shCode);
// IPage<StStorehouseVO> selectStorehousePage(IPage<StStorehouseVO> page, StStorehouseVO stStorehouse);
Object assembleaStorehouse(Long userId, String urTypeStorehouse);
IPage<StStorehouseVO> selectStorehousePage(IPage<StStorehouseVO> page, StStorehouseVO stStorehouse, Long userId, String urTypeStorehouse);
}

@ -0,0 +1,44 @@
package org.springblade.wms.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.pojo.entity.StUserRight;
import org.springblade.wms.pojo.vo.DeptUserTreeVO;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStUserRightService
* @description: 人员权限表 服务类
* @autor: WuSiYu
* @create 2026-01-20 15:04
**/
public interface IStUserRightService extends BaseService<StUserRight> {
void saveUserRight(Long shId, Long userId, List<Long> userIdList);
void saveStorehouseRight(List<Long> shIdList, Long userId);
Object assembleaUserRight(Long shId, String urTypeStorehouse);
// /**
// * 自定义分页
// *
// * @param page 分页参数
// * @param stUserRight 查询参数
// * @return IPage<StUserRightVO>
// */
// IPage<StUserRightVO> selectStUserRightPage(IPage<StUserRightVO> page, StUserRightVO stUserRight);
//
//
// /**
// * 导出数据
// *
// * @param queryWrapper 查询条件
// * @return List<StUserRightExcel>
// */
// List<StUserRightExcel> exportStUserRight(Wrapper<StUserRightEntity> queryWrapper);
}

@ -0,0 +1,37 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.pojo.entity.StWarehouseTransferRecord;
import org.springblade.wms.pojo.vo.StWarehouseTransferRecordVO;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStWarehouseTransferRecordService
* @description: 转移入库记录表 服务类
* @autor: WuSiYu
* @create 2026-01-06 15:52
**/
public interface IStWarehouseTransferRecordService extends BaseService<StWarehouseTransferRecord> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stWarehouseTransferRecord 查询参数
* @return IPage<StWarehouseTransferRecordVO>
*/
IPage<StWarehouseTransferRecordVO> selectStWarehouseTransferRecordPage(IPage<StWarehouseTransferRecordVO> page, StWarehouseTransferRecordVO stWarehouseTransferRecord);
// /**
// * 导出数据
// *
// * @param queryWrapper 查询条件
// * @return List<StWarehouseTransferRecordExcel>
// */
// List<StWarehouseTransferRecordExcel> exportStWarehouseTransferRecord(Wrapper<StWarehouseTransferRecordEntity> queryWrapper);
}

@ -0,0 +1,49 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.core.secure.BladeUser;
import org.springblade.wms.excel.StWmsRequestExcel;
import org.springblade.wms.pojo.entity.StWmsRequest;
import org.springblade.wms.pojo.vo.StWmsRequestVO;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IStWmsRequestService
* @description: 仓库提请记录 服务类
* @autor: WuSiYu
* @create 2026-01-20 11:01
**/
public interface IStWmsRequestService extends BaseService<StWmsRequest> {
/**
* 自定义分页
*
* @param page 分页参数
* @param stWmsRequest 查询参数
* @return IPage<StWmsRequestVO>
*/
IPage<StWmsRequestVO> selectStWmsRequestPage(IPage<StWmsRequestVO> page, StWmsRequestVO stWmsRequest);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<StWmsRequestExcel>
*/
List<StWmsRequestExcel> exportStWmsRequest(Wrapper<StWmsRequest> queryWrapper);
void saveOrEdit(StWmsRequest stWmsRequest, BladeUser user);
void updateStatusByKeyId(Long keyId, Short status);
void approvalRequest(Long id, Short approvalResult, BladeUser user);
void batchSaveOrEdit(List<StWmsRequest> stWmsRequestList, BladeUser user);
}

@ -0,0 +1,21 @@
package org.springblade.wms.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.wms.pojo.entity.SyDockingLog;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName ISyDockingLogService
* @description: 接口对接日志 服务类
* @autor: WuSiYu
* @create 2026-01-16 17:03
**/
public interface ISyDockingLogService extends BaseService<SyDockingLog> {
void sendDockingLog(String readType, String code, String readResult);
}

@ -0,0 +1,68 @@
package org.springblade.wms.service.impl;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import lombok.SneakyThrows;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.wms.pojo.dto.InitStockDTO;
import org.springblade.wms.service.IStOtherReceiptRecordService;
import java.util.ArrayList;
import java.util.List;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName InitStockListener
* @description:
* @autor: WuSiYu
* @create 2026-01-04 17:44
**/
public class InitStockListener extends AnalysisEventListener<InitStockDTO> {
protected static int count = 0;
private Long userId;
private IStOtherReceiptRecordService stOtherReceiptRecordService;
public List<InitStockDTO> getList() {
return list;
}
public void setList(List<InitStockDTO> list) {
this.list = list;
}
public InitStockListener(IStOtherReceiptRecordService stOtherReceiptRecordService, BladeUser user) {
this.stOtherReceiptRecordService = stOtherReceiptRecordService;
this.userId = user.getUserId();
}
protected List<InitStockDTO> list = new ArrayList<>();
@SneakyThrows
@Override
public void invoke(InitStockDTO data, AnalysisContext context) {
if (data.getShCode() == null || data.getGoodsCode() == null
|| data.getQuantity() == null || data.getLocation() == null) {
return;
}
list.add(data);
if (list.size() >= 500) {
saveData();
list = new ArrayList<>(500);
}
}
@SneakyThrows
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
saveData();
}
private void saveData() throws Exception {
stOtherReceiptRecordService.saveImportData(list, AuthUtil.getUser());
}
}

@ -9,3 +9,8 @@ spring:
username: ${blade.datasource.dev.username}
password: ${blade.datasource.dev.password}
request:
pdm:
url: "http://192:168:119:235:8181"
extraPlan:
url: "http://192:168:18:121:10002"

Loading…
Cancel
Save