Quellcode durchsuchen

订单判断去掉

dongke vor 1 Jahr
Ursprung
Commit
0435b4a1b8

+ 6 - 1
src/main/java/com/dk/mdm/model/vo/sale/OrderItemVO.java

@@ -71,7 +71,12 @@ public class OrderItemVO extends PageInfo<OrderItemVO> implements Serializable {
     @ApiModelProperty(value = "订单ID")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String orderId;
-
+    /**
+     * 供应商名称
+     */
+    @Excel(name = "供应商名称")
+    @ApiModelProperty(value = "供应商名称")
+    private String supName;
 
     /**
      * 商品顺序

+ 16 - 2
src/main/java/com/dk/mdm/service/mst/SupplierService.java

@@ -153,9 +153,23 @@ public class SupplierService extends BaseService<Supplier> {
                 otherPayableService.insert(otherPayableVO);
             }
         }
-        return ResponseResultUtil.success();
+        return ResponseResultUtil.success(supplier);
+    }
+    /**
+     * @desc : 新建供应商
+     * @author : 王英杰
+     * @date : 2024/2/27 9:17
+     */
+    @Transactional(rollbackFor = {Exception.class})
+    public Supplier  saleinsert(SupplierVo supplierVo) {
+        // 转化实体
+        Supplier supplier = supplierConvert.convertToPo(supplierVo);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SUPPLIER.getName(), true);
+        supplier.setSupId(codeMap.get("outId").toString());
+        supplier.setSupCode(codeMap.get("outNote").toString());  //插入供应商表的实体
+        super.insert(supplier);// 先插入自己的供应商表
+        return  supplier;
     }
-
     /**
      * @desc : 编辑方法
      * @author : 王英杰

+ 22 - 4
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -14,6 +14,7 @@ import com.dk.mdm.infrastructure.convert.mac.RecPayItemConvert;
 import com.dk.mdm.infrastructure.convert.sale.OrderConvert;
 import com.dk.mdm.infrastructure.convert.sale.OrderItemConvert;
 import com.dk.mdm.infrastructure.convert.sale.OutBoundDtoConvert;
+import com.dk.mdm.infrastructure.util.AuthUtils;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.ivt.OutboundItemMapper;
 import com.dk.mdm.mapper.ivt.OutboundMapper;
@@ -34,6 +35,7 @@ import com.dk.mdm.model.pojo.mac.RecPayItem;
 import com.dk.mdm.model.pojo.mst.Customer;
 import com.dk.mdm.model.pojo.mst.MoneyAccount;
 import com.dk.mdm.model.pojo.mst.MoneyAccountItem;
+import com.dk.mdm.model.pojo.mst.Supplier;
 import com.dk.mdm.model.pojo.sale.MultiOwner;
 import com.dk.mdm.model.pojo.sale.Order;
 import com.dk.common.service.BaseService;
@@ -55,6 +57,7 @@ import com.dk.mdm.model.response.sale.OrderItemResponse;
 import com.dk.mdm.model.response.sale.OrderResponse;
 import com.dk.mdm.model.vo.ivt.OutboundVO;
 import com.dk.mdm.model.vo.mac.RecPayItemVO;
+import com.dk.mdm.model.vo.mst.SupplierVo;
 import com.dk.mdm.model.vo.sale.OrderItemVO;
 import com.dk.mdm.model.vo.sale.OrderVO;
 import com.dk.mdm.service.common.CommonService;
@@ -63,6 +66,7 @@ import com.dk.mdm.service.mac.AccountService;
 import com.dk.mdm.service.mac.RecPayItemService;
 import com.dk.mdm.service.mac.ReceiptService;
 import com.dk.mdm.service.mst.MoneyAccountService;
+import com.dk.mdm.service.mst.SupplierService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -159,6 +163,11 @@ public class OrderService extends BaseService<Order> {
     @Autowired
     private OutboundMapper outboundMapper;
 
+    @Autowired
+    private SupplierService supplierService;
+
+    @Autowired
+    private AuthUtils authUtils;
 
     /**
      * @desc : 条件查询
@@ -309,6 +318,13 @@ public class OrderService extends BaseService<Order> {
         // 订单明细保存
         if (orderVO.getItemList() != null && orderVO.getItemList().size() > 0) {
             for (OrderItemVO orderItemVO : orderVO.getItemList()) {
+                //外协品供应上只有name 没有id 的时候 要新建供应商
+                if (orderItemVO.getSkuId() == null) { //说明外协品
+                    if (orderItemVO.getSupId() == null) { //说明在库里不存在这个供应商
+                        Supplier supplier = supplierService.saleinsert(new SupplierVo().setSupName(orderItemVO.getSupName()).setSupType("供应商类别-外协").setCpId(authUtils.getStaff().getCpId()));
+                        orderItemVO.setSupId(supplier.getSupId());
+                    }
+                }
                 OrderItem orderItem = orderItemConvert.convertToPo(orderItemVO);
                 orderItem.setOrderId(order.getOrderId()).setCpId(order.getCpId()).setOutStatus(Constant.OutStatus.DAICHUKU.getName());
                 if (orderItem.getPriceStd() == null) {
@@ -544,9 +560,11 @@ public class OrderService extends BaseService<Order> {
             orderItemForUpdate = orderItemMapper.selectByIdForUpdate(orderItemVO.getItemId());
             // 出库数量
             BigDecimal outintOrOutQty = orderItemForUpdate.getOutingQty().add(orderItemForUpdate.getOutQty());
-            // 商品数量不能小于(出库中数量+已出库数量)
-            if (orderItemVO.getItemQty().compareTo(outintOrOutQty) == -1) {
-                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_OUTQTY.getMessage());
+            if (!"STD".equals(gradeCode)) {
+                // 商品数量不能小于(出库中数量+已出库数量)
+                if (orderItemVO.getItemQty().compareTo(outintOrOutQty) == -1) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_OUTQTY.getMessage());
+                }
             }
             // 如果出库数量不是0,则不能改仓库
             if (outintOrOutQty.compareTo(BigDecimal.ZERO) != 0) {
@@ -799,7 +817,7 @@ public class OrderService extends BaseService<Order> {
                 if (orderVO.getOutboundProcessingFlag() != null && orderVO.getOutboundProcessingFlag()) {
                     //标准版 只有一个出库单  所以get0 就可以 且 编辑销售订单得时候 一定是有出库单的
                     List<OutboundResponse> outboundList = outboundMapper.selectByCond(new OutboundQuery().setFromId(orderVO.getOrderId()));
-                    if (outboundList.size() > 0) {
+                    if (outboundList.size() > 0) { //有订单有出库单后续才编辑 没有就不用编辑
                         OutboundResponse outboundResponsejson = outboundList.get(0);
                         for (OrderItemVO orderItemVO : combinedList) {
                             //拿到 订单明细对应的出库明细   订单明细id 和 出库单来源明细 是一 一 对应的 所以 get0 也是不会有问题的