Explorar el Código

update 代码修改

wks hace 4 meses
padre
commit
2a776f7b63

+ 1 - 1
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/controller/BomController.java

@@ -41,7 +41,7 @@ public class BomController {
 
     @Operation(summary = "添加BOM配置")
     @PostMapping
-    public R<Object> add(@RequestBody BomAddDto bomAddDto) {
+    public R<Void> add(@RequestBody BomAddDto bomAddDto) {
         wmsBomVersionService.addBomConfig(bomAddDto);
         return R.ok("添加成功");
     }

+ 19 - 4
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/controller/TaskController.java

@@ -9,6 +9,7 @@ import com.ruoyi.wms.domain.dto.TaskDetailsDto;
 import com.ruoyi.wms.domain.dto.WmsTaskQueryDto;
 import com.ruoyi.wms.domain.entity.WmsTask;
 import com.ruoyi.wms.domain.vo.TaskDetailsVo;
+import com.ruoyi.wms.domain.vo.WmsTaskEditVo;
 import com.ruoyi.wms.service.WmsTaskDetailsService;
 import com.ruoyi.wms.service.WmsTaskService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -47,30 +48,44 @@ public class TaskController {
         return R.ok(list);
     }
 
+    @Operation(summary = "编辑查询")
+    @GetMapping("/id")
+    public R<WmsTaskEditVo> editQuery(String id) {
+        WmsTaskEditVo wmsTask = wmsTaskService.editQuery(id);
+        return R.ok(wmsTask);
+    }
+
     @Operation(summary = "添加任务单")
     @PostMapping
-    public R<Object> add(@Validated @RequestBody TaskAddDto taskAddDto) {
+    public R<Void> add(@Validated @RequestBody TaskAddDto taskAddDto) {
         wmsTaskService.addTask(taskAddDto);
         return R.ok("添加成功");
     }
 
     @Operation(summary = "修改任务单")
     @PutMapping("{id}")
-    public R<Object> modify(@Validated @RequestBody TaskAddDto taskAddDto, @PathVariable Long id) {
+    public R<Void> modify(@Validated @RequestBody TaskAddDto taskAddDto, @PathVariable Long id) {
         wmsTaskService.modifyTask(taskAddDto, id);
         return R.ok("修改成功");
     }
 
     @Operation(summary = "生产完成")
     @PutMapping("/complete/{id}")
-    public R<Object> complete(@PathVariable String id) {
+    public R<Void> complete(@PathVariable String id) {
         wmsTaskService.complete(id);
         return R.ok("生产完成");
     }
 
+    @Operation(summary = "作废-提前校验")
+    @GetMapping("/revoke/check/{id}")
+    public R<Boolean> checkRevoke(@PathVariable String id) {
+        Boolean b = wmsTaskService.checkRevoke(id);
+        return R.ok(b);
+    }
+
     @Operation(summary = "作废")
     @PutMapping("/revoke/{id}")
-    public R<Object> revoke(@PathVariable String id) {
+    public R<Void> revoke(@PathVariable String id) {
         wmsTaskService.revoke(id);
         return R.ok("作废成功");
     }

+ 6 - 2
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/domain/dto/TaskAddDto.java

@@ -1,11 +1,13 @@
 package com.ruoyi.wms.domain.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 
@@ -17,11 +19,13 @@ public class TaskAddDto implements Serializable {
 
     @Schema(description = "生产开始时间")
     @NotNull(message = "生产开始时间不能为空")
-    private Date startDate;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate startDate;
 
     @Schema(description = "生产结束时间")
     @NotNull(message = "生产结束时间不能为空")
-    private Date endDate;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate endDate;
 
     @Schema(description = "备注")
     private String remark;

+ 6 - 2
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/domain/dto/WmsFinishedProductCostDto.java

@@ -1,5 +1,6 @@
 package com.ruoyi.wms.domain.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
@@ -7,6 +8,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
 
 @Data
@@ -32,11 +34,13 @@ public class WmsFinishedProductCostDto implements Serializable {
 
     @Schema(description = "生产开始时间")
     @NotNull(message = "生产开始时间不能为空")
-    private Date startDate;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate startDate;
 
     @Schema(description = "生产结束时间")
     @NotNull(message = "生产结束时间不能为空")
-    private Date endDate;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate endDate;
 
 
 }

+ 3 - 2
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/domain/entity/WmsTask.java

@@ -8,6 +8,7 @@ import com.ruoyi.common.mybatis.core.domain.BaseEntity;
 import lombok.*;
 
 import java.io.Serial;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
 
@@ -43,13 +44,13 @@ public class WmsTask extends BaseEntity {
      * 生产开始时间
      */
     @TableField(value = "start_date")
-    private Date startDate;
+    private LocalDate startDate;
 
     /**
      * 生产结束时间
      */
     @TableField(value = "end_date")
-    private Date endDate;
+    private LocalDate endDate;
 
     /**
      * 目标数量

+ 36 - 0
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/domain/entity/WmsTaskDetailsEditVo.java

@@ -0,0 +1,36 @@
+package com.ruoyi.wms.domain.entity;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class WmsTaskDetailsEditVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1747799829364294871L;
+
+    @Schema(description = "商品名称")
+    private String itemName;
+
+    @Schema(description = "商品编号")
+    private String itemCode;
+
+    @Schema(description = "商品品牌")
+    private String itemBrand;
+
+    @Schema(description = "规格名称")
+    private String skuName;
+
+    @Schema(description = "规格编码")
+    private String skuCode;
+
+    @Schema(description = "bom版本")
+    private String versionId;
+
+    @Schema(description = "数量")
+    private String quantity;
+
+}

+ 31 - 0
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/domain/vo/WmsTaskEditVo.java

@@ -0,0 +1,31 @@
+package com.ruoyi.wms.domain.vo;
+
+
+import com.ruoyi.wms.domain.entity.WmsTask;
+import com.ruoyi.wms.domain.entity.WmsTaskDetailsEditVo;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WmsTaskEditVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -7994775239835466989L;
+
+    @Schema(description = "任务")
+    private WmsTask wmsTask;
+
+    @Schema(description = "任务明细")
+    private List<WmsTaskDetailsEditVo> wmsTaskDetailsEditVo;
+
+}

+ 4 - 0
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/mapper/WmsTaskDetailsMapper.java

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.wms.domain.dto.TaskDetailsDto;
 import com.ruoyi.wms.domain.entity.WmsTaskDetails;
+import com.ruoyi.wms.domain.entity.WmsTaskDetailsEditVo;
 import com.ruoyi.wms.domain.vo.TaskDetailsVo;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author Administrator
  * @description 针对表【wms_task_details(任务单-明细)】的数据库操作Mapper
@@ -24,6 +27,7 @@ public interface WmsTaskDetailsMapper extends BaseMapper<WmsTaskDetails> {
      */
     Page<TaskDetailsVo> details(Page<TaskDetailsVo> page, @Param("bo") TaskDetailsDto bo);
 
+    List<WmsTaskDetailsEditVo> getByTaskId(String id);
 }
 
 

+ 11 - 1
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/service/WmsTaskDetailsService.java

@@ -5,8 +5,11 @@ import com.ruoyi.common.mybatis.core.page.PageQuery;
 import com.ruoyi.common.mybatis.core.page.TableDataInfo;
 import com.ruoyi.wms.domain.dto.TaskDetailsDto;
 import com.ruoyi.wms.domain.entity.WmsTaskDetails;
+import com.ruoyi.wms.domain.entity.WmsTaskDetailsEditVo;
 import com.ruoyi.wms.domain.vo.TaskDetailsVo;
 
+import java.util.List;
+
 /**
  * @author Administrator
  * @description 针对表【wms_task_details(任务单-明细)】的数据库操作Service
@@ -18,9 +21,16 @@ public interface WmsTaskDetailsService extends IService<WmsTaskDetails> {
      * 查询生产明细
      *
      * @param taskDetailsDto 生产明细查询实体
-     * @param pageQuery 分页参数
+     * @param pageQuery      分页参数
      * @return 生产明细列表
      */
     TableDataInfo<TaskDetailsVo> details(TaskDetailsDto taskDetailsDto, PageQuery pageQuery);
 
+    /**
+     * 通过任务id查询任务列表
+     *
+     * @param id 任务id
+     * @return 任务列表
+     */
+    List<WmsTaskDetailsEditVo> getByTaskId(String id);
 }

+ 17 - 0
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/service/WmsTaskService.java

@@ -3,6 +3,7 @@ package com.ruoyi.wms.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.wms.domain.dto.TaskAddDto;
 import com.ruoyi.wms.domain.entity.WmsTask;
+import com.ruoyi.wms.domain.vo.WmsTaskEditVo;
 
 /**
  * @author Administrator
@@ -25,6 +26,14 @@ public interface WmsTaskService extends IService<WmsTask> {
      */
     void complete(String id);
 
+    /**
+     * 作废提前校验
+     *
+     * @param id 任务单ID
+     * @return 成功失败
+     */
+    Boolean checkRevoke(String id);
+
     /**
      * 作废
      *
@@ -39,4 +48,12 @@ public interface WmsTaskService extends IService<WmsTask> {
      * @param id         任务id
      */
     void modifyTask(TaskAddDto taskAddDto, Long id);
+
+    /**
+     * 编辑查询
+     *
+     * @param id 任务id
+     * @return
+     */
+    WmsTaskEditVo editQuery(String id);
 }

+ 7 - 0
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/service/impl/WmsTaskDetailsServiceImpl.java

@@ -6,11 +6,14 @@ import com.ruoyi.common.mybatis.core.page.PageQuery;
 import com.ruoyi.common.mybatis.core.page.TableDataInfo;
 import com.ruoyi.wms.domain.dto.TaskDetailsDto;
 import com.ruoyi.wms.domain.entity.WmsTaskDetails;
+import com.ruoyi.wms.domain.entity.WmsTaskDetailsEditVo;
 import com.ruoyi.wms.domain.vo.TaskDetailsVo;
 import com.ruoyi.wms.mapper.WmsTaskDetailsMapper;
 import com.ruoyi.wms.service.WmsTaskDetailsService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author Administrator
  * @description 针对表【wms_task_details(任务单-明细)】的数据库操作Service实现
@@ -26,6 +29,10 @@ public class WmsTaskDetailsServiceImpl extends ServiceImpl<WmsTaskDetailsMapper,
         return TableDataInfo.build(details);
     }
 
+    @Override
+    public List<WmsTaskDetailsEditVo> getByTaskId(String id) {
+        return this.baseMapper.getByTaskId(id);
+    }
 }
 
 

+ 25 - 1
ruoyi-admin-wms/src/main/java/com/ruoyi/wms/service/impl/WmsTaskServiceImpl.java

@@ -13,6 +13,7 @@ import com.ruoyi.wms.domain.dto.TaskAddDto;
 import com.ruoyi.wms.domain.dto.TaskItemSkuDto;
 import com.ruoyi.wms.domain.entity.*;
 import com.ruoyi.wms.domain.po.UnitPo;
+import com.ruoyi.wms.domain.vo.WmsTaskEditVo;
 import com.ruoyi.wms.mapper.WmsTaskMapper;
 import com.ruoyi.wms.service.*;
 import lombok.RequiredArgsConstructor;
@@ -75,7 +76,7 @@ public class WmsTaskServiceImpl extends ServiceImpl<WmsTaskMapper, WmsTask>
 
         // 任务明细
         List<WmsTaskDetails> wmsTaskDetails = wmsTaskDetailsService.lambdaQuery().eq(WmsTaskDetails::getTaskId, wmsTask.getId()).list();
-        Map<Long, WmsTaskDetails> versionMap = wmsTaskDetails.stream().collect(Collectors.toMap(WmsTaskDetails::getVersionId, x->x));
+        Map<Long, WmsTaskDetails> versionMap = wmsTaskDetails.stream().collect(Collectors.toMap(WmsTaskDetails::getVersionId, x -> x));
 
         // BOM明细
         List<WmsBomItem> wmsBomItems = wmsBomItemService.lambdaQuery().in(WmsBomItem::getVersionId, versionMap.keySet()).list();
@@ -169,6 +170,19 @@ public class WmsTaskServiceImpl extends ServiceImpl<WmsTaskMapper, WmsTask>
         return bomItemQuantityMap;
     }
 
+    @Override
+    public Boolean checkRevoke(String id) {
+        WmsTask wmsTask = this.getById(id);
+        Assert.notNull(wmsTask, "任务单不存在");
+
+        List<ShipmentOrder> list = shipmentOrderService.lambdaQuery()
+            .eq(ShipmentOrder::getTaskId, wmsTask.getId())
+            .eq(ShipmentOrder::getOrderStatus, ServiceConstants.ShipmentOrderStatus.FINISH)
+            .list();
+
+        return list.isEmpty();
+    }
+
     @Override
     public void revoke(String id) {
         WmsTask wmsTask = this.getById(id);
@@ -206,6 +220,16 @@ public class WmsTaskServiceImpl extends ServiceImpl<WmsTaskMapper, WmsTask>
         wmsTaskDetailsService.saveBatch(wmsTaskDetails);
     }
 
+    @Override
+    public WmsTaskEditVo editQuery(String id) {
+        WmsTask wmsTask = this.getById(id);
+        List<WmsTaskDetailsEditVo> wmsTaskDetailsEditVos = wmsTaskDetailsService.getByTaskId(id);
+        return WmsTaskEditVo.builder()
+            .wmsTask(wmsTask)
+            .wmsTaskDetailsEditVo(wmsTaskDetailsEditVos)
+            .build();
+    }
+
     private WmsTask buildWmsTask(TaskAddDto taskAddDto) {
         String taskCode = taskCodeGenerator.generateTaskCode();
         return WmsTask.builder()

+ 14 - 0
ruoyi-admin-wms/src/main/resources/mapper/wms/WmsTaskDetailsMapper.xml

@@ -61,4 +61,18 @@
 
     </select>
 
+    <select id="getByTaskId" resultType="com.ruoyi.wms.domain.entity.WmsTaskDetailsEditVo">
+        select wi.item_code,
+               wi.item_name,
+               wi.item_brand,
+               wtd.version_id,
+               wis.sku_code,
+               wis.sku_name,
+               wtd.quantity
+        from wms_task_details wtd
+                 left join wms_item_sku wis on wis.id = wtd.item_sku_id
+                 left join wms_item wi on wi.id = wis.item_id
+        where wtd.id = #{id}
+    </select>
+
 </mapper>