feat(wms): 完善wms

- 实现调拨打印的 CRUD功能
- 修改供应商和客户基础信息bug
- 入库单子表新加agv相关字段,当入库单为agv入库时更新agv入库任务界面并且状态为未打印(未调用),当agv入库单子表打印时调用agv接口(待完善逻辑)
hwmom-htk
zangch@mesnac.com 5 months ago
parent 5b4d539ce8
commit 6e269354ac

@ -26,7 +26,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/mes/baseMaterialInfo
* 访:/wms/baseMaterialInfo
*
* @author zangch
* @date 2025-01-07

@ -22,7 +22,7 @@ import java.util.List;
/**
*
* 访:/mes/baseMaterialType
* 访:/wms/baseMaterialType
*
* @author zangch
* @date 2025-01-07

@ -23,7 +23,7 @@ import java.util.List;
/**
*
* 访:/mes/baseMeasurementUnitInfo
* 访:/wms/baseMeasurementUnitInfo
*
* @author zangch
* @date 2025-01-08

@ -1,6 +1,5 @@
package org.dromara.wms.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -50,9 +49,9 @@ public class BaseSupplierInfoController extends BaseController {
/**
*
*/
@SaCheckPermission("mes:baseSupplierInfo:export")
//@SaCheckPermission("mes:baseSupplierInfo:export")
@Log(title = "供应商信息", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
@PostMapping("/export")
public void export(BaseSupplierInfoBo bo, HttpServletResponse response) {
List<BaseSupplierInfoVo> list = baseSupplierInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商信息", BaseSupplierInfoVo.class, response);
@ -63,8 +62,8 @@ public class BaseSupplierInfoController extends BaseController {
*
* @param supplierId
*/
@SaCheckPermission("mes:baseSupplierInfo:query")
// @GetMapping("/{supplierId}")
//@SaCheckPermission("mes:baseSupplierInfo:query")
@GetMapping("/{supplierId}")
public R<BaseSupplierInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long supplierId) {
return R.ok(baseSupplierInfoService.queryById(supplierId));
@ -73,10 +72,10 @@ public class BaseSupplierInfoController extends BaseController {
/**
*
*/
@SaCheckPermission("mes:baseSupplierInfo:add")
//@SaCheckPermission("mes:baseSupplierInfo:add")
@Log(title = "供应商信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
// @PostMapping()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BaseSupplierInfoBo bo) {
return toAjax(baseSupplierInfoService.insertByBo(bo));
}
@ -84,10 +83,10 @@ public class BaseSupplierInfoController extends BaseController {
/**
*
*/
@SaCheckPermission("mes:baseSupplierInfo:edit")
// @SaCheckPermission("mes:baseSupplierInfo:edit")
@Log(title = "供应商信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
// @PutMapping()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BaseSupplierInfoBo bo) {
return toAjax(baseSupplierInfoService.updateByBo(bo));
}
@ -97,9 +96,9 @@ public class BaseSupplierInfoController extends BaseController {
*
* @param supplierIds
*/
@SaCheckPermission("mes:baseSupplierInfo:remove")
// @SaCheckPermission("mes:baseSupplierInfo:remove")
@Log(title = "供应商信息", businessType = BusinessType.DELETE)
// @DeleteMapping("/{supplierIds}")
@DeleteMapping("/{supplierIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] supplierIds) {
return toAjax(baseSupplierInfoService.deleteWithValidByIds(List.of(supplierIds), true));
@ -108,7 +107,7 @@ public class BaseSupplierInfoController extends BaseController {
/**
*
*/
// @GetMapping("getBaseSupplierInfoList")
@GetMapping("getBaseSupplierInfoList")
public R<List<BaseSupplierInfoVo>> getBaseSupplierInfolist(BaseSupplierInfoBo bo) {
List<BaseSupplierInfoVo> list = baseSupplierInfoService.queryList(bo);
return R.ok(list);

@ -0,0 +1,117 @@
package org.dromara.wms.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.wms.domain.vo.WmsAllocateTaskVo;
import org.dromara.wms.domain.bo.WmsAllocateTaskBo;
import org.dromara.wms.service.IWmsAllocateTaskService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
*
* 访:/wms/wmsAllocateTask
*
* @author zch
* @date 2025-09-01
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wmsAllocateTask")
public class WmsAllocateTaskController extends BaseController {
private final IWmsAllocateTaskService wmsAllocateTaskService;
/**
*
*/
@SaCheckPermission("wms:wmsAllocateTask:list")
@GetMapping("/list")
public TableDataInfo<WmsAllocateTaskVo> list(WmsAllocateTaskBo bo, PageQuery pageQuery) {
return wmsAllocateTaskService.queryPageList(bo, pageQuery);
}
/**
*
*/
@SaCheckPermission("wms:wmsAllocateTask:export")
@Log(title = "调拨打印", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsAllocateTaskBo bo, HttpServletResponse response) {
List<WmsAllocateTaskVo> list = wmsAllocateTaskService.queryList(bo);
ExcelUtil.exportExcel(list, "调拨打印", WmsAllocateTaskVo.class, response);
}
/**
*
*
* @param allocateTaskId
*/
@SaCheckPermission("wms:wmsAllocateTask:query")
@GetMapping("/{allocateTaskId}")
public R<WmsAllocateTaskVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long allocateTaskId) {
return R.ok(wmsAllocateTaskService.queryById(allocateTaskId));
}
/**
*
*/
@SaCheckPermission("wms:wmsAllocateTask:add")
@Log(title = "调拨打印", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsAllocateTaskBo bo) {
return toAjax(wmsAllocateTaskService.insertByBo(bo));
}
/**
*
*/
@SaCheckPermission("wms:wmsAllocateTask:edit")
@Log(title = "调拨打印", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsAllocateTaskBo bo) {
return toAjax(wmsAllocateTaskService.updateByBo(bo));
}
/**
*
*
* @param allocateTaskIds
*/
@SaCheckPermission("wms:wmsAllocateTask:remove")
@Log(title = "调拨打印", businessType = BusinessType.DELETE)
@DeleteMapping("/{allocateTaskIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] allocateTaskIds) {
return toAjax(wmsAllocateTaskService.deleteWithValidByIds(List.of(allocateTaskIds), true));
}
/**
*
*/
@GetMapping("/getWmsAllocateTaskList")
public R<List<WmsAllocateTaskVo>> getWmsAllocateTaskList(WmsAllocateTaskBo bo) {
List<WmsAllocateTaskVo> list = wmsAllocateTaskService.queryList(bo);
return R.ok(list);
}
}

@ -18,7 +18,7 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("base_material_info")
@TableName("base_material_info_copy1")
public class BaseMaterialInfo extends TenantEntity {
@Serial
@ -27,7 +27,7 @@ public class BaseMaterialInfo extends TenantEntity {
/**
*
*/
@TableId(type = IdType.AUTO)
@TableId(value = "material_id", type = IdType.ASSIGN_ID)
private Long materialId;
/**

@ -2,8 +2,6 @@ package org.dromara.wms.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial;
import java.util.Date;
@ -75,7 +73,7 @@ public class BaseSupplierInfo {
/**
*
*/
private Date qualificationExpireDate;
// private Date qualificationExpireDate;
/**
*
@ -97,15 +95,15 @@ public class BaseSupplierInfo {
*/
private String cooperationStatus;
/**
* 1 0 2
*/
private String auditStatus;
/**
*
*/
private String auditRemark;
// /**
// * 审核状态1通过 0待审核 2拒绝
// */
// private String auditStatus;
//
// /**
// * 审核备注
// */
// private String auditRemark;
/**
* erp
@ -117,10 +115,10 @@ public class BaseSupplierInfo {
*/
private String supplierStatus;
/**
*
*/
private Date auditDate;
// /**
// * 审核日期
// */
// private Date auditDate;
/**
* erp
@ -162,5 +160,10 @@ public class BaseSupplierInfo {
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
/**
* 0 2
*/
@TableLogic
private String delFlag;
}

@ -0,0 +1,107 @@
package org.dromara.wms.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* wms_allocate_task
*
* @author zch
* @date 2025-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_allocate_task")
public class WmsAllocateTask extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
private Long allocateTaskId;
/**
*
*/
private String allocateCode;
/**
*
*/
private String batchCode;
/**
*
*/
private Long materialQty;
/**
*
*/
private Long apportionQty;
/**
* id
*/
private Long materialId;
/**
*
*/
private String materialCode;
/**
*
*/
private String materialName;
/**
*
*/
private String materialSpe;
/**
*
*/
private String unitName;
/**
*
*/
private String codeYesNo;
/**
*
*/
private String materialCategories;
/**
* id
*/
private Long locationId;
/**
* (0-,1-,2-)
*/
private String inboundStatus;
/**
*
*/
private Date actualInboundTime;
/**
* id
*/
private Long aoDId;
}

@ -24,7 +24,7 @@ public class WmsBaseCustomer extends TenantEntity {
/**
* ID
*/
@TableId(value = "customer_id", type = IdType.AUTO)
@TableId(value = "customer_id", type = IdType.ASSIGN_ID)
private Long customerId;
/**

@ -82,6 +82,8 @@ public class WmsInstockDetail{
*/
private String codeYesNo;
/**
*
*/
@ -143,4 +145,27 @@ public class WmsInstockDetail{
@TableField(exist = false)
private String materialCategoryName;//字段映射
/**
* AGV01
*/
private String isAgv;
/**
*
*/
private BigDecimal completeQty;
/**
* AGV0 / 1 / 2
*/
private String agvStatus;
/**
* ()
*/
@TableField(exist = false)
private String printTime;
}

@ -122,4 +122,11 @@ public class WmsPurchaseOrder {
@TableField(exist = false)
private String materialCategoryName;//字段映射
/**
*
*/
@TableField(exist = false)
private String supplierName;//join
}

@ -77,7 +77,7 @@ public class BaseSupplierInfoBo extends BaseEntity {
/**
*
*/
private Date qualificationExpireDate;
// private Date qualificationExpireDate;
/**
*

@ -59,5 +59,35 @@ public class WmsAllocateOrderDetailBo extends BaseEntity {
private Long erpSynchronousQty;
private String tenantId;
/**
*
*/
private String materialCode;
/**
*
*/
private String materialName;
/**
*
*/
private String batchCode;
/**
*
*/
private String locationCode;
/**
* ID
*/
private Long storeId;
/**
*
*/
private BigDecimal inventoryQty;
}

@ -0,0 +1,106 @@
package org.dromara.wms.domain.bo;
import org.dromara.wms.domain.WmsAllocateTask;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* wms_allocate_task
*
* @author zch
* @date 2025-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = WmsAllocateTask.class, reverseConvertGenerate = false)
public class WmsAllocateTaskBo extends BaseEntity {
/**
*
*/
private Long allocateTaskId;
/**
*
*/
private String allocateCode;
/**
*
*/
private String batchCode;
/**
*
*/
private Long materialQty;
/**
*
*/
private Long apportionQty;
/**
* id
*/
private Long materialId;
/**
*
*/
private String materialCode;
/**
*
*/
private String materialName;
/**
*
*/
private String materialSpe;
/**
*
*/
private String unitName;
/**
*
*/
private String codeYesNo;
/**
*
*/
private String materialCategories;
/**
* id
*/
private Long locationId;
/**
* (0-,1-,2-)
*/
private String inboundStatus;
/**
*
*/
private Date actualInboundTime;
/**
* id
*/
private Long aoDId;
}

@ -191,16 +191,31 @@ public class WmsInstockDetailBo{
*/
private String inspectionRequest;
/**
* AGV01
*/
private String isAgv;
/**
*
*/
private BigDecimal completeQty;
/**
* AGV0 / 1 / 2
*/
private String agvStatus;
/**
* >1使
*/
@TableField(exist = false)
private List<Integer> packageQtyList;
/**
* average:, custom:
*/
@TableField(exist = false)
private String packageMode;
}

@ -96,8 +96,8 @@ public class BaseSupplierInfoVo implements Serializable {
/**
*
*/
@ExcelProperty(value = "资质到期日期")
private Date qualificationExpireDate;
// @ExcelProperty(value = "资质到期日期")
// private Date qualificationExpireDate;
/**
*

@ -93,5 +93,30 @@ public class WmsAllocateOrderDetailVo implements Serializable {
private String materialCode;
/**
*
*/
private String materialName;
/**
*
*/
private String batchCode;
/**
*
*/
private String locationCode;
/**
* ID
*/
private Long storeId;
/**
*
*/
private BigDecimal inventoryQty;
}

@ -0,0 +1,130 @@
package org.dromara.wms.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.wms.domain.WmsAllocateTask;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* wms_allocate_task
*
* @author zch
* @date 2025-09-01
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = WmsAllocateTask.class)
public class WmsAllocateTaskVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "调拨任务表主键")
private Long allocateTaskId;
/**
*
*/
@ExcelProperty(value = "单号")
private String allocateCode;
/**
*
*/
@ExcelProperty(value = "批次码")
private String batchCode;
/**
*
*/
@ExcelProperty(value = "条码数量")
private Long materialQty;
/**
*
*/
@ExcelProperty(value = "分包数量")
private Long apportionQty;
/**
* id
*/
@ExcelProperty(value = "物料id")
private Long materialId;
/**
*
*/
@ExcelProperty(value = "物料编码")
private String materialCode;
/**
*
*/
@ExcelProperty(value = "物料名称")
private String materialName;
/**
*
*/
@ExcelProperty(value = "物料规格")
private String materialSpe;
/**
*
*/
@ExcelProperty(value = "计量单位名称")
private String unitName;
/**
*
*/
@ExcelProperty(value = "是否有条码")
private String codeYesNo;
/**
*
*/
@ExcelProperty(value = "物料大类")
private String materialCategories;
/**
* id
*/
@ExcelProperty(value = "推荐库位id")
private Long locationId;
/**
* (0-,1-,2-)
*/
@ExcelProperty(value = "入库状态(0-待入库,1-已入库,2-入库中)")
private String inboundStatus;
/**
*
*/
@ExcelProperty(value = "实际入库时间")
private Date actualInboundTime;
/**
* id
*/
@ExcelProperty(value = "子表id")
private Long aoDId;
}

@ -161,4 +161,25 @@ public class WmsInstockDetailVo implements Serializable {
private String inspectionRequest;
/**
* AGV01
*/
private String isAgv;
/**
*
*/
private BigDecimal completeQty;
/**
* AGV0 / 1 / 2
*/
private String agvStatus;
/**
* ()
*/
private String printTime;
}

@ -137,10 +137,16 @@ public class WmsPurchaseOrderVo implements Serializable {
*/
@ExcelProperty(value = "审核意见")
private String auditComments;
/**
*
*/
private String supplierCode;
private String supplierCode;//join
/**
*
*/
private String supplierName;//join
}

@ -0,0 +1,15 @@
package org.dromara.wms.mapper;
import org.dromara.wms.domain.WmsAllocateTask;
import org.dromara.wms.domain.vo.WmsAllocateTaskVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* Mapper
*
* @author zch
* @date 2025-09-01
*/
public interface WmsAllocateTaskMapper extends BaseMapperPlus<WmsAllocateTask, WmsAllocateTaskVo> {
}

@ -0,0 +1,69 @@
package org.dromara.wms.service;
import org.dromara.wms.domain.WmsAllocateTask;
import org.dromara.wms.domain.vo.WmsAllocateTaskVo;
import org.dromara.wms.domain.bo.WmsAllocateTaskBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* Service
*
* @author zch
* @date 2025-09-01
*/
public interface IWmsAllocateTaskService {
/**
*
*
* @param allocateTaskId
* @return
*/
WmsAllocateTaskVo queryById(Long allocateTaskId);
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
TableDataInfo<WmsAllocateTaskVo> queryPageList(WmsAllocateTaskBo bo, PageQuery pageQuery);
/**
*
*
* @param bo
* @return
*/
List<WmsAllocateTaskVo> queryList(WmsAllocateTaskBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean insertByBo(WmsAllocateTaskBo bo);
/**
*
*
* @param bo
* @return
*/
Boolean updateByBo(WmsAllocateTaskBo bo);
/**
*
*
* @param ids
* @param isValid
* @return
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

@ -81,7 +81,6 @@ public class BaseMeasurementUnitInfoServiceImpl implements IBaseMeasurementUnitI
public Boolean insertByBo(BaseMeasurementUnitInfoBo bo) {
BaseMeasurementUnitInfo add = MapstructUtils.convert(bo, BaseMeasurementUnitInfo.class);
validEntityBeforeSave(add);
// 获取父节点信息
BaseMeasurementUnitInfoVo query = baseMapper.selectVoById(bo.getParentId());
if (ObjectUtils.isNotEmpty(query)) {

@ -82,15 +82,15 @@ public class BaseSupplierInfoServiceImpl implements IBaseSupplierInfoService {
.eq(StringUtils.isNotBlank(bo.getContactEmail()), BaseSupplierInfo::getContactEmail, bo.getContactEmail())
.eq(StringUtils.isNotBlank(bo.getBusinessLicenseNo()), BaseSupplierInfo::getBusinessLicenseNo, bo.getBusinessLicenseNo())
.eq(StringUtils.isNotBlank(bo.getCooperationStatus()), BaseSupplierInfo::getCooperationStatus, bo.getCooperationStatus())
.eq(StringUtils.isNotBlank(bo.getAuditStatus()), BaseSupplierInfo::getAuditStatus, bo.getAuditStatus())
// .eq(StringUtils.isNotBlank(bo.getAuditStatus()), BaseSupplierInfo::getAuditStatus, bo.getAuditStatus())
.eq(bo.getErpId() != null, BaseSupplierInfo::getErpId, bo.getErpId())
.eq(StringUtils.isNotBlank(bo.getSupplierStatus()), BaseSupplierInfo::getSupplierStatus, bo.getSupplierStatus())
.between(params.get("beginAuditDate") != null && params.get("endAuditDate") != null,
BaseSupplierInfo::getAuditDate ,params.get("beginAuditDate"), params.get("endAuditDate"))
// .between(params.get("beginAuditDate") != null && params.get("endAuditDate") != null,
// BaseSupplierInfo::getAuditDate ,params.get("beginAuditDate"), params.get("endAuditDate"))
.between(params.get("beginErpModifyDate") != null && params.get("endErpModifyDate") != null,
BaseSupplierInfo::getErpModifyDate ,params.get("beginErpModifyDate"), params.get("endErpModifyDate"))
.between(params.get("beginQualificationExpireDate") != null && params.get("endQualificationExpireDate") != null,
BaseSupplierInfo::getQualificationExpireDate ,params.get("beginQualificationExpireDate"), params.get("endQualificationExpireDate"))
// .between(params.get("beginQualificationExpireDate") != null && params.get("endQualificationExpireDate") != null,
// BaseSupplierInfo::getQualificationExpireDate ,params.get("beginQualificationExpireDate"), params.get("endQualificationExpireDate"))
.orderByDesc(BaseSupplierInfo::getCreateTime);
return lqw;
}
@ -140,7 +140,7 @@ public class BaseSupplierInfoServiceImpl implements IBaseSupplierInfoService {
throw new ServiceException("供应商编码已存在");
}
}
//校验营业执照编号是否重复
if (StringUtils.isNotBlank(entity.getBusinessLicenseNo())) {
BaseSupplierInfoBo query = new BaseSupplierInfoBo();
@ -151,7 +151,7 @@ public class BaseSupplierInfoServiceImpl implements IBaseSupplierInfoService {
throw new ServiceException("营业执照编号已存在");
}
}
//设置默认值
if (StringUtils.isBlank(entity.getSupplierStatus())) {
entity.setSupplierStatus("1"); // 默认启用
@ -159,9 +159,9 @@ public class BaseSupplierInfoServiceImpl implements IBaseSupplierInfoService {
if (StringUtils.isBlank(entity.getCooperationStatus())) {
entity.setCooperationStatus("1"); // 默认正常合作
}
if (StringUtils.isBlank(entity.getAuditStatus())) {
entity.setAuditStatus("0"); // 默认待审核
}
// if (StringUtils.isBlank(entity.getAuditStatus())) {
// entity.setAuditStatus("0"); // 默认待审核
// }
}
/**

@ -0,0 +1,147 @@
package org.dromara.wms.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.wms.domain.bo.WmsAllocateTaskBo;
import org.dromara.wms.domain.vo.WmsAllocateTaskVo;
import org.dromara.wms.domain.WmsAllocateTask;
import org.dromara.wms.mapper.WmsAllocateTaskMapper;
import org.dromara.wms.service.IWmsAllocateTaskService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* Service
*
* @author zch
* @date 2025-09-01
*/
@RequiredArgsConstructor
@Service
public class WmsAllocateTaskServiceImpl implements IWmsAllocateTaskService {
private final WmsAllocateTaskMapper baseMapper;
/**
*
*
* @param allocateTaskId
* @return
*/
@Override
public WmsAllocateTaskVo queryById(Long allocateTaskId){
return baseMapper.selectVoById(allocateTaskId);
}
/**
*
*
* @param bo
* @param pageQuery
* @return
*/
@Override
public TableDataInfo<WmsAllocateTaskVo> queryPageList(WmsAllocateTaskBo bo, PageQuery pageQuery) {
MPJLambdaWrapper<WmsAllocateTask> lqw = buildQueryWrapper(bo);
Page<WmsAllocateTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
*
*
* @param bo
* @return
*/
@Override
public List<WmsAllocateTaskVo> queryList(WmsAllocateTaskBo bo) {
MPJLambdaWrapper<WmsAllocateTask> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private MPJLambdaWrapper<WmsAllocateTask> buildQueryWrapper(WmsAllocateTaskBo bo) {
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<WmsAllocateTask> lqw = JoinWrappers.lambda(WmsAllocateTask.class)
.selectAll(WmsAllocateTask.class)
.eq(bo.getAllocateTaskId() != null, WmsAllocateTask::getAllocateTaskId, bo.getAllocateTaskId())
.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateTask::getAllocateCode, bo.getAllocateCode())
.eq(StringUtils.isNotBlank(bo.getBatchCode()), WmsAllocateTask::getBatchCode, bo.getBatchCode())
.eq(bo.getMaterialQty() != null, WmsAllocateTask::getMaterialQty, bo.getMaterialQty())
.eq(bo.getApportionQty() != null, WmsAllocateTask::getApportionQty, bo.getApportionQty())
.eq(bo.getMaterialId() != null, WmsAllocateTask::getMaterialId, bo.getMaterialId())
.eq(StringUtils.isNotBlank(bo.getMaterialCode()), WmsAllocateTask::getMaterialCode, bo.getMaterialCode())
.like(StringUtils.isNotBlank(bo.getMaterialName()), WmsAllocateTask::getMaterialName, bo.getMaterialName())
.eq(StringUtils.isNotBlank(bo.getMaterialSpe()), WmsAllocateTask::getMaterialSpe, bo.getMaterialSpe())
.eq(StringUtils.isNotBlank(bo.getUnitName()), WmsAllocateTask::getUnitName, bo.getUnitName())
.eq(StringUtils.isNotBlank(bo.getCodeYesNo()), WmsAllocateTask::getCodeYesNo, bo.getCodeYesNo())
.eq(StringUtils.isNotBlank(bo.getMaterialCategories()), WmsAllocateTask::getMaterialCategories, bo.getMaterialCategories())
.eq(bo.getLocationId() != null, WmsAllocateTask::getLocationId, bo.getLocationId())
.eq(StringUtils.isNotBlank(bo.getInboundStatus()), WmsAllocateTask::getInboundStatus, bo.getInboundStatus())
.eq(bo.getActualInboundTime() != null, WmsAllocateTask::getActualInboundTime, bo.getActualInboundTime())
.eq(bo.getAoDId() != null, WmsAllocateTask::getAoDId, bo.getAoDId())
.orderByDesc(WmsAllocateTask::getCreateTime);
return lqw;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean insertByBo(WmsAllocateTaskBo bo) {
WmsAllocateTask add = MapstructUtils.convert(bo, WmsAllocateTask.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setAllocateTaskId(add.getAllocateTaskId());
}
return flag;
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean updateByBo(WmsAllocateTaskBo bo) {
WmsAllocateTask update = MapstructUtils.convert(bo, WmsAllocateTask.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
*
*/
private void validEntityBeforeSave(WmsAllocateTask entity){
//TODO 做一些数据校验,如唯一约束
}
/**
*
*
* @param ids
* @param isValid
* @return
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

@ -93,11 +93,6 @@ public class WmsOutstockDetailServiceImpl implements IWmsOutstockDetailService {
// 关联表查询物料大类名称
.select(BaseMaterialCategory::getMaterialCategoryName)
.leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsOutstockDetail::getMaterialCategoryId)
//agv出库任务新增
.eq(StringUtils.isNotBlank(bo.getAgvStatus()), WmsOutstockDetail::getAgvStatus, bo.getAgvStatus())
.eq(StringUtils.isNotBlank(bo.getIsAgv()), WmsOutstockDetail::getIsAgv, bo.getIsAgv())
// .eq(bo.getCompleteQty() != null, WmsOutstockDetail::getCompleteQty, bo.getCompleteQty())
//出库单子表原有
.eq(bo.getOutstockDetailId() != null, WmsOutstockDetail::getOutstockDetailId, bo.getOutstockDetailId())
.eq(StringUtils.isNotBlank(bo.getOutstockCode()), WmsOutstockDetail::getOutstockCode, bo.getOutstockCode())
@ -105,6 +100,10 @@ public class WmsOutstockDetailServiceImpl implements IWmsOutstockDetailService {
.eq(bo.getMaterialId() != null, WmsOutstockDetail::getMaterialId, bo.getMaterialId())
// .eq(bo.getOutstockQty() != null, WmsOutstockDetail::getOutstockQty, bo.getOutstockQty())
.eq(StringUtils.isNotBlank(bo.getMaterialCategoryId()), WmsOutstockDetail::getMaterialCategoryId, bo.getMaterialCategoryId())
//agv出库任务新增
.eq(StringUtils.isNotBlank(bo.getAgvStatus()), WmsOutstockDetail::getAgvStatus, bo.getAgvStatus())
.eq(StringUtils.isNotBlank(bo.getIsAgv()), WmsOutstockDetail::getIsAgv, bo.getIsAgv())
.eq(bo.getCompleteQty() != null, WmsOutstockDetail::getCompleteQty, bo.getCompleteQty())
.orderByDesc(WmsOutstockDetail::getCreateTime);
return lqw;
}

@ -97,7 +97,7 @@ public class WmsPurchaseOrderServiceImpl implements IWmsPurchaseOrderService {
.select(BaseMaterialCategory::getMaterialCategoryName)
.leftJoin(BaseMaterialCategory.class, BaseMaterialCategory::getMaterialCategoryId, WmsPurchaseOrder::getMaterialCategoryId)
.select(BaseSupplierInfo::getSupplierCode)
.select(BaseSupplierInfo::getSupplierCode,BaseSupplierInfo::getSupplierName)
.leftJoin(BaseSupplierInfo.class,BaseSupplierInfo::getSupplierId,WmsPurchaseOrder::getSupplierId)
.eq(StringUtils.isNotBlank(bo.getPoNo()), WmsPurchaseOrder::getPoNo, bo.getPoNo())
.eq(StringUtils.isNotBlank(bo.getPoStatus()), WmsPurchaseOrder::getPoStatus, bo.getPoStatus())

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.wms.mapper.WmsAllocateTaskMapper">
</mapper>
Loading…
Cancel
Save