Forráskód Böngészése

维多利亚采购退货

yzc 2 éve
szülő
commit
710b97108b

+ 2 - 1
hx-oa/src/main/java/com/fjhx/oa/service/schedule/impl/ScheduleInfoServiceImpl.java

@@ -47,7 +47,7 @@ public class ScheduleInfoServiceImpl extends ServiceImpl<ScheduleInfoMapper, Sch
     @Override
     public Page<ScheduleInfoVo> getPage(ScheduleInfoSelectDto dto) {
         IWrapper<ScheduleInfo> wrapper = getWrapper();
-        wrapper.orderByDesc("si", ScheduleInfo::getId);
+        wrapper.orderByDesc("si", ScheduleInfo::getCreateTime);
         if (ObjectUtil.isNotEmpty(dto.getDate())) {
             wrapper.apply("date_format(si.start_date,'%Y-%m') = date_format('" + sdf.format(dto.getDate()) + "','%Y-%m')");
         }
@@ -56,6 +56,7 @@ public class ScheduleInfoServiceImpl extends ServiceImpl<ScheduleInfoMapper, Sch
         if (ObjectUtil.isNotEmpty(dto.getStartDate())) {
             wrapper.apply("date_format(si.start_date,'%Y-%m-%d') BETWEEN date_format('" + sdf.format(dto.getStartDate()) + "','%Y-%m-%d') AND date_format('" + sdf.format(dto.getEndDate()) + "','%Y-%m-%d')");
         }
+        wrapper.groupBy("si.id");
         Page<ScheduleInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/sales/po/SalesReturn.java

@@ -57,4 +57,9 @@ public class SalesReturn extends BasePo {
      */
     @TableField(exist = false)
     private List<SalesReturnDetail> salesReturnDetailList;
+
+    /**
+     * 维多利亚扩展
+     */
+    private String victoriatouristJson;
 }

+ 5 - 0
hx-purchase/src/main/java/com/fjhx/purchase/entity/sales/po/SalesReturnDetail.java

@@ -45,4 +45,9 @@ public class SalesReturnDetail extends BasePo {
      */
     private String remark;
 
+    /**
+     * 维多利亚扩展
+     */
+    private String victoriatouristJson;
+
 }

+ 20 - 9
hx-purchase/src/main/java/com/fjhx/purchase/flow/SalesReturnFlow.java

@@ -14,6 +14,7 @@ import com.fjhx.purchase.entity.sales.po.SalesReturn;
 import com.fjhx.purchase.entity.sales.po.SalesReturnDetail;
 import com.fjhx.purchase.service.sales.SalesReturnDetailService;
 import com.fjhx.purchase.service.sales.SalesReturnService;
+import com.fjhx.purchase.service.WdlySalesReturnService;
 import com.fjhx.purchase.util.code.CodeEnum;
 import com.fjhx.wms.entity.stock.po.StockWait;
 import com.fjhx.wms.service.stock.StockWaitService;
@@ -26,6 +27,7 @@ import java.util.List;
 
 /**
  * 退货流程
+ *
  * @Author:caozj
  * @DATE:2023/4/3 17:38
  */
@@ -41,7 +43,8 @@ public class SalesReturnFlow extends FlowDelegate {
 
     /**
      * 发起流程
-     * @param flowId 流程ID
+     *
+     * @param flowId     流程ID
      * @param submitData 申购数据
      * @return
      */
@@ -53,18 +56,21 @@ public class SalesReturnFlow extends FlowDelegate {
         salesReturn.setCode(CodeEnum.SALES_RETURN.getCode());
         salesReturnService.save(salesReturn);
         List<SalesReturnDetail> salesReturnDetailList = salesReturn.getSalesReturnDetailList();
-        if(CollectionUtils.isNotEmpty(salesReturnDetailList)){
-            for(SalesReturnDetail s : salesReturnDetailList){
+        if (CollectionUtils.isNotEmpty(salesReturnDetailList)) {
+            for (SalesReturnDetail s : salesReturnDetailList) {
                 s.setSalesReturnId(salesReturn.getId());
             }
             salesReturnDetailService.saveBatch(salesReturnDetailList);
         }
+        //调用维多利亚扩展
+        startByWdly(salesReturn);
         return salesReturn.getId();
     }
 
     /**
      * 结束流程
-     * @param flowId 流程ID
+     *
+     * @param flowId     流程ID
      * @param businessId 业务ID
      * @param submitData 数据
      */
@@ -75,7 +81,7 @@ public class SalesReturnFlow extends FlowDelegate {
         StockWaitService stockWaitService = SpringUtil.getBean(StockWaitService.class);
         //通过业务ID查询退货数据
         SalesReturn salesReturn = salesReturnService.getById(businessId);
-        if(ObjectUtils.isEmpty(salesReturn)){
+        if (ObjectUtils.isEmpty(salesReturn)) {
             throw new ServiceException("退货单单不存在");
         }
         //修改退货状态为待退货
@@ -85,13 +91,13 @@ public class SalesReturnFlow extends FlowDelegate {
         //修改退货明细状态为待退货
         SalesReturnDetail detail = new SalesReturnDetail();
         detail.setStatus(SalesReturnDetailStatusEnum.STATUS_20.getKey());
-        salesReturnDetailService.update(detail,Wrappers.<SalesReturnDetail>query()
-                .lambda().eq(SalesReturnDetail::getSalesReturnId,salesReturn.getId()));
+        salesReturnDetailService.update(detail, Wrappers.<SalesReturnDetail>query()
+                .lambda().eq(SalesReturnDetail::getSalesReturnId, salesReturn.getId()));
         List<SalesReturnDetail> salesReturnDetailList = salesReturnDetailService.list(Wrappers.<SalesReturnDetail>query()
-                        .lambda().eq(SalesReturnDetail::getSalesReturnId,salesReturn.getId()));
+                .lambda().eq(SalesReturnDetail::getSalesReturnId, salesReturn.getId()));
         //添加一份待出库数据
         List<StockWait> stockWaitList = new ArrayList<>();
-        for(SalesReturnDetail s:salesReturnDetailList){
+        for (SalesReturnDetail s : salesReturnDetailList) {
             StockWait stockWait = new StockWait();
             stockWait.setProductId(s.getBussinessId());
             stockWait.setBusinessId(s.getId());//到货明细ID
@@ -103,4 +109,9 @@ public class SalesReturnFlow extends FlowDelegate {
         }
         stockWaitService.saveBatch(stockWaitList);
     }
+
+    public void startByWdly(SalesReturn salesReturn) {
+        WdlySalesReturnService wdly = SpringUtil.getBean(WdlySalesReturnService.class);
+        wdly.startByWdly(salesReturn);
+    }
 }

+ 8 - 0
hx-purchase/src/main/java/com/fjhx/purchase/service/WdlySalesReturnService.java

@@ -0,0 +1,8 @@
+package com.fjhx.purchase.service;
+
+import com.fjhx.purchase.entity.sales.po.SalesReturn;
+
+public interface WdlySalesReturnService {
+
+    void startByWdly(SalesReturn salesReturn);
+}

+ 5 - 4
hx-victoriatourist/pom.xml

@@ -20,15 +20,16 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-common</artifactId>
         </dependency>
-        <dependency>
-            <groupId>com.fjhx</groupId>
-            <artifactId>hx-purchase</artifactId>
-        </dependency>
+
         <dependency>
             <groupId>com.ruoyi</groupId>
             <artifactId>hx-kd100</artifactId>
             <version>3.8.5</version>
         </dependency>
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-purchase</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/a-json/OrderDetailsApi.json


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/a-json/OrderInfoApi.json


+ 70 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/WdlySalesReturnServiceImpl.java

@@ -0,0 +1,70 @@
+package com.fjhx.victoriatourist.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fjhx.purchase.entity.purchase.po.Purchase;
+import com.fjhx.purchase.entity.sales.po.SalesReturn;
+import com.fjhx.purchase.entity.sales.po.SalesReturnDetail;
+import com.fjhx.purchase.service.purchase.PurchaseService;
+import com.fjhx.purchase.service.WdlySalesReturnService;
+import com.fjhx.victoriatourist.entity.order.po.OrderDetails;
+import com.fjhx.victoriatourist.entity.order.po.OrderInfo;
+import com.fjhx.victoriatourist.service.order.OrderDetailsService;
+import com.fjhx.victoriatourist.service.order.OrderInfoService;
+import com.obs.services.internal.ServiceException;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+public class WdlySalesReturnServiceImpl implements WdlySalesReturnService {
+    @Override
+    public void startByWdly(SalesReturn salesReturn) {
+        //判断是否存在维多利亚数据存在就处理
+        if (ObjectUtils.isEmpty(salesReturn.getVictoriatouristJson())) {
+            return;
+        }
+        PurchaseService purchaseService = SpringUtil.getBean(PurchaseService.class);
+        OrderInfoService orderInfoService = SpringUtil.getBean(OrderInfoService.class);
+        OrderDetailsService orderDetailsService = SpringUtil.getBean(OrderDetailsService.class);
+
+        //查询采购订单信息
+        String victoriatouristJson = salesReturn.getVictoriatouristJson();
+        JSONObject json = JSONObject.parseObject(victoriatouristJson);
+        Purchase purchase = purchaseService.getById(json.getLong("purchaseId"));
+        //创建退货订单
+        OrderInfo orderInfo = new OrderInfo();
+        orderInfo.setType(7);
+        orderInfo.setCode(purchase.getCode());
+        orderInfo.setStatus(1);
+        orderInfo.setIssueStatus(1);
+        orderInfo.setContacts(json.getString("contacts"));//收件人
+        orderInfo.setPhone(json.getString("phone"));//联系电话
+        orderInfo.setCityId(json.getString("cityId"));//所在市
+        orderInfo.setProvinceId(json.getString("provinceId"));//所在省
+        orderInfo.setCountryId(json.getString("countryId"));//所在国家
+        orderInfo.setDetailedAddress(json.getString("detailedAddress"));//详细地址
+        orderInfoService.save(orderInfo);
+        //创建订单明细
+        List<OrderDetails> orderDetailsList = new ArrayList<>();
+        for (SalesReturnDetail salesReturnDetail : salesReturn.getSalesReturnDetailList()) {
+            String victoriatouristJson1 = salesReturnDetail.getVictoriatouristJson();
+            if (ObjectUtils.isEmpty(victoriatouristJson1)) {
+                throw new ServiceException("物品单价不能为空");
+            }
+            JSONObject json1 = JSONObject.parseObject(victoriatouristJson);
+            //忽略退货数量为0或小于0的物品
+            if (salesReturnDetail.getCount().compareTo(BigDecimal.ZERO) > 0) {
+                OrderDetails orderDetails = new OrderDetails();
+                orderDetails.setOrderId(orderInfo.getId());
+                orderDetails.setProductId(salesReturnDetail.getBussinessId());
+                orderDetails.setQuantity(salesReturnDetail.getCount());
+                orderDetails.setPrice(json1.getBigDecimal("unitPrice"));
+                orderDetails.setNotIssuedQuantity(salesReturnDetail.getCount());
+                orderDetailsList.add(orderDetails);
+            }
+        }
+        orderDetailsService.saveBatch(orderDetailsList);
+    }
+}

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott