新增库存选入与扫码添加接口

workplace
yewj 10 months ago
parent 3c4d1c16e1
commit b0248b2642

@ -1,38 +1,23 @@
package com.glxp.api.controller.collect; package com.glxp.api.controller.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.WorkOperType;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.BasicCollectBustypeEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
import com.glxp.api.req.collect.CollectOrderCodeManRequest; import com.glxp.api.req.collect.CollectOrderCodeManRequest;
import com.glxp.api.req.inout.AddTagCodeReqeust; import com.glxp.api.req.inout.AddTagCodeReqeust;
import com.glxp.api.req.inout.DeleteTageCodeRequest; import com.glxp.api.req.inout.DeleteTageCodeRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderCodeManResponse; import com.glxp.api.res.collect.CollectOrderCodeManResponse;
import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderCodeManService; import com.glxp.api.service.collect.IoCollectOrderCodeManService;
import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.service.inout.IoSplitFifoCodeService;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -41,8 +26,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
@Slf4j @Slf4j

@ -79,4 +79,20 @@ public class IoFifoDesOrderController extends BaseController {
} }
/**
*
*
* @return
*/
@PostMapping("/udiwms/collect/fifo/desOrder/addCode")
public BaseResponse addCode(@RequestBody AddInvDesDetaiRequest addInvDesDetaiRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
IoSplitDesOrder splitDesOrder = splitDesOrderService.addCode(addInvDesDetaiRequest);
return ResultVOUtils.success(splitDesOrder);
}
} }

@ -6,139 +6,147 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value="io_split_des_order_code") @ApiModel(value = "io_split_des_order_code")
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_split_des_order_code") @TableName(value = "io_split_des_order_code")
public class IoSplitDesOrderCode implements Serializable { public class IoSplitDesOrderCode implements Serializable {
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Integer id; private Integer id;
/** /**
* *
*/ */
@TableField(value = "code") @TableField(value = "code")
@ApiModelProperty(value="追溯码") @ApiModelProperty(value = "追溯码")
private String code; private String code;
@TableField(value = "errUdiCode") @TableField(value = "errUdiCode")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String errUdiCode; private String errUdiCode;
/** /**
* *
*/ */
@TableField(value = "orderIdFk") @TableField(value = "orderIdFk")
@ApiModelProperty(value="损耗单号") @ApiModelProperty(value = "损耗单号")
private String orderIdFk; private String orderIdFk;
/** /**
* ID * ID
*/ */
@TableField(value = "bizIdFk") @TableField(value = "bizIdFk")
@ApiModelProperty(value="业务单ID") @ApiModelProperty(value = "业务单ID")
private Long bizIdFk; private Long bizIdFk;
/** /**
* ID * ID
*/ */
@TableField(value = "relId") @TableField(value = "relId")
@ApiModelProperty(value="产品字典ID") @ApiModelProperty(value = "产品字典ID")
private Long relId; private Long relId;
/** /**
* *
*/ */
@TableField(value = "batchNo") @TableField(value = "batchNo")
@ApiModelProperty(value="批次号") @ApiModelProperty(value = "批次号")
private String batchNo; private String batchNo;
/** /**
* *
*/ */
@TableField(value = "produceDate") @TableField(value = "produceDate")
@ApiModelProperty(value="生产日期") @ApiModelProperty(value = "生产日期")
private String produceDate; private String produceDate;
/** /**
* *
*/ */
@TableField(value = "expireDate") @TableField(value = "expireDate")
@ApiModelProperty(value="失效日期") @ApiModelProperty(value = "失效日期")
private String expireDate; private String expireDate;
/** /**
* *
*/ */
@TableField(value = "serialNo") @TableField(value = "serialNo")
@ApiModelProperty(value="序列号") @ApiModelProperty(value = "序列号")
private String serialNo; private String serialNo;
/** /**
* ID * ID
*/ */
@TableField(value = "supId") @TableField(value = "supId")
@ApiModelProperty(value="供应商ID") @ApiModelProperty(value = "供应商ID")
private Long supId; private Long supId;
/** /**
* *
*/ */
@TableField(value = "workPlaceCode") @TableField(value = "workPlaceCode")
@ApiModelProperty(value="工位") @ApiModelProperty(value = "工位")
private String workPlaceCode; private String workPlaceCode;
/** /**
* *
*/ */
@TableField(value = "createTime") @TableField(value = "createTime")
@ApiModelProperty(value="创建时间") @ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
/** /**
* *
*/ */
@TableField(value = "updateTime") @TableField(value = "updateTime")
@ApiModelProperty(value="更新时间") @ApiModelProperty(value = "更新时间")
private Date updateTime; private Date updateTime;
/** /**
* *
*/ */
@TableField(value = "`createUser`") @TableField(value = "`createUser`")
@ApiModelProperty(value="创建人") @ApiModelProperty(value = "创建人")
private String createUser; private String createUser;
/** /**
* *
*/ */
@TableField(value = "updateUser") @TableField(value = "updateUser")
@ApiModelProperty(value="更新人") @ApiModelProperty(value = "更新人")
private String updateUser; private String updateUser;
/** /**
* *
*/ */
@TableField(value = "`count`") @TableField(value = "`count`")
@ApiModelProperty(value="数量") @ApiModelProperty(value = "数量")
private Integer count; private Integer count;
/** /**
* *
*/ */
@TableField(value = "reCount") @TableField(value = "reCount")
@ApiModelProperty(value="实际数量") @ApiModelProperty(value = "实际数量")
private Integer reCount; private Integer reCount;
/** /**
* *
*/ */
@TableField(value = "remark") @TableField(value = "remark")
@ApiModelProperty(value="备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -15,9 +16,9 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* *
*/ */
@ApiModel(value="销毁出库详情") @ApiModel(value = "销毁出库详情")
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
@ -25,59 +26,59 @@ import lombok.NoArgsConstructor;
@TableName(value = "io_split_des_order_detail") @TableName(value = "io_split_des_order_detail")
public class IoSplitDesOrderDetail implements Serializable { public class IoSplitDesOrderDetail implements Serializable {
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Integer id; private Long id;
@TableField(value = "workPlaceCode") @TableField(value = "workPlaceCode")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Long workPlaceCode; private Long workPlaceCode;
@TableField(value = "orderIdFk") @TableField(value = "orderIdFk")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String orderIdFk; private String orderIdFk;
@TableField(value = "invId") @TableField(value = "invId")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Integer invId; private Integer invId;
@TableField(value = "relId") @TableField(value = "relId")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Long relId; private Long relId;
@TableField(value = "batchNo") @TableField(value = "batchNo")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String batchNo; private String batchNo;
@TableField(value = "produceDate") @TableField(value = "produceDate")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String produceDate; private String produceDate;
@TableField(value = "expireDate") @TableField(value = "expireDate")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String expireDate; private String expireDate;
@TableField(value = "supId") @TableField(value = "supId")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Long supId; private Long supId;
@TableField(value = "`count`") @TableField(value = "`count`")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Integer count; private Integer count;
@TableField(value = "reCount") @TableField(value = "reCount")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Integer reCount; private Integer reCount;
@TableField(value = "createTime") @TableField(value = "createTime")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Date createTime; private Date createTime;
@TableField(value = "updateTime") @TableField(value = "updateTime")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private Date updateTime; private Date updateTime;
@TableField(value = "remark") @TableField(value = "remark")
@ApiModelProperty(value="") @ApiModelProperty(value = "")
private String remark; private String remark;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -10,13 +10,19 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
*/ */
@ApiModel(value = "com-glxp-api-entity-inout-IoSplitFifoCode") @ApiModel(value = "com-glxp-api-entity-inout-IoSplitFifoCode")
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_split_fifo_code") @TableName(value = "io_split_fifo_code")
public class IoSplitFifoCodeEntity implements Serializable { public class IoSplitFifoCodeEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)

@ -1,6 +1,8 @@
package com.glxp.api.service.collect; package com.glxp.api.service.collect;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.req.collect.IoSplitDesOrderDetailRequest; import com.glxp.api.req.collect.IoSplitDesOrderDetailRequest;
import com.glxp.api.req.collect.IoSplitDesOrderRequest; import com.glxp.api.req.collect.IoSplitDesOrderRequest;
import com.glxp.api.res.collect.IoSplitDesOrderDetailResponse; import com.glxp.api.res.collect.IoSplitDesOrderDetailResponse;
@ -33,8 +35,12 @@ public class IoSplitDesOrderDetailService extends ServiceImpl<IoSplitDesOrderDet
return data; return data;
} }
public List<IoSplitDesOrderDetail> listByBillNo(String billNo) {
List<IoSplitDesOrderDetail> list = super.list(Wrappers.lambdaQuery(IoSplitDesOrderDetail.class)
.eq(IoSplitDesOrderDetail::getOrderIdFk, billNo)
);
return list;
}
} }

@ -1,20 +1,27 @@
package com.glxp.api.service.collect; package com.glxp.api.service.collect;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.dao.collect.IoSplitDesOrderMapper; import com.glxp.api.dao.collect.IoSplitDesOrderMapper;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoSplitDesOrder; import com.glxp.api.entity.collect.IoSplitDesOrder;
import com.glxp.api.entity.collect.IoSplitDesOrderCode;
import com.glxp.api.entity.collect.IoSplitDesOrderDetail; import com.glxp.api.entity.collect.IoSplitDesOrderDetail;
import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity;
import com.glxp.api.entity.inout.IoSplitFifoInv; import com.glxp.api.entity.inout.IoSplitFifoInv;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.AddInvDesDetaiRequest; import com.glxp.api.req.collect.AddInvDesDetaiRequest;
import com.glxp.api.req.collect.IoSplitDesOrderRequest; import com.glxp.api.req.collect.IoSplitDesOrderRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.IoSplitDesOrderResponse; import com.glxp.api.res.collect.IoSplitDesOrderResponse;
import com.glxp.api.service.inout.IoSplitFifoCodeService; import com.glxp.api.service.inout.IoSplitFifoCodeService;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -73,6 +80,7 @@ public class IoSplitDesOrderService extends ServiceImpl<IoSplitDesOrderMapper, I
} }
IoSplitFifoInv splitFifoInv = addInvDesDetaiRequest.getSplitFifoInv(); IoSplitFifoInv splitFifoInv = addInvDesDetaiRequest.getSplitFifoInv();
IoSplitDesOrderDetail splitDesOrderDetail = IoSplitDesOrderDetail.builder() IoSplitDesOrderDetail splitDesOrderDetail = IoSplitDesOrderDetail.builder()
.id(IdUtil.getSnowflakeNextId())
.workPlaceCode(collectOrder.getWorkPlaceCode()) .workPlaceCode(collectOrder.getWorkPlaceCode())
.orderIdFk(collectOrder.getBillNo()) .orderIdFk(collectOrder.getBillNo())
.invId(splitFifoInv.getId()) .invId(splitFifoInv.getId())
@ -92,9 +100,39 @@ public class IoSplitDesOrderService extends ServiceImpl<IoSplitDesOrderMapper, I
@Resource @Resource
IoSplitFifoCodeService splitFifoCodeService; IoSplitFifoCodeService splitFifoCodeService;
@Resource
IoSplitDesOrderCodeService ioSplitDesOrderCodeService;
public void addCode(AddInvDesDetaiRequest addInvDesDetaiRequest) { public IoSplitDesOrder addCode(AddInvDesDetaiRequest addInvDesDetaiRequest) {
IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(addInvDesDetaiRequest.getCode(), addInvDesDetaiRequest.getWorkPlaceCode()); IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(addInvDesDetaiRequest.getCode(), addInvDesDetaiRequest.getWorkPlaceCode());
if (splitFifoCodeEntity == null) {
throw new JsonException("工位存量不存在,请检查后重试!");
}
IoSplitDesOrder collectOrder;
if (StrUtil.isNotEmpty(addInvDesDetaiRequest.getBillNo())) {
collectOrder = getByBillNo(addInvDesDetaiRequest.getBillNo());
} else {
collectOrder = IoSplitDesOrder.builder()
.billNo(gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SPLIT_DES_ORDER, "yyyyMMdd")))
.busType("1")
.workPlaceCode(addInvDesDetaiRequest.getWorkPlaceCode())
.createTime(new Date())
.billTime(new Date())
.remark(addInvDesDetaiRequest.getRemark())
.status(1)
.createUser(addInvDesDetaiRequest.getCreateUser())
.updateTime(new Date())
.updateUser(addInvDesDetaiRequest.getUpdateUser())
.build();
save(collectOrder);
}
IoSplitDesOrderCode splitDesOrderCode = new IoSplitDesOrderCode();
BeanUtil.copyProperties(splitFifoCodeEntity, splitDesOrderCode);
splitDesOrderCode.setCount(0);
splitDesOrderCode.setReCount(0);
ioSplitDesOrderCodeService.save(splitDesOrderCode);
return collectOrder;
} }
} }

Loading…
Cancel
Save