diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/ProdOrderInfoController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/ProdOrderInfoController.java index 6f818538..57994ec2 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/ProdOrderInfoController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/ProdOrderInfoController.java @@ -24,7 +24,7 @@ import java.util.List; /** * 生产订单信息 - * 前端访问路由地址为:/mes/orderInfo + * 前端访问路由地址为:/wms/orderInfo * * @author Yinq * @date 2025-01-09 diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsAllocateOrderController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsAllocateOrderController.java index 135ed10c..b30348eb 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsAllocateOrderController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsAllocateOrderController.java @@ -103,4 +103,14 @@ public class WmsAllocateOrderController extends BaseController { @PathVariable Long[] aoIds) { return toAjax(wmsAllocateOrderService.deleteWithValidByIds(List.of(aoIds), true)); } + + /** + * 调拨工单审批 + * @param bo + * @return + */ + @PutMapping("/approveAllocateOrder") + public R approveAllocateOrder(@RequestBody WmsAllocateOrderBo bo) { + return R.ok(wmsAllocateOrderService.approveAllocateOrder(bo)); + } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrder.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrder.java index ff88f2a6..35260647 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrder.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrder.java @@ -107,7 +107,7 @@ public class WmsAllocateOrder{ */ private String tenantId; @TableField(fill = FieldFill.INSERT) - private String createBy; + private Long createBy; /** * 创建时间 @@ -119,7 +119,7 @@ public class WmsAllocateOrder{ * 更新者 */ @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + private Long updateBy; /** * 更新时间 diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrderDetail.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrderDetail.java index d63560cb..76f3364b 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrderDetail.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateOrderDetail.java @@ -61,8 +61,12 @@ public class WmsAllocateOrderDetail { * 租户id */ private String tenantId; + + /** + * 创建者 + */ @TableField(fill = FieldFill.INSERT) - private String createBy; + private Long createBy; /** * 创建时间 @@ -74,7 +78,7 @@ public class WmsAllocateOrderDetail { * 更新者 */ @TableField(fill = FieldFill.INSERT_UPDATE) - private String updateBy; + private Long updateBy; /** * 更新时间 diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateTask.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateTask.java index 09599e07..864b8cc8 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateTask.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsAllocateTask.java @@ -1,13 +1,14 @@ package org.dromara.wms.domain; -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; +import java.util.Date; /** * 调拨打印对象 wms_allocate_task @@ -26,6 +27,7 @@ public class WmsAllocateTask extends TenantEntity { /** * 调拨任务表主键 */ + @TableId(value = "allocate_task_id", type = IdType.AUTO) private Long allocateTaskId; /** diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderService.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderService.java index 258f8b37..8663d4b8 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderService.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/IWmsAllocateOrderService.java @@ -65,4 +65,12 @@ public interface IWmsAllocateOrderService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 审批调拨工单 + * + * @param bo 调拨工单 + * @return 是否审批成功 + */ + Integer approveAllocateOrder(WmsAllocateOrderBo bo); } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java index 4e0de819..9ab176ef 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderDetailServiceImpl.java @@ -1,8 +1,5 @@ package org.dromara.wms.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; @@ -11,7 +8,6 @@ import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.wms.domain.BaseMaterialInfo; import org.dromara.wms.domain.WmsAllocateOrderDetail; import org.dromara.wms.domain.bo.WmsAllocateOrderDetailBo; @@ -58,7 +54,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai @Override public TableDataInfo queryPageList(WmsAllocateOrderDetailBo bo, PageQuery pageQuery) { // LambdaQueryWrapper lqw = buildQueryWrapper(bo); - MPJLambdaWrapper lqw = buildJoinQueryWrapper(bo); + MPJLambdaWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -71,34 +67,27 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai */ @Override public List queryList(WmsAllocateOrderDetailBo bo) { - MPJLambdaWrapper lqw = buildJoinQueryWrapper(bo); + MPJLambdaWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } - private MPJLambdaWrapper buildQueryWrapper(WmsAllocateOrderDetailBo bo) { - Map params = bo.getParams(); - MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class); - lqw.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId()); - lqw.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode()); - lqw.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId()); - lqw.eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty()); - lqw.eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus()); - lqw.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty()); - return lqw; - } - private MPJLambdaWrapper buildJoinQueryWrapper(WmsAllocateOrderDetailBo bo) { + private MPJLambdaWrapper buildQueryWrapper(WmsAllocateOrderDetailBo bo) { Map params = bo.getParams(); MPJLambdaWrapper lqw = JoinWrappers.lambda(WmsAllocateOrderDetail.class) .selectAll(WmsAllocateOrderDetail.class) - .select(BaseMaterialInfo::getMaterialCode,BaseMaterialInfo::getMaterialName) - .leftJoin(BaseMaterialInfo.class,BaseMaterialInfo::getMaterialId,WmsAllocateOrderDetail::getMaterialId); - lqw.eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId()); - lqw.eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode()); - lqw.eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId()); - lqw.eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty()); - lqw.eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus()); - lqw.eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty()).orderByDesc(WmsAllocateOrderDetail::getCreateTime); + + // 关联查询 + .select(BaseMaterialInfo::getMaterialCode, BaseMaterialInfo::getMaterialName) + .leftJoin(BaseMaterialInfo.class, BaseMaterialInfo::getMaterialId, WmsAllocateOrderDetail::getMaterialId) + + .eq(bo.getAoDId() != null, WmsAllocateOrderDetail::getAoDId, bo.getAoDId()) + .eq(StringUtils.isNotBlank(bo.getAllocateCode()), WmsAllocateOrderDetail::getAllocateCode, bo.getAllocateCode()) + .eq(bo.getMaterialId() != null, WmsAllocateOrderDetail::getMaterialId, bo.getMaterialId()) + .eq(bo.getAllocateOrderQty() != null, WmsAllocateOrderDetail::getAllocateOrderQty, bo.getAllocateOrderQty()) + .eq(StringUtils.isNotBlank(bo.getErpSynchronousStatus()), WmsAllocateOrderDetail::getErpSynchronousStatus, bo.getErpSynchronousStatus()) + .eq(bo.getErpSynchronousQty() != null, WmsAllocateOrderDetail::getErpSynchronousQty, bo.getErpSynchronousQty()) + .orderByDesc(WmsAllocateOrderDetail::getCreateTime); return lqw; } @@ -109,14 +98,14 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai * @return 是否新增成功 */ @Override - @Transactional(rollbackFor = Exception.class) + @Transactional( rollbackFor = Exception.class ) public Boolean insertByBo(List bo) { int i = 0; for (WmsAllocateOrderDetailBo detailBo : bo) { WmsAllocateOrderDetail add = MapstructUtils.convert(detailBo, WmsAllocateOrderDetail.class); /* add.setCreateBy(LoginHelper.getUsername()); add.setTenantId(LoginHelper.getTenantId());*/ - i = baseMapper.insert(add); + i = baseMapper.insert(add); } // int i = baseMapper.insertDetails(list); return i > 0; @@ -132,14 +121,13 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai public Boolean updateByBo(WmsAllocateOrderDetailBo bo) { WmsAllocateOrderDetail update = MapstructUtils.convert(bo, WmsAllocateOrderDetail.class); validEntityBeforeSave(update); - update.setUpdateBy(LoginHelper.getUsername()); return baseMapper.updateById(update) > 0; } /** * 保存前的数据校验 */ - private void validEntityBeforeSave(WmsAllocateOrderDetail entity) { + private void validEntityBeforeSave(WmsAllocateOrderDetail entity){ //TODO 做一些数据校验,如唯一约束 } @@ -152,7 +140,7 @@ public class WmsAllocateOrderDetailServiceImpl implements IWmsAllocateOrderDetai */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { + if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteByIds(ids) > 0; diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderServiceImpl.java index 476b440e..8e0b07fb 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsAllocateOrderServiceImpl.java @@ -200,7 +200,6 @@ public class WmsAllocateOrderServiceImpl implements IWmsAllocateOrderService { public Boolean updateByBo(WmsAllocateOrderBo bo) { WmsAllocateOrder update = MapstructUtils.convert(bo, WmsAllocateOrder.class); validEntityBeforeSave(update); - update.setUpdateBy(LoginHelper.getUsername()); return baseMapper.updateById(update) > 0; } @@ -225,4 +224,21 @@ public class WmsAllocateOrderServiceImpl implements IWmsAllocateOrderService { } return baseMapper.deleteByIds(ids) > 0; } + + /** + * 审批调拨工单 + * + * @param bo 调拨工单 + * @return 是否审批成功 + */ + @Override + public Integer approveAllocateOrder(WmsAllocateOrderBo bo) { + String username = LoginHelper.getUsername(); + WmsAllocateOrder update = MapstructUtils.convert(bo, WmsAllocateOrder.class); + validEntityBeforeSave(update); + update.setAuditTime(new Date()); + update.setAuditBy(username); + int rows = baseMapper.updateById(update); + return rows; + } } diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockOrderServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockOrderServiceImpl.java index cf0ab6f1..53c172b4 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockOrderServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInstockOrderServiceImpl.java @@ -530,6 +530,12 @@ if("1".equals(bo.getInstockType())){ // 工单类型(1采购订单) //TODO 做一些数据校验,如唯一约束 } + /** + * 审批入库单 + * + * @param bo 入库单 + * @return 是否审批成功 + */ @Override public Integer approveInstockOrder(WmsInstockOrderBo bo) { String username = LoginHelper.getUsername(); diff --git a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/ProdOrderInfoMapper.xml b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/ProdOrderInfoMapper.xml index 6aae2c18..8adc9d33 100644 --- a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/ProdOrderInfoMapper.xml +++ b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/ProdOrderInfoMapper.xml @@ -20,7 +20,7 @@ * from prod_order_info t - left join base_material_info bmi on bmi.material_id = t.material_id + left join base_material_info_copy1 bmi on bmi.material_id = t.material_id left join prod_base_prod_line_info pli on t.dispatch_type = 1 and pli.prod_line_id = t.dispatch_id left join prod_base_route rt on t.dispatch_type = 2 and rt.route_id = t.dispatch_id left join prod_base_process_info pi on t.dispatch_type = 3 and pi.process_id = t.dispatch_id