Commit ecb7b3fa authored by yanghao's avatar yanghao

task: #230 出货-入仓信息新增/修改

parent 0e9ab1d2
......@@ -105,6 +105,13 @@ public class OrderWarehouseInDO extends BaseDO {
*/
private String remark;
/**
* 出货后新添加的商品
*/
private Boolean isShipmentNewIn = false;
/**
* 入仓纪录明细VO
*/
......
......@@ -431,4 +431,15 @@ public interface ErrorCodeConstants {
ErrorCode ORDER_APPROVAL_IS_NOT_EXISTS = new ErrorCode(1004001171, "order.approval.is.not.exists");
ErrorCode FEE_APPLICATION_NOT_IS_ZERO = new ErrorCode(1004001172, "fee.application.not.is.zero");
ErrorCode GUAN_LIAN_ORDER_IS_APPROVAL_IN_PROCESS = new ErrorCode(1004001173, "guan.lian.order.is.approval.in.process");
//订单不是已装柜/已出货,不可操作
ErrorCode WAREHOUSE_IN_UPDATE_NOT_SHIPMENT = new ErrorCode(1004001181, "warehouse.in.update.not.shipment");
//订单已放货,无法修改
ErrorCode CARGO_CONTROL_ORDER_ALREADY_PICKED = new ErrorCode(1004001182, "cargo.control.order.already.picked");
//订单已提货,无法修改
ErrorCode CARGO_UNCONTROL_ORDER_ALREADY_PICKED = new ErrorCode(1004001183, "cargo.uncontrol.order.already.picked");
}
......@@ -7,7 +7,6 @@ import cn.iocoder.yudao.module.customer.vo.zhongPao.ZhongPaoBestVO;
import cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO;
import cn.iocoder.yudao.module.order.dal.dataobject.orderItem.OrderItemDO;
import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehouseIn.OrderWarehouseInDO;
import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInCommonAttrVO;
import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInWithAttrVO;
import cn.iocoder.yudao.module.order.vo.order.WarehouseInInfoVO;
import cn.iocoder.yudao.module.order.vo.orderItem.OrderItemBackVO;
......@@ -151,6 +150,23 @@ public interface OrderWarehouseInService extends IService<OrderWarehouseInDO> {
String updateOrUpdateApply(@Valid OrderWarehouseInUpdateApplyReqVO updateReqVO);
/**
* 出货阶段-追加申请
*
* @param createReqVO 创建信息
* @return 编号
*/
boolean appendApplyWhenShipment(@Valid OrderWarehouseInCreateReqVO createReqVO);
/**
* 出货阶段-入仓修改申请
* @param updateReqVO
* @return
*/
String updateApplyWhenShipment(@Valid OrderWarehouseInUpdateApplyReqVO updateReqVO);
/**
* 入仓修改回调
*
......
package cn.iocoder.yudao.module.order.vo.orderWarehouseIn;
import cn.iocoder.yudao.module.order.vo.order.ApplyInfoVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -112,4 +113,17 @@ public class OrderWarehouseInCreateReqVO {
private Boolean isProcessPicture = true;
// ---------------- 下面属性是给出货阶段 追加入仓申请 使用的 ----------------
@ApiModelProperty(value = "抄送人userId")
private String[] copyUserId;
@ApiModelProperty(value = "修改的信息,返回给前端拼装使用")
private List<ApplyInfoVO> applyInfoVOList;
}
......@@ -8,12 +8,16 @@ import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@ApiModel("管理后台 - 入仓货物详情更新 发起请求 Request VO")
@Data
@EqualsAndHashCode
......@@ -109,4 +113,31 @@ public class OrderWarehouseInUpdateApplyReqVO {
@ApiModelProperty(value = "修改的信息,返回给前端拼装使用")
private List<ApplyInfoVO> applyInfoVOList;
// ---------------- 下面属性是给出货阶段 追加入仓申请 使用的 ----------------
@ApiModelProperty(value = "订单项-入仓时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date inTime;
@ApiModelProperty(value = "入仓货物-0下单货物;1非下单货物")
private Integer type = 0;
/**
* 入仓来源 字典order_warehouse_in_source 1-始发港入仓、2-调拨入仓、3-目的港入仓、4-退场入仓 5-拆单后入仓
*/
@ApiModelProperty(value = "入仓来源 字典order_warehouse_in_source 1-始发港入仓、2-调拨入仓、3-目的港入仓、4-退场入仓 5-拆单后入仓")
private Integer source = 1;
// 出货阶段 追加,到仓
private Boolean isShipmentAppend = false;
// 出货阶段 修改
private Boolean isShipmentUpdate = false;
}
......@@ -13,7 +13,6 @@ import cn.iocoder.yudao.module.order.service.orderLabel.OrderLabelService;
import cn.iocoder.yudao.module.order.service.orderWarehouseAdjust.OrderWarehouseAdjustService;
import cn.iocoder.yudao.module.order.service.orderWarehouseApproval.OrderWarehouseApprovalService;
import cn.iocoder.yudao.module.order.service.orderWarehouseIn.OrderWarehouseInService;
import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInCommonAttrVO;
import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInWithAttrVO;
import cn.iocoder.yudao.module.order.vo.order.WarehouseInInfoVO;
import cn.iocoder.yudao.module.order.vo.orderLabel.OrderLabelBackVO;
......@@ -158,6 +157,41 @@ public class OrderWarehouseInController {
}
/**
* 出货阶段 - 追加
*
* @param createReqVO
* @return
*/
@PostMapping("/append-apply-when-shipment")
@ApiOperation("出货阶段 - 入仓/追加申请")
@Idempotent(timeout = 8)
public CommonResult<Boolean> appendApplyWhenShipment(@Valid @RequestBody OrderWarehouseInCreateReqVO createReqVO) {
return success(orderWarehouseInService.appendApplyWhenShipment(createReqVO));
}
/*
* 出货阶段-入仓修改申请
*/
@PutMapping("/update-apply-when-shipment")
@ApiOperation("出货阶段 - 入仓修改申请")
public CommonResult<Boolean> updateApplyWhenShipment(@Valid @RequestBody OrderWarehouseInUpdateApplyReqVO updateReqVO) {
// 校验存在
String msg = orderWarehouseInService.updateApplyWhenShipment(updateReqVO);
CommonResult<Boolean> success = success(true);
success.setMsg(msg);
return success;
}
@GetMapping("/update-callback-when-shipment")
@ApiOperation("出货阶段-入仓修改回调")
public CommonResult<Boolean> updateCallbackWhenShipment(String formId, Integer result) {
orderWarehouseInService.updateApplyCallback(formId, result);
return success(true);
}
@PostMapping("/save-or-update-order-location")
@ApiOperation("新增/更新入仓储位")
@Idempotent(timeout = 5)
......
......@@ -305,6 +305,16 @@ order.not.is.overseas.warehouse.order=
area.code.not.null=
currency.id.not.null=
warehouse.in.update.not.shipment=
air.port.dest.customer.customs.clear.and.single.shipment.method=
air.delivery.way.not.null=
air.port.dest.customs.clear.not.null=
app.message.update.control.password.title=
consignee.limit.update.cancel=
score.rule.orderentry.error=
orderv.score.rule.error=
cargo.control.order.already.picked=
cargo.uncontrol.order.already.picked=
order.approval.is.not.exists=
fee.application.not.is.zero=
......
......@@ -1119,6 +1119,10 @@ order.not.is.overseas.warehouse.order=This order is already a non overseas wareh
area.code.not.null=The national mobile phone area code cannot be empty
currency.id.not.null=The country ID cannot be empty
warehouse.in.update.not.shipment=Warehouse update is only allowed after the shipment has been loaded into the container by sea or shipped by air.
cargo.control.order.already.picked=cargo control order already picked
cargo.uncontrol.order.already.picked=cargo uncontrol order already picked
order.approval.is.not.exists=Order approval type does not exist
fee.application.not.is.zero=The expense application amount is not 0, and cannot be directly deleted
......
......@@ -126,9 +126,9 @@ not.find.currency=\u672A\u627E\u5230\u53EF\u7528\u8D27\u5E01\u5355\u4F4D
order.warehouse.in.not.exists=\u5165\u4ED3\u8D27\u7269\u8BE6\u60C5\u4E0D\u5B58\u5728
order.warehouse.in.update.not.exists=\u6CA1\u6709\u8981\u4FEE\u6539\u7684\u5165\u4ED3\u6570\u636E
order.warehouse.approval.not.exists=\u5165\u4ED3\u5355\u5BA1\u6838\u4E0D\u5B58\u5728
order.warehouse.check.not.exists=\u5230\u4ed3\u8d27\u7269\u8be6\u60c5\u4e0d\u5b58\u5728
order.warehouse.check.bad.volume=\u5230\u4ed3\u8d27\u7269\u4f53\u79ef\u8d85\u51fa
order.warehouse.check.bad.weight=\u5230\u4ed3\u8d27\u7269\u91cd\u91cf\u8d85\u51fa
order.warehouse.check.not.exists=\u5230\u4ED3\u8D27\u7269\u8BE6\u60C5\u4E0D\u5B58\u5728
order.warehouse.check.bad.volume=\u5230\u4ED3\u8D27\u7269\u4F53\u79EF\u8D85\u51FA
order.warehouse.check.bad.weight=\u5230\u4ED3\u8D27\u7269\u91CD\u91CF\u8D85\u51FA
warehouse.adjust.not.exists=\u8C03\u4ED3\u8BB0\u5F55\u4E0D\u5B58\u5728
shipment.not.exists=\u51FA\u8D27\u4E0D\u5B58\u5728
shipment.order.exit.not.exists=\u8BA2\u5355\u9000\u573A\u4FE1\u606F\u4E0D\u5B58\u5728
......@@ -303,7 +303,7 @@ order.label.overlap=\u6807\u7B7E\u53F7\u672C\u8EAB\u5B58\u5728\u91CD\u53E0
transfer.goods.order.not.null=\u8C03\u8D27\u8BA2\u5355\u4E0D\u80FD\u4E3A\u7A7A
file.format.is.excel=\u6587\u4EF6\u683C\u5F0F\u53EA\u652F\u6301excel
prod.volume.beyond.day.upper.limit=\u5546\u54C1{}\u65B9\u6570\u8D85\u51FA\u4ED3\u5E93\u5F53\u65E5\u63A5\u53D7\u4E0A\u9650
prod.weight.beyond.day.upper.limit=\u5546\u54c1{}\u91cd\u91cf\u8d85\u51fa\u4ed3\u5e93\u5f53\u65e5\u63a5\u53d7\u4e0a\u9650
prod.weight.beyond.day.upper.limit=\u5546\u54C1{}\u91CD\u91CF\u8D85\u51FA\u4ED3\u5E93\u5F53\u65E5\u63A5\u53D7\u4E0A\u9650
coupon.full.reduce.value.gt.payment.value=\u4F18\u60E0\u6D3B\u52A8\u6EE1\u51CF\u503C\u4E0D\u80FD\u5927\u4E8E\u539F\u503C
coupon.full.net.value.gt.payment.value=\u4F18\u60E0\u6D3B\u52A8\u7684\u6EE1\u6536\u4EF7\u4E0D\u80FD\u5927\u4E8E\u539F\u4EF7
coupon.currency.or.unit.not.null=\u4F18\u60E0\u6D3B\u52A8\u6761\u4EF6\u8D27\u5E01\u5355\u4F4D\u6216\u8BA1\u91CF\u5355\u4F4D\u4E0D\u80FD\u4E3A\u7A7A
......@@ -654,9 +654,9 @@ order.cargo.control.cancel.pick.reject=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D2
order.cargo.control.cancel.pick.cancel=\u63A7\u8D27\u8BA2\u5355\u5DF2\u653E\u8D27\u8BB0\u5F55\u8C03\u8D27\u5BA1\u6279\u53D6\u6D88
warehouse.in.item.quantity.required=\u5165\u4ED3\u9879\u6570\u91CF\u5FC5\u586B
order.line.not.exist=\u8BA2\u5355\u7EBF\u8DEF\u4E0D\u5B58\u5728
line.not.exist=\u7ebf\u8def\u4e0d\u5b58\u5728
line.not.exist=\u7EBF\u8DEF\u4E0D\u5B58\u5728
order.departure.objective.and.line.not.agreement=\u8BA2\u5355\u59CB\u53D1\u5730\u76EE\u7684\u5730\u4E0E\u7EBF\u8DEF\u4E0D\u4E00\u81F4
offer.departure.objective.and.line.not.agreement=\u62a5\u4ef7\u5355\u59cb\u53d1\u5730\u76ee\u7684\u5730\u4e0e\u7ebf\u8def\u4e0d\u4e00\u81f4
offer.departure.objective.and.line.not.agreement=\u62A5\u4EF7\u5355\u59CB\u53D1\u5730\u76EE\u7684\u5730\u4E0E\u7EBF\u8DEF\u4E0D\u4E00\u81F4
transport.and.line.not.agreement=\u8BA2\u5355\u8FD0\u8F93\u65B9\u5F0F\u4E0E\u7EBF\u8DEF\u4FE1\u606F\u4E0D\u5339\u914D\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u7EBF\u8DEF\u4FE1\u606F
prod.brand.not.null=\u54C1\u724C\u4E0D\u80FD\u4E3A\u7A7A\u62160
preload.not.exist=\u51FA\u8D27\u5355\u672A\u9884\u88C5\u8D27\u7269
......@@ -1112,14 +1112,17 @@ customer.approval.in.processing=\u975E\u4E3B\u5BA2\u6237\u5BA1\u6279\u6B63\u5728
order.overseas.warehouse.update.is.or.no=\u8bf7\u9009\u62e9\u8ba2\u5355\u6d77\u5916\u4ed3\u4fee\u6539\u662f\u6216\u5426
order.is.overseas.warehouse.order=\u8be5\u8ba2\u5355\u5df2\u7ecf\u662f\u6d77\u5916\u4ed3\u8ba2\u5355
order.not.is.overseas.warehouse.order=\u8be5\u8ba2\u5355\u5df2\u7ecf\u662f\u975e\u6d77\u5916\u4ed3\u8ba2\u5355
order.overseas.warehouse.update.is.or.no=\u8BF7\u9009\u62E9\u8BA2\u5355\u6D77\u5916\u4ED3\u4FEE\u6539\u662F\u6216\u5426
order.is.overseas.warehouse.order=\u8BE5\u8BA2\u5355\u5DF2\u7ECF\u662F\u6D77\u5916\u4ED3\u8BA2\u5355
order.not.is.overseas.warehouse.order=\u8BE5\u8BA2\u5355\u5DF2\u7ECF\u662F\u975E\u6D77\u5916\u4ED3\u8BA2\u5355
area.code.not.null=\u56fd\u5bb6\u624b\u673a\u533a\u53f7\u4e0d\u80fd\u4e3a\u7a7a
currency.id.not.null=\u56fd\u5bb6id\u4e0d\u80fd\u4e3a\u7a7a
area.code.not.null=\u56FD\u5BB6\u624B\u673A\u533A\u53F7\u4E0D\u80FD\u4E3A\u7A7A
currency.id.not.null=\u56FD\u5BB6id\u4E0D\u80FD\u4E3A\u7A7A
warehouse.in.update.not.shipment=\u8BA2\u5355\u4E0D\u662F\u5DF2\u88C5\u67DC/\u5DF2\u51FA\u8D27\uFF0C\u4E0D\u53EF\u64CD\u4F5C
cargo.control.order.already.picked=\u8BA2\u5355\u5DF2\u653E\u8D27\uFF0C\u65E0\u6CD5\u4FEE\u6539
cargo.uncontrol.order.already.picked=\u8BA2\u5355\u5DF2\u63D0\u8D27\uFF0C\u65E0\u6CD5\u4FEE\u6539
order.approval.is.not.exists=\u8ba2\u5355\u5ba1\u6279\u7c7b\u578b\u4e0d\u5b58\u5728
fee.application.not.is.zero=\u8d39\u7528\u7533\u8bf7\u91d1\u989d\u4e0d\u4e3a0\uff0c\u4e0d\u80fd\u8fdb\u884c\u76f4\u63a5\u5220\u9664
guan.lian.order.is.approval.in.process=\u5173\u8054\u8ba2\u5355\u3010{}\u3011\u6709\u5ba1\u6279\u6b63\u5728\u8fdb\u884c\u4e2d
order.approval.is.not.exists=\u8BA2\u5355\u5BA1\u6279\u7C7B\u578B\u4E0D\u5B58\u5728
fee.application.not.is.zero=\u8D39\u7528\u7533\u8BF7\u91D1\u989D\u4E0D\u4E3A0\uFF0C\u4E0D\u80FD\u8FDB\u884C\u76F4\u63A5\u5220\u9664
guan.lian.order.is.approval.in.process=\u5173\u8054\u8BA2\u5355\u3010{}\u3011\u6709\u5BA1\u6279\u6B63\u5728\u8FDB\u884C\u4E2D
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment