代码优化
This commit is contained in:
@@ -41,4 +41,10 @@ public class WorkOrderDO extends BaseDO {
|
||||
* 总重量
|
||||
*/
|
||||
private BigDecimal totalWeight;
|
||||
|
||||
/**
|
||||
* 总数量
|
||||
*/
|
||||
private Integer totalCount;
|
||||
|
||||
}
|
||||
@@ -6,7 +6,8 @@ import lombok.Data;
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 创建或修改任务工单信息参数
|
||||
@@ -31,19 +32,20 @@ public class WorkOrderInfoReq implements Serializable {
|
||||
* 物料主键id
|
||||
*/
|
||||
@Schema(description = "物料主键id")
|
||||
@NotNull(message = "物料主键id不能为空")
|
||||
private Long materialId;
|
||||
|
||||
/**
|
||||
* 称重次数
|
||||
*/
|
||||
@Schema(description = "称重次数")
|
||||
private int weightTime;
|
||||
private Integer weightTime;
|
||||
|
||||
/**
|
||||
* 物料数量
|
||||
*/
|
||||
@Schema(description = "物料数量")
|
||||
private BigDecimal quantity;
|
||||
private Integer quantity;
|
||||
|
||||
/**
|
||||
* 称重重量
|
||||
|
||||
@@ -8,8 +8,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -29,17 +27,21 @@ public class WorkOrderReq implements Serializable {
|
||||
* 物料主键id
|
||||
*/
|
||||
@Schema(description = "物料主键id")
|
||||
@NotNull(message = "物料主键id不能为空")
|
||||
private Long materialId;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
* 物料名称
|
||||
*/
|
||||
@Schema(description = "创建人")
|
||||
private List<WorkOrderInfoReq> workOrderInfos;
|
||||
@Schema(description = "物料名称")
|
||||
@NotBlank(message = "物料名称不能为空")
|
||||
private String materialName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* 称重列表
|
||||
*/
|
||||
@Schema(description = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
@Schema(description = "称重列表")
|
||||
@NotEmpty(message = "称重列表不能为空")
|
||||
private List<WorkOrderInfoReq> workOrderInfos;
|
||||
|
||||
}
|
||||
@@ -30,6 +30,12 @@ public class WorkOrderResp extends BaseDetailResp {
|
||||
@Schema(description = "卡号")
|
||||
private String cardNo;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
@Schema(description = "工单编号")
|
||||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
package top.wms.admin.weighManage.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -11,14 +16,20 @@ import org.springframework.stereotype.Service;
|
||||
import top.continew.starter.extension.crud.model.query.PageQuery;
|
||||
import top.continew.starter.extension.crud.model.resp.PageResp;
|
||||
import top.continew.starter.extension.crud.service.BaseServiceImpl;
|
||||
import top.wms.admin.common.context.UserContextHolder;
|
||||
import top.wms.admin.weighManage.mapper.WorkOrderInfoMapper;
|
||||
import top.wms.admin.weighManage.mapper.WorkOrderMapper;
|
||||
import top.wms.admin.weighManage.model.entity.WorkOrderDO;
|
||||
import top.wms.admin.weighManage.model.entity.WorkOrderInfoDO;
|
||||
import top.wms.admin.weighManage.model.query.WorkOrderQuery;
|
||||
import top.wms.admin.weighManage.model.req.WorkOrderInfoReq;
|
||||
import top.wms.admin.weighManage.model.req.WorkOrderReq;
|
||||
import top.wms.admin.weighManage.model.resp.WorkOrderInfoResp;
|
||||
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
|
||||
import top.wms.admin.weighManage.service.WorkOrderService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -31,6 +42,9 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkOrderDO, WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> implements WorkOrderService {
|
||||
|
||||
private final WorkOrderInfoMapper workOrderInfoMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public PageResp<WorkOrderResp> page(WorkOrderQuery query, PageQuery pageQuery) {
|
||||
QueryWrapper<WorkOrderDO> queryWrapper = new QueryWrapper<>();
|
||||
@@ -50,13 +64,44 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
||||
return baseMapper.getDetail(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WorkOrderResp addWorKerOrder(WorkOrderReq req) {
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
public void afterDelete(List<Long> ids) {
|
||||
workOrderInfoMapper.delete(new QueryWrapper<WorkOrderInfoDO>().in("work_order_id", ids));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WorkOrderResp addWorKerOrder(WorkOrderReq req) {
|
||||
if (CollUtil.isEmpty(req.getWorkOrderInfos())) {
|
||||
throw new IllegalArgumentException("称重列表不能为空");
|
||||
}
|
||||
|
||||
BigDecimal totalWeight = new BigDecimal("0");
|
||||
int totalCount = 0;
|
||||
for (WorkOrderInfoReq workOrderInfoReq : req.getWorkOrderInfos()) {
|
||||
totalWeight = workOrderInfoReq.getWeight().add(totalWeight);
|
||||
totalCount += workOrderInfoReq.getQuantity();
|
||||
}
|
||||
|
||||
|
||||
WorkOrderDO workOrder = new WorkOrderDO();
|
||||
workOrder.setOrderNo(DateUtil.format(new Date(), DatePattern.PURE_DATE_PATTERN) + System.currentTimeMillis());
|
||||
String title = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_PATTERN) + "-"
|
||||
+ UserContextHolder.getUsername() + "-" + req.getMaterialName();
|
||||
workOrder.setTitle(title);
|
||||
workOrder.setMaterialId(req.getMaterialId());
|
||||
workOrder.setTotalWeight(totalWeight);
|
||||
workOrder.setTotalCount(totalCount);
|
||||
baseMapper.insert(workOrder);
|
||||
|
||||
//新增工单详情列表信息
|
||||
List<WorkOrderInfoDO> workOrderInfoDOList = BeanUtil.copyToList(req.getWorkOrderInfos(), WorkOrderInfoDO.class);
|
||||
workOrderInfoDOList.forEach(workOrderInfoDO -> workOrderInfoDO.setWorkOrderId(workOrder.getId()));
|
||||
workOrderInfoMapper.insertBatch(workOrderInfoDOList);
|
||||
|
||||
|
||||
return BeanUtil.copyProperties(workOrder, WorkOrderResp.class);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user