Parcourir la source

小亚通接口

wangxiaoming il y a 5 ans
Parent
commit
0ea17520c2
18 fichiers modifiés avec 863 ajouts et 709 suppressions
  1. 7 0
      watero-common-tool/src/main/java/com/iamberry/app/tool/util/MD5.java
  2. 19 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
  3. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java
  4. 2 2
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  5. 8 2
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderSyncLogService.java
  6. 6 8
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/InventoryServiceImpl.java
  7. 183 149
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  8. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java
  9. 22 11
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  10. 468 497
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java
  11. 0 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java
  12. 4 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderPlatformController.java
  13. 30 2
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  14. 34 2
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java
  15. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/update_inventory.ftl
  16. 32 5
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
  17. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_split.ftl
  18. 35 21
      watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

+ 7 - 0
watero-common-tool/src/main/java/com/iamberry/app/tool/util/MD5.java

@@ -56,4 +56,11 @@ public class MD5 {
 		return resultString;
 	}
 
+	public static void main(String[] args) {
+		String s = "7bebbf213eae42946858b3a87990ec74apiCodeapiCodeappIdIMEIHAOopIdopId{\"data\":{\"operId\":0,\"repositoryCond\":{\"id\":\"1000000000057\"}}}timeStamp2015-09-0522:22:327bebbf213eae42946858b3a87990ec74";
+		String sign = MD5.md5(s);
+		System.out.println(sign);
+		//bcbc1e45b887c69b18a406af3b553e80
+	}
+
 }

+ 19 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -71,7 +71,9 @@ public class SalesOrder implements Serializable {
     private Integer salesIsLocked;          //是否锁定  0:否1:是
     private Integer salesIsSeparate;        //是否缺货  0:否1:是
     private Integer salesIsDownload;        //是否下载过     1 未下载 2 已下载
-    private Integer salesIsShip;        //是否同步物流到第三方平台  0:否 1:是
+    private Integer salesIsShip;        //是否同步物流到第三方平台  0:未同步 1:已同步
+    private Integer salesProcessRefund;        //初始状态为0,只有当第三方平台订单出现退款后,重复确认才能变为处理0:未处理 1:已处理
+    private Integer salesWarrantyStatus;        //订单售后状态 同步第三方平台售后状态:0 没有售后 1 退款中
     private Integer salesMainOrderId;       //主订单id(拆单用)
 
     private String companyName;             //销售公司名称
@@ -1116,4 +1118,20 @@ public class SalesOrder implements Serializable {
     public void setSalesIsShip(Integer salesIsShip) {
         this.salesIsShip = salesIsShip;
     }
+
+    public Integer getSalesProcessRefund() {
+        return salesProcessRefund;
+    }
+
+    public void setSalesProcessRefund(Integer salesProcessRefund) {
+        this.salesProcessRefund = salesProcessRefund;
+    }
+
+    public Integer getSalesWarrantyStatus() {
+        return salesWarrantyStatus;
+    }
+
+    public void setSalesWarrantyStatus(Integer salesWarrantyStatus) {
+        this.salesWarrantyStatus = salesWarrantyStatus;
+    }
 }

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrderItem.java

@@ -28,6 +28,7 @@ public class SalesOrderItem implements Serializable {
     private Integer itemCostTotal;//成本小结
     private Date itemCreateTime;        //创建时间
     private Integer itemIsSource;       //产品来源 1:产品颜色表,2:配件表
+    private Integer itemWarrantyStatus;       //售后状态售后状态:0 没有售后 1 退款中 2 退款关闭  3 退款成功 4 退货中 5 退货关闭 6 退货成功 7 其它售后中 8 部分退货成功
 
     private String productAbbreviation;		//商品简称
     private String colorAbbreviation;	//所属产品简称
@@ -257,4 +258,12 @@ public class SalesOrderItem implements Serializable {
     public void setItemOtherId(String itemOtherId) {
         this.itemOtherId = itemOtherId;
     }
+
+    public Integer getItemWarrantyStatus() {
+        return itemWarrantyStatus;
+    }
+
+    public void setItemWarrantyStatus(Integer itemWarrantyStatus) {
+        this.itemWarrantyStatus = itemWarrantyStatus;
+    }
 }

+ 2 - 2
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -345,14 +345,14 @@ public interface SalesOrderService {
      * @param salesId
      * @return
      */
-    boolean updateInventory(Integer salesId,Integer salesWarehouseId);
+//    boolean updateInventory(Integer salesId,Integer salesWarehouseId);
 
     /**
      * 标记未出库时返还库存
      * @param salesId
      * @return
      */
-    boolean returnInventory(Integer salesId,Integer salesWarehouseId);
+//    boolean returnInventory(Integer salesId,Integer salesWarehouseId);
 
     /**
      * 获取出库数量

+ 8 - 2
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/OrderSyncLogService.java

@@ -38,7 +38,7 @@ public interface OrderSyncLogService {
     Integer syncXYTOrder(Integer type,Date creatTime);
 
     /**
-     * 小亚通 - 拉取订单
+     * 小亚通 - 拉取订单-单个
      * @param type
      * @return Integer
      */
@@ -52,12 +52,18 @@ public interface OrderSyncLogService {
     boolean syncXYTOrderShipInspec(Integer salesOrderId);
 
     /**
-     * 小亚通 - 发货判断,检测是否退货或者其他异常状态
+     * 小亚通 - 发货
      * @param
      * @return Integer
      */
     boolean syncXYTOrderShip(Integer salesOrderId);
 
+    /**
+     * 清空Map
+     * @param
+     * @return Integer
+     */
+    void clearMap();
 
 
 }

+ 6 - 8
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/InventoryServiceImpl.java

@@ -2,7 +2,6 @@ package com.iamberry.rst.service.cm;
 
 
 import com.github.pagehelper.PageHelper;
-import com.iamberry.rst.core.cm.SalesOrderItem;
 import com.iamberry.rst.core.fm.InventoryInfo;
 import com.iamberry.rst.core.fm.InventoryLog;
 import com.iamberry.rst.core.order.OrderWarehouse;
@@ -23,7 +22,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -143,7 +141,7 @@ public class InventoryServiceImpl implements InventoryService {
 
             //inventoryGoodProductNum;//良品数量
             if(invent.getInventoryGoodProductNum() != null && invent.getInventoryGoodProductNum() != 0 ){
-                logRecord = sdf.format(new Date())+"[良品]入库"+invent.getInventoryGoodProductNum()+"件,"+record;
+                logRecord = "[良品]入库"+invent.getInventoryGoodProductNum()+"件,"+record;
                 newInent.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + invent.getInventoryGoodProductNum());
                 newInent.setInventoryRecentRecord(logRecord);
                 isNumUpadate = true;
@@ -151,7 +149,7 @@ public class InventoryServiceImpl implements InventoryService {
                 logQualityType = 1;
             }else if(invent.getInventoryDefectiveProductNum() != null && invent.getInventoryDefectiveProductNum() != 0 ){
                 //inventoryDefectiveProductNum;//不良品数量
-                logRecord = sdf.format(new Date())+"[不良品]入库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
+                logRecord = "[不良品]入库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
                 newInent.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum() + invent.getInventoryDefectiveProductNum());
                 newInent.setInventoryRecentRecord(logRecord);
                 isNumUpadate = true;
@@ -161,7 +159,7 @@ public class InventoryServiceImpl implements InventoryService {
 //            else if(invent.getInventoryRemainingNum() != null && invent.getInventoryRemainingNum() != 0 ){
 //                //  inventoryRemainingNum;//库存剩余数量
 //                    newInent.setInventoryRemainingNum(info.getInventoryRemainingNum() - invent.getInventoryRemainingNum());
-//                    info.setInventoryRecentRecord(sdf.format(new Date())+"[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
+//                    info.setInventoryRecentRecord("[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
 //                    isNumUpadate = true;
 //                    num = invent.getInventoryRemainingNum();
 //            }
@@ -275,7 +273,7 @@ public class InventoryServiceImpl implements InventoryService {
             //inventoryGoodProductNum;//良品数量
             if(invent.getInventoryGoodProductNum() != null && invent.getInventoryGoodProductNum() != 0 ){
                 if(info.getInventoryGoodProductNum() >= invent.getInventoryGoodProductNum()){
-                    logRecord = sdf.format(new Date())+"[良品]出库"+invent.getInventoryGoodProductNum()+"件,"+record;
+                    logRecord = "[良品]出库"+invent.getInventoryGoodProductNum()+"件,"+record;
                     newInent.setInventoryGoodProductNum(info.getInventoryGoodProductNum() - invent.getInventoryGoodProductNum());
                     newInent.setInventoryRecentRecord(logRecord);
                     isNumUpadate = true;
@@ -287,7 +285,7 @@ public class InventoryServiceImpl implements InventoryService {
             }else if(invent.getInventoryDefectiveProductNum() != null && invent.getInventoryDefectiveProductNum() != 0 ){
                 //inventoryDefectiveProductNum;//不良品数量
                 if(info.getInventoryDefectiveProductNum() >= invent.getInventoryDefectiveProductNum()){
-                    logRecord = sdf.format(new Date())+"[不良品]出库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
+                    logRecord = "[不良品]出库"+invent.getInventoryDefectiveProductNum()+"件,"+record;
                     newInent.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum() - invent.getInventoryDefectiveProductNum());
                     newInent.setInventoryRecentRecord(logRecord);
                     isNumUpadate = true;
@@ -301,7 +299,7 @@ public class InventoryServiceImpl implements InventoryService {
 //                //  inventoryRemainingNum;//库存剩余数量
 //                if(info.getInventoryRemainingNum() > invent.getInventoryRemainingNum()){
 //                    newInent.setInventoryRemainingNum(info.getInventoryRemainingNum() - invent.getInventoryRemainingNum());
-//                    info.setInventoryRecentRecord(sdf.format(new Date())+"[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
+//                    info.setInventoryRecentRecord("[剩余库存]出库:"+invent.getInventoryRemainingNum()+"件");
 //                    isNumUpadate = true;
 //                    num = invent.getInventoryRemainingNum();
 //                }else{

+ 183 - 149
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -32,7 +32,6 @@ import com.iamberry.rst.service.order.mapper.ProvincesLogisticsMapper;
 import com.iamberry.rst.service.product.mapper.ProductMapper;
 import com.iamberry.rst.service.sys.mapper.SysConfigMapper;
 import com.iamberry.rst.util.PageUtil;
-import com.iamberry.wechat.core.entity.AdminUtils;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -181,7 +180,18 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             // 如果已出库则返还库存
             SalesOrder so = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());
             if(so.getSalesDeliver() == 2){
-                returnInventory(salesOrder.getSalesId(),so.getSalesWarehouseId());
+                SalesOrderItem salesOrderItem = new SalesOrderItem();
+                salesOrderItem.setItemOrderId(so.getSalesId());
+                List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+                for (SalesOrderItem soi:listOrderitem) {
+                    InventoryInfo inventoryInfo2 = new InventoryInfo();
+                    inventoryInfo2.setInventoryGoodProductNum(soi.getItemNum());    //良品数量
+                    inventoryInfo2.setInventoryProductBar(soi.getItemColorBar());
+                    inventoryInfo2.setWarehouseId(so.getSalesWarehouseId());
+                    inventoryInfo2.setLogType(1);   //类型1.采购 2.发货 3.次品
+                    inventoryInfo2.setInventoryRecentRecord("作废订单返还库存-作废订单号:"+ so.getSalesDealCode());
+                    inventoryService.addInventory(inventoryInfo2);
+                }
             }
         }
         return 1;
@@ -266,14 +276,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             }
         }
 
-        //计算价格
-        calculationTotal(salesOrder,salesOrder.getSalesOrderItemList());
-
-        //修改订单
-        if (salesOrderMapper.updateSalesOrder(salesOrder) <= 0) {
-            throw new RuntimeException("修改订单失败!");
-        }
-
         // 批量修改订单项
         if(updateSalesOrderItemList.size() > 0) {
             for (SalesOrderItem salesOrderItem : updateSalesOrderItemList) {
@@ -288,6 +290,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             }
         }
 
+        //计算价格
+        List<SalesOrderItem> nowSalesOrderItemList = salesOrderMapper.listSalesOrderItem(soi);
+        calculationTotal(salesOrder,nowSalesOrderItemList);
+
+        //修改订单
+        if (salesOrderMapper.updateSalesOrder(salesOrder) <= 0) {
+            throw new RuntimeException("修改订单失败!");
+        }
+
         // 更新Redis缓存
         cacheOrderItem(salesOrder.getSalesId());
         return flag;
@@ -1204,7 +1215,19 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         //查询出库状态判断是否需要返还库存
         SalesOrder so = salesOrderMapper.getSalesOrderById(id);
         if(so.getSalesDeliver() == 2){
-            returnInventory(id,so.getSalesWarehouseId());
+            SalesOrderItem salesOrderItem = new SalesOrderItem();
+            salesOrderItem.setItemOrderId(so.getSalesId());
+            List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+            for (SalesOrderItem soi:listOrderitem) {
+                InventoryInfo inventoryInfo2 = new InventoryInfo();
+                inventoryInfo2.setInventoryGoodProductNum(soi.getItemNum());    //良品数量
+                inventoryInfo2.setInventoryProductBar(soi.getItemColorBar());
+                inventoryInfo2.setWarehouseId(so.getSalesWarehouseId());
+                inventoryInfo2.setLogType(1);   //类型1.采购 2.发货 3.次品
+                inventoryInfo2.setQualityType(1);   //产品质量类型 1良品 2 不良品
+                inventoryInfo2.setInventoryRecentRecord("删除订单返还库存-删除订单号:"+ so.getSalesDealCode());
+                inventoryService.addInventory(inventoryInfo2);
+            }
         }
         //判断是否绑定维修信息,并解除绑定
         if(so != null){
@@ -1412,10 +1435,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     @Transactional
     @Override
     public synchronized Integer updateDeliver(SalesOrder salesOrder) {
-        Integer flag = salesOrderMapper.updateDeliver(salesOrder);
-        if(flag < 1){
-            throw new RuntimeException("出库失败,订单出库失败。");
-        }
+        Integer flag = 0;
+//        Integer flag = salesOrderMapper.updateDeliver(salesOrder);
+//        if(flag < 1){
+//            throw new RuntimeException("出库失败,订单出库失败。");
+//        }
 
         boolean isMachineRetuen = false; //是否原机退回
         ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();
@@ -1434,154 +1458,164 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             inventoryInfo1.setInventoryDefectiveProductNum(1);
             inventoryInfo1.setInventoryProductColorId(cdinfo.getProductColorId());
             inventoryInfo1.setWarehouseId(2);
+            inventoryInfo1.setQualityType(2);   //产品质量类型 1良品 2 不良品
             inventoryInfo1.setInventoryRecentRecord("维修机器-原机返回(维修ID:" + cdinfo.getDetectNumber() + ")");
             flag = inventoryService.minusInventory(inventoryInfo1);
             if (flag < 1) {
                 throw new RuntimeException("出库失败。维修库存调整失败");
             }
-        }else{  //正常库存出库(包含正常销售与售后)
+        }else{
+            //正常库存出库(包含正常销售与售后)
+            SalesOrder so = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());SalesOrderItem salesOrderItem = new SalesOrderItem();
+            salesOrderItem.setItemOrderId(so.getSalesId());
+            List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
             if(salesOrder.getSalesDeliver() == 2){//标记出库,修改库存
-                if(!salesOrderService.updateInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
-                    throw new RuntimeException("出库失败,【出库】库存修改失败。");
-                }
-            }
-            if(salesOrder.getSalesDeliver() == 1){//标记未出库,修改库存
-                if(!salesOrderService.returnInventory(salesOrder.getSalesId(),salesOrder.getSalesWarehouseId())){
-                    throw new RuntimeException("出库失败,【返还库存】库存修改失败。");
+                // 如果已出库则返还库存
+                for (SalesOrderItem soi:listOrderitem) {
+                    InventoryInfo inventoryInfo2 = new InventoryInfo();
+                    inventoryInfo2.setInventoryGoodProductNum(soi.getItemNum());    //良品数量
+                    inventoryInfo2.setInventoryProductBar(soi.getItemColorBar());
+                    inventoryInfo2.setWarehouseId(so.getSalesWarehouseId());
+                    inventoryInfo2.setLogType(1);   //类型1.采购 2.发货 3.次品
+                    inventoryInfo2.setQualityType(1);   //产品质量类型 1良品 2 不良品
+                    inventoryInfo2.setInventoryRecentRecord("出库-订单号:"+ so.getSalesDealCode());
+                    inventoryService.minusInventory(inventoryInfo2);
                 }
+            }else{
+                throw new RuntimeException("出库失败");
             }
         }
         return flag;
     }
 
     //减少库存
-    @Transactional
-    @Override
-    public boolean updateInventory(Integer salesId,Integer salesWarehouseId){
-        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
-        if(orderWarehouse == null){
-            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
-        }
-        String warehouseName = orderWarehouse.getWarehouseName();
-
-        SalesOrderItem salesOrderItem = new SalesOrderItem();
-        salesOrderItem.setItemOrderId(salesId);
-        List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
-
-        for(SalesOrderItem item : listOrderitem){
-            List<ProductCombinatInfo> listproduct = productMapper.combinatList(item.getItemProductId());
-            if(listproduct.size() > 0){
-                for(ProductCombinatInfo combinatInfo : listproduct){
-                    invIne(item,orderWarehouse,combinatInfo);
-                }
-            }else{
-                invIne(item,orderWarehouse,null);
-            }
-
-        }
-        return true;
-    }
-
-    public void invIne(SalesOrderItem item,OrderWarehouse orderWarehouse,ProductCombinatInfo combinatInfo){
-        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        Integer combinatItemNum;
-        if(combinatInfo == null ){
-            combinatItemNum = 1;
-        }else{
-            combinatItemNum = combinatInfo.getCombinatItemNum();
-            item.setItemColorBar(productService.getProduceColor(combinatInfo.getCombinatItemColorId()).getColorBar());
-        }
-        InventoryInfo infos = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),orderWarehouse.getWarehouseId());
-        if(infos != null){
-            if(infos.getInventoryGoodProductNum() >= (item.getItemNum() * combinatItemNum)){
-                infos.setInventoryGoodProductNum(infos.getInventoryGoodProductNum() - (item.getItemNum() * combinatItemNum));
-                infos.setInventoryRecentRecord(sdf.format(new Date())+"出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
-                Integer flag =  inventoryMapper.updateById(infos);
-                if(flag < 1){
-                    throw new RuntimeException("【出库】更新库存失败,库存修改失败。");
-                }
-                //添加日志
-                InventoryLog inventoryLog = new InventoryLog();
-                inventoryLog.setLogProductName(infos.getInventoryProductName());
-                inventoryLog.setLogProductBar(infos.getInventoryProductBar());
-                inventoryLog.setLogRemainingNum(item.getItemNum() * combinatItemNum);
-                inventoryLog.setLogType(2);
-                inventoryLog.setLogOperationType(2);
-                inventoryLog.setLogDesc(sdf.format(new Date())+"待发货标记出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
-                inventoryLog.setLogQualityType(1);
-                inventoryLog.setLogWarehouseId(orderWarehouse.getWarehouseId());
-                flag = inventoryLogMapper.insert(inventoryLog);
-                if(flag < 1){
-                    throw new RuntimeException("【出库】更新库存失败,增加库存记录失败。");
-                }
-            }else{
-                throw new RuntimeException("【出库】更新库存失败,"+ orderWarehouse.getWarehouseName() +"["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存不足。");
-            }
-        }else{
-            throw new RuntimeException("【出库】更新库存失败,未查询到库存信息,请确认“"+ orderWarehouse.getWarehouseName() +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
-        }
-    }
+//    @Transactional
+//    @Override
+//    public boolean updateInventory(Integer salesId,Integer salesWarehouseId){
+//        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
+//        if(orderWarehouse == null){
+//            throw new RuntimeException("【出库】更新库存失败,查询仓库信息失败。");
+//        }
+//        String warehouseName = orderWarehouse.getWarehouseName();
+//
+//        SalesOrderItem salesOrderItem = new SalesOrderItem();
+//        salesOrderItem.setItemOrderId(salesId);
+//        List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+//
+//        for(SalesOrderItem item : listOrderitem){
+//            List<ProductCombinatInfo> listproduct = productMapper.combinatList(item.getItemProductId());
+//            if(listproduct.size() > 0){
+//                for(ProductCombinatInfo combinatInfo : listproduct){
+//                    invIne(item,orderWarehouse,combinatInfo);
+//                }
+//            }else{
+//                invIne(item,orderWarehouse,null);
+//            }
+//
+//        }
+//        return true;
+//    }
+
+//    public void invIne(SalesOrderItem item,OrderWarehouse orderWarehouse,ProductCombinatInfo combinatInfo){
+//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        Integer combinatItemNum;
+//        if(combinatInfo == null ){
+//            combinatItemNum = 1;
+//        }else{
+//            combinatItemNum = combinatInfo.getCombinatItemNum();
+//            item.setItemColorBar(productService.getProduceColor(combinatInfo.getCombinatItemColorId()).getColorBar());
+//        }
+//        InventoryInfo infos = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),orderWarehouse.getWarehouseId());
+//        if(infos != null){
+//            if(infos.getInventoryGoodProductNum() >= (item.getItemNum() * combinatItemNum)){
+//                infos.setInventoryGoodProductNum(infos.getInventoryGoodProductNum() - (item.getItemNum() * combinatItemNum));
+//                infos.setInventoryRecentRecord(sdf.format(new Date())+"出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
+//                Integer flag =  inventoryMapper.updateById(infos);
+//                if(flag < 1){
+//                    throw new RuntimeException("【出库】更新库存失败,库存修改失败。");
+//                }
+//                //添加日志
+//                InventoryLog inventoryLog = new InventoryLog();
+//                inventoryLog.setLogProductName(infos.getInventoryProductName());
+//                inventoryLog.setLogProductBar(infos.getInventoryProductBar());
+//                inventoryLog.setLogRemainingNum(item.getItemNum() * combinatItemNum);
+//                inventoryLog.setLogType(2);
+//                inventoryLog.setLogOperationType(2);
+//                inventoryLog.setLogDesc(sdf.format(new Date())+"待发货标记出库"+item.getItemNum()+"件,订单号:"+item.getSalesOrderId());
+//                inventoryLog.setLogQualityType(1);
+//                inventoryLog.setLogWarehouseId(orderWarehouse.getWarehouseId());
+//                flag = inventoryLogMapper.insert(inventoryLog);
+//                if(flag < 1){
+//                    throw new RuntimeException("【出库】更新库存失败,增加库存记录失败。");
+//                }
+//            }else{
+//                throw new RuntimeException("【出库】更新库存失败,"+ orderWarehouse.getWarehouseName() +"["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存不足。");
+//            }
+//        }else{
+//            throw new RuntimeException("【出库】更新库存失败,未查询到库存信息,请确认“"+ orderWarehouse.getWarehouseName() +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
+//        }
+//    }
     //标记未出库时返还库存
-    @Transactional
-    @Override
-    public boolean returnInventory(Integer salesId,Integer salesWarehouseId){
-        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
-        if(orderWarehouse == null){
-            throw new RuntimeException("【返还库存】更新库存失败,查询仓库信息失败。");
-        }
-        String warehouseName = orderWarehouse.getWarehouseName();
-
-        SalesOrderItem salesOrderItem = new SalesOrderItem();
-        salesOrderItem.setItemOrderId(salesId);
-        List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
-        for(SalesOrderItem item : listOrderitem){
-            List<ProductCombinatInfo> listproduct = productMapper.combinatList(item.getItemProductId());
-            if(listOrderitem.size() > 0){
-                for(ProductCombinatInfo combinatInfo : listproduct){
-                    invTwo(item,orderWarehouse,combinatInfo);
-                }
-            }else{
-                invTwo(item,orderWarehouse,null);
-            }
-        }
-        return true;
-    }
-
-    private void invTwo(SalesOrderItem item,OrderWarehouse orderWarehouse,ProductCombinatInfo combinatInfo){
-        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        Integer combinatItemNum;
-        if(combinatInfo == null ){
-            combinatItemNum = 1;
-        }else{
-            combinatItemNum = combinatInfo.getCombinatItemNum();
-            item.setItemColorBar(productService.getProduceColor(combinatInfo.getCombinatItemColorId()).getColorBar());
-        }
-        InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),orderWarehouse.getWarehouseId());
-        if(info != null){
-            info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + (item.getItemNum() * combinatItemNum));
-            info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+(item.getItemNum() * combinatItemNum)+"件,订单号:"+item.getSalesOrderId());
-            Integer flag = inventoryMapper.updateById(info);
-            if(flag < 1){
-                throw new RuntimeException("【返还库存】更新库存失败,库存修改失败。");
-            }
-            //添加日志
-            InventoryLog inventoryLog = new InventoryLog();
-            inventoryLog.setLogProductName(info.getInventoryProductName());
-            inventoryLog.setLogProductBar(info.getInventoryProductBar());
-            inventoryLog.setLogRemainingNum((item.getItemNum() * combinatItemNum));
-            inventoryLog.setLogType(1);
-            inventoryLog.setLogOperationType(1);
-            inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+(item.getItemNum() * combinatItemNum)+"件,订单号:"+item.getSalesOrderId());
-            inventoryLog.setLogQualityType(1);
-            inventoryLog.setLogWarehouseId(orderWarehouse.getWarehouseId());
-            flag = inventoryLogMapper.insert(inventoryLog);
-            if(flag < 1){
-                throw new RuntimeException("【返还库存】更新库存失败,增加库存记录失败。");
-            }
-        }else{
-            throw new RuntimeException("【返还库存】更新库存失败,未查询到库存信息,请确认“"+ orderWarehouse.getWarehouseName() +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
-        }
-    }
+//    @Transactional
+//    @Override
+//    public boolean returnInventory(Integer salesId,Integer salesWarehouseId){
+//        OrderWarehouse orderWarehouse = orderWarehouseService.getOrderWarehouseById(salesWarehouseId);
+//        if(orderWarehouse == null){
+//            throw new RuntimeException("【返还库存】更新库存失败,查询仓库信息失败。");
+//        }
+//        String warehouseName = orderWarehouse.getWarehouseName();
+//
+//        SalesOrderItem salesOrderItem = new SalesOrderItem();
+//        salesOrderItem.setItemOrderId(salesId);
+//        List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
+//        for(SalesOrderItem item : listOrderitem){
+//            List<ProductCombinatInfo> listproduct = productMapper.combinatList(item.getItemProductId());
+//            if(listOrderitem.size() > 0){
+//                for(ProductCombinatInfo combinatInfo : listproduct){
+//                    invTwo(item,orderWarehouse,combinatInfo);
+//                }
+//            }else{
+//                invTwo(item,orderWarehouse,null);
+//            }
+//        }
+//        return true;
+//    }
+
+//    private void invTwo(SalesOrderItem item,OrderWarehouse orderWarehouse,ProductCombinatInfo combinatInfo){
+//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        Integer combinatItemNum;
+//        if(combinatInfo == null ){
+//            combinatItemNum = 1;
+//        }else{
+//            combinatItemNum = combinatInfo.getCombinatItemNum();
+//            item.setItemColorBar(productService.getProduceColor(combinatInfo.getCombinatItemColorId()).getColorBar());
+//        }
+//        InventoryInfo info = inventoryMapper.getByInventoryByBar(item.getItemColorBar(),orderWarehouse.getWarehouseId());
+//        if(info != null){
+//            info.setInventoryGoodProductNum(info.getInventoryGoodProductNum() + (item.getItemNum() * combinatItemNum));
+//            info.setInventoryRecentRecord(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+(item.getItemNum() * combinatItemNum)+"件,订单号:"+item.getSalesOrderId());
+//            Integer flag = inventoryMapper.updateById(info);
+//            if(flag < 1){
+//                throw new RuntimeException("【返还库存】更新库存失败,库存修改失败。");
+//            }
+//            //添加日志
+//            InventoryLog inventoryLog = new InventoryLog();
+//            inventoryLog.setLogProductName(info.getInventoryProductName());
+//            inventoryLog.setLogProductBar(info.getInventoryProductBar());
+//            inventoryLog.setLogRemainingNum((item.getItemNum() * combinatItemNum));
+//            inventoryLog.setLogType(1);
+//            inventoryLog.setLogOperationType(1);
+//            inventoryLog.setLogDesc(sdf.format(new Date())+"删除/作废/标记未出库时订单返还库存"+(item.getItemNum() * combinatItemNum)+"件,订单号:"+item.getSalesOrderId());
+//            inventoryLog.setLogQualityType(1);
+//            inventoryLog.setLogWarehouseId(orderWarehouse.getWarehouseId());
+//            flag = inventoryLogMapper.insert(inventoryLog);
+//            if(flag < 1){
+//                throw new RuntimeException("【返还库存】更新库存失败,增加库存记录失败。");
+//            }
+//        }else{
+//            throw new RuntimeException("【返还库存】更新库存失败,未查询到库存信息,请确认“"+ orderWarehouse.getWarehouseName() +"”是否有该产品["+ item.getItemProductName()+ "("+ item.getItemProductColor() +")" +"]库存信息。");
+//        }
+//    }
     @Override
     public List<SalesOrderItem> getDeliverNum(SalesOrder salesOrder) {
         return salesOrderMapper.getDeliverNum(salesOrder);

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -292,7 +292,7 @@ public interface SalesOrderMapper {
      * @param salesOrder
      * @return
      */
-    Integer updateDeliver(SalesOrder salesOrder);
+//    Integer updateDeliver(SalesOrder salesOrder);
 
     /**
      * 获取出库数量

+ 22 - 11
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -65,19 +65,13 @@
     <!-- 根据id查询订单信息 -->
   <select id="getSalesOrderByIdConcise" resultType="SalesOrder" parameterType="java.lang.Integer" >
     select
-        t.sales_id,t.sales_orderId,t.sales_deal_code,t.sales_send_type,t.sales_send_time,t.sales_sales_time,t.sales_post_num,t.sales_post_firm,
-        t.sales_address_info,t.sales_address_tel,t.sales_address_name,t.sales_amount,t.sales_pay_money,t.sales_shipping_fee,
-        t.sales_pay_time,t.sales_create_time,t.sales_admin_remark,t.sales_user_remark,t.sales_type,t.sales_order_status,t.sales_status,
-        t.sales_shipping_status,t.sales_deliver,t.sales_pay_status,t.sales_process_status,
-        t.sales_is_send,t.sales_is_locked,t.sales_is_separate,t.sales_is_download,t.sales_main_order_id,t.sales_batch_id,t.sales_add_type,
-        t.sales_admin_id,t.sales_deliver_time,t.sales_distribution_time,t.sales_warehouse_id,t.sales_return_status,
-        t.sales_address_postcode,t.sales_postage_cost,t.sales_is_sublist,t.sales_belong_orderId
+        t.*
     from tb_rst_sales_order_info t
     where t.sales_id = #{salesId}
   </select>
 
   <!-- 根据id查询订单信息 -->
-  <select id="getOrderItemListBySalesId" resultType="SalesOrder" parameterType="java.lang.Integer" >
+  <select id="getOrderItemListBySalesId" resultType="SalesOrderItem" parameterType="java.lang.Integer" >
     SELECT
       soi.*
     FROM
@@ -94,7 +88,8 @@
       t.sales_shipping_status,t.sales_deliver,t.sales_pay_status,t.sales_process_status,
       t.sales_is_send,t.sales_is_locked,t.sales_is_separate,t.sales_is_download,t.sales_main_order_id,t.sales_batch_id,t.sales_add_type,
       t.sales_admin_id,t.sales_deliver_time,t.sales_distribution_time,t.sales_warehouse_id,t.sales_return_status,
-      t.sales_address_postcode,t.sales_postage_cost,t.sales_is_sublist,t.sales_belong_orderId
+      t.sales_address_postcode,t.sales_postage_cost,t.sales_is_sublist,t.sales_belong_orderId,t.sales_process_refund,
+      t.sales_is_ship,t.sales_warranty_status
     from tb_rst_sales_order_info t
     where
       sales_id IN
@@ -917,6 +912,7 @@
                 sales_shipping_status,
                 sales_pay_status,
                 sales_process_status,
+                sales_warranty_status,
                 sales_is_send,
                 sales_is_locked,
                 sales_is_separate,
@@ -966,6 +962,7 @@
                 #{salesShippingStatus},
                 #{salesPayStatus},
                 #{salesProcessStatus},
+                #{salesWarrantyStatus},
                 #{salesIsSend},
                 #{salesIsLocked},
                 #{salesIsSeparate},
@@ -989,7 +986,8 @@
       (
         item_order_id,item_other_id,item_product_id,item_num,item_color_id,item_product_type,
         item_product_name,item_product_pic,item_product_color,item_color_bar,
-        item_product_price,item_product_discount,item_total,item_cost,item_cost_total,item_create_time,item_is_source
+        item_product_price,item_product_discount,item_total,item_cost,item_cost_total,item_create_time,item_is_source,
+        item_warranty_status
       )
     VALUES
     <foreach collection="list" item="item" separator=",">
@@ -997,7 +995,8 @@
         #{item.itemOrderId},#{item.itemOtherId},#{item.itemProductId},#{item.itemNum},#{item.itemColorId},
         #{item.itemProductType},#{item.itemProductName},#{item.itemProductPic},#{item.itemProductColor},
         #{item.itemColorBar},#{item.itemProductPrice},#{item.itemProductDiscount},#{item.itemTotal},
-        #{item.itemCost},#{item.itemCostTotal}, #{item.itemCreateTime},#{item.itemIsSource}
+        #{item.itemCost},#{item.itemCostTotal}, #{item.itemCreateTime},#{item.itemIsSource},
+        #{item.itemWarrantyStatus}
       )
     </foreach>
   </insert>
@@ -1197,6 +1196,15 @@
       <if test="orderCaseDate != null and orderCaseDate != ''">
           order_case_date = #{orderCaseDate}
       </if >
+      <if test="salesIsShip != null">
+          sales_is_ship = #{salesIsShip}
+      </if >
+      <if test="salesWarrantyStatus != null">
+          sales_warranty_status = #{salesWarrantyStatus}
+      </if >
+      <if test="salesProcessRefund != null">
+          sales_process_refund = #{salesProcessRefund}
+      </if >
     </set>
     where sales_id = #{salesId}
     <if test="salesOldOrderStatus != null">
@@ -1314,6 +1322,9 @@
             <if test="itemReturnNum != null ">
                 item_return_num = #{itemReturnNum}
             </if >
+            <if test="itemWarrantyStatus != null ">
+                item_warranty_status = #{itemWarrantyStatus}
+            </if >
         </set >
         where item_id= #{itemId}
     </update>

Fichier diff supprimé car celui-ci est trop grand
+ 468 - 497
watero-rst-service/src/main/java/com/iamberry/rst/service/order/OrderSyncLogServiceImpl.java


+ 0 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -1154,10 +1154,6 @@ public class AdminOrderController {
                     Collections.sort(salesOrderItemList, new Comparator<SalesOrderItem>() {
                         @Override
                         public int compare(SalesOrderItem s1, SalesOrderItem s2) {
-                            /**
-                             * 升序排的话就是第一个参数.compareTo(第二个参数);
-                             * 降序排的话就是第二个参数.compareTo(第一个参数);
-                             */
                             return s2.getItemNum().compareTo(s1.getItemNum());
                         }
 

+ 4 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderPlatformController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Calendar;
 
 /**
  * 同步订单
@@ -30,7 +31,9 @@ public class AdminOrderPlatformController {
     @ResponseBody
     @RequestMapping("/pull")
     public ResponseJson pullOrder(HttpServletRequest request){
-        orderSyncLogService.syncXYTOrder(2,null);
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(2019,2,4);
+        orderSyncLogService.syncXYTOrder(2,calendar.getTime());
         return  new ResponseJson();
     }
 

+ 30 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -25,9 +25,9 @@ import com.iamberry.rst.faces.order.OrderBatchService;
 import com.iamberry.rst.faces.order.OrderWarehouseService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sms.SmsService;
+import com.iamberry.rst.util.GenerateKeyUtil;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.ExcelUtil;
-import com.iamberry.rst.util.GenerateKeyUtil;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ResponseJson;
@@ -1072,7 +1072,6 @@ public class AdminSalesOrderController {
         return mv;
     }
 
-
     /**
      * 通知配货
      * @param request
@@ -1158,6 +1157,26 @@ public class AdminSalesOrderController {
         return rj;
     }
 
+    /**
+     * 确认退款信息
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/confirm_refund")
+    public ResponseJson confirm_refund(HttpServletRequest request,Integer salesOrderId) throws Exception {
+        ResponseJson rj = ResponseJson.getFAILURE();
+        SalesOrder salesOrder = new SalesOrder();
+        salesOrder.setSalesId(salesOrderId);
+        salesOrder.setSalesProcessRefund(1);    //确认退款
+        Integer flag = salesOrderService.update(salesOrder);
+        if(flag > 0){
+            rj = new ResponseJson(200, "确认成功", 200);
+        }
+        return rj;
+    }
+
     public SalesOrder suSalesOrder(SalesOrder salesOrder){
         boolean is = false;
         SalesOrder order  = new SalesOrder();
@@ -1259,6 +1278,15 @@ public class AdminSalesOrderController {
                 errorId += so.getSalesDealCode() + ":该订单已确认!;";
             }
 
+            if(generateKeyUtil.isXytBatchId(so.getSalesBatchId())){
+                if(so.getSalesProcessRefund() == null || so.getSalesProcessRefund() == 0){   //第三方平台订单出现退款后,重复确认才能变为处理 0.未处理
+                    if(so.getSalesWarrantyStatus() != 0){
+                        errorId += so.getSalesDealCode() + ": 第三方(小亚通)出现退款,需要核对,并需要审核该订单;";
+                        continue;
+                    }
+                }
+            }
+
             String msg = "";
             if(isSplit != null && isSplit == 1){
                 try {

+ 34 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -19,6 +19,7 @@ import com.iamberry.rst.faces.cm.*;
 import com.iamberry.rst.faces.dm.DmDealerService;
 import com.iamberry.rst.faces.fm.ComplaintDetectInfoService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
+import com.iamberry.rst.faces.order.OrderSyncLogService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.OrderUtils;
@@ -77,6 +78,8 @@ public class AwaitSendController {
     @Autowired
     private DmDealerService dmDealerService;
     @Autowired
+    private OrderSyncLogService orderSyncLogService;
+    @Autowired
     private ComplaintDetectInfoService complaintDetectInfoService;
     private static final Logger LOGGER = LoggerFactory.getLogger(AwaitSendController.class);
 
@@ -191,6 +194,26 @@ public class AwaitSendController {
         PagedResult<SalesOrder> pagedResult = salesOrderService.listSalesOrderPage(1, pageSize, salesOrder, false);
         // 待发货产品总数
         int waitProductTotal = 0;
+
+        List<SalesOrder> salesOrderList = new ArrayList<>();
+
+        //小亚通拉取订单检测是否有退款等异常状态
+        if (pagedResult != null && pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
+            for (SalesOrder temp : pagedResult.getDataList()) {
+                if(temp.getSalesProcessRefund() != 1){
+                    boolean isShip = orderSyncLogService.syncXYTOrderShipInspec(temp.getSalesId());
+                    if(isShip){
+                        salesOrderList.add(temp);
+                    }
+                }else{
+                    salesOrderList.add(temp);
+                }
+            }
+        }
+        //清除里面的map
+        orderSyncLogService.clearMap();
+        pagedResult.setDataList(salesOrderList);
+
         // 查询订单项
         if (pagedResult != null && pagedResult.getDataList() != null && !pagedResult.getDataList().isEmpty()) {
             for (SalesOrder temp : pagedResult.getDataList()) {
@@ -399,8 +422,6 @@ public class AwaitSendController {
                     return ResponseJson.getFAILURE().addResponseKeyValue("error", "订单状态非通知配货,无法打印");
                 }
 
-
-
                 /*子母单设置 state*/
                 if(logisticsInfo.getLogisticsIsLashSingle() == 1 && orders != null && orders.size() > 0){
                     //获取子单打印模板集合
@@ -481,12 +502,23 @@ public class AwaitSendController {
                     }
                 }
 
+                //小亚通订单,调用接口发货
+                boolean isShip = orderSyncLogService.syncXYTOrderShip(salesOrderInfo.getSalesId());
+                if(isShip){
+                    //修改同步物流状态
+                    SalesOrder shipSalesOrder = new SalesOrder();
+                    shipSalesOrder.setSalesIsShip(1);   //同步物流状态到第三方平台 1:是
+                    shipSalesOrder.setSalesId(salesOrderInfo.getSalesId());
+                    salesOrderService.update(shipSalesOrder);
+                }
+
                 //添加操作跟踪信息
                 OrderTracking orderTracking = new OrderTracking();
                 orderTracking.setAdminId(AdminUtils.getLoginAdminId());
                 orderTracking.setSalesDealCode(salesOrderInfo.getSalesDealCode());
                 orderTracking.setTrackingDesc("打印订单");
                 salesOrderService.addTracking(orderTracking);
+
             } else {
                 // 获取电子面单失败
                 LOGGER.error("{} 获取电子面单失败,原因:{}", orderId, jsonObject.get("Reason"));

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inventory/update_inventory.ftl

@@ -83,7 +83,7 @@
         <div class="row cl"  >
             <label class="form-label col-xs-3 col-sm-3" style="text-align: right;">变更后库存数量:</label>
             <div class="formControls col-xs-8 col-sm-8">
-                <input type="text" style="" class="input-text" value="" placeholder="变更后库存数量" id="remainingInventory" name="">
+                <input type="text" style="" class="input-text"   disabled="disabled" value="" placeholder="变更后库存数量" id="remainingInventory" name="">
             </div>
         </div>
         <div class="row cl">

+ 32 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -261,14 +261,19 @@
                         ${(order.salesCreateTime?string("HH:mm:ss"))!''}
                     </td>
                     <td class="operating_td" style="min-width: 100px;">
+                        <#if order.salesWarrantyStatus?? && order.salesWarrantyStatus != 0>
+                            <#if order.salesProcessRefund?? && order.salesProcessRefund == 0>
+                                <a style="text-decoration:none" href="javascript:;" title="确认退款信息"
+                                   onclick="confirm_refund(${order.salesId!''});"><i class="Hui-iconfont" >&#xe72a;</i>
+                                </a>
+                            </#if>
+                        </#if>
                         <a class="confirm_order_target" style="text-decoration:none;display: none" href="javascript:void(0);" title="确认订单" alt="确认订单" onclick="confirm_one(${order.salesId!''})">
                             <i class="Hui-iconfont">&#xe615;</i>
                         </a>
-                        <#if order.salesShippingStatus != 1>
-                            <a class="edit_order_target" style="text-decoration:none;display: none" href="javascript:void(0);" title="修改订单" alt="修改订单" onclick="sales_order_update(${order.salesId!''})">
-                                <i class="Hui-iconfont">&#xe6df;</i>
-                            </a>
-                        </#if>
+                        <a class="edit_order_target" style="text-decoration:none;display: none" href="javascript:void(0);" title="修改订单" alt="修改订单" onclick="sales_order_update(${order.salesId!''})">
+                            <i class="Hui-iconfont">&#xe6df;</i>
+                        </a>
                         <a class="order_cancel_distribution" style="text-decoration:none;display: none" href="javascript:void(0);" title="撤销配货" alt="撤销配货" onclick="cancelDistribution(${order.salesId!''})">
                             <i class="Hui-iconfont">&#xe66b;</i>
                         </a>
@@ -692,6 +697,28 @@ function isConfirm(salesOrderIds,isSplit) {
         }
     });
 }
+/**
+ * 确认退款信息
+ */
+function confirm_refund(salesOrderId) {
+    $.ajax({
+        type:'POST',
+        url: '${path}/admin/salesOrder/confirm_refund',
+        data:{
+            "salesOrderId" : salesOrderId
+        },
+        dataType: 'json',
+        success:function(res) {
+            if(res.resultCode == 200 && res.returnCode == 200){
+                location.reload();
+            }else{
+                layer.alert("确认退款信息失败", function(index){
+                });
+            }
+            return false;
+        }
+    });
+}
 
         function distribution_express(salesId){
             if(salesId == null){

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_split.ftl

@@ -546,7 +546,7 @@
                 isAddRepeat = true;
                 num = $(this).find(".input-itemNum").val();
                 num = parseInt(num);
-                $(this).find(".input-itemNum").val(num+nowNum);
+                $(this).find(".input-itemNum").attr("value",num+nowNum);
                 //删除当前节点
                 $(thisNode).parent().parent().remove()
             }
@@ -605,7 +605,7 @@
                 isAddRepeat = true;
                 num = $(this).find(".input-itemNum").val();
                 num = parseInt(num);
-                $(this).find(".input-itemNum").val(num+nowNum);
+                $(this).find(".input-itemNum").attr("value",num+nowNum);
                 //删除当前节点
                 $(thisNode).parent().parent().remove()
             }

+ 35 - 21
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -245,17 +245,6 @@ function  storeProductColor() {
 function getStoreId() {
     var storeId;
     storeId = $("#salesStoreId").val();
-    //
-    // if(isUpdate){
-    //     storeId = $(".init_store").val();
-    // }else{
-    //     var $options=$("#datalist_1").children();
-    //     for(var i=0;i<$options.length;i++){
-    //         if($options.eq(i).val().trim()==$("#store_1").val().trim()){
-    //             storeId = $options.eq(i).attr("data-id");
-    //         }
-    //     }
-    // }
     return storeId;
 }
 
@@ -468,6 +457,37 @@ function delProduct($this){
  */
 function calculatePrice(){
     /*总价,折扣价,优惠金额*/
+    // var colorDiscountAll = 0,colorPriceAll = 0;
+    // $("#add_product").find("tr").each(function(){
+    //     var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0,item_total=0;
+    //     colorDiscount = Number($(this).find(".color_discount").val());
+    //     colorPrice = Number($(this).find(".color_price").val());
+    //     itemNum = $(this).find(".item-num").val();
+    //     item_total = Number($(this).find(".item_total").val());//小结
+    //     if(!isEmpty(itemNum)){
+    //         return;
+    //     }
+    //     itemNum = Number(itemNum);
+    //     var total = accMul(item_total,itemNum);//前人栽树,后人乘凉,不好意思将该行注释(以作纪念),我很想知道,订单项小结*乘以数量到底等于什么?所以算出这个值有什么用了?
+    //     var isUpdate = $(this).find(".item_total").attr("isUpdate");
+    //     if(isUpdate == "1"){
+    //         $(this).find(".item_total").val(total);
+    //         $(this).find(".item_totalTd").html(total);
+    //     }else{
+    //         total = $(this).find(".item_total").val();
+    //         total = Number(total);
+    //     }
+    //     colorDiscountAll = accAdd(colorDiscountAll,total);
+    //
+    //     var newColorPrice = accMul(colorPrice,itemNum);
+    //     colorPriceAll = accAdd(colorPriceAll,newColorPrice);
+    // });
+    // $("#salesAmountTest").val(colorDiscountAll);
+    // $("#salesPayMoneyTest").val(colorDiscountAll);
+    // $("#salesDiscountMoneyTest").val(accSub(colorPriceAll,colorDiscountAll));
+    // $("#salesLastMoneyTest").val(colorDiscountAll);
+//------------------------------------------------------------------------------------
+
     var colorDiscountAll = 0,colorPriceAll = 0;
     $("#add_product").find("tr").each(function(){
         var colorDiscount = 0,colorPrice = 0,salesPayMoney=0,itemNum=0,item_total=0;
@@ -478,17 +498,11 @@ function calculatePrice(){
         if(!isEmpty(itemNum)){
             return;
         }
-        itemNum = Number(itemNum);
-        var total = accMul(item_total,itemNum);//前人栽树,后人乘凉,不好意思将该行注释(以作纪念),我很想知道,订单项小结*乘以数量到底等于什么?
-        var isUpdate = $(this).find(".item_total").attr("isUpdate");
-        if(isUpdate == "1"){
-            $(this).find(".item_total").val(total);
-            $(this).find(".item_totalTd").html(total);
-        }else{
-            total = $(this).find(".item_total").val();
-            total = Number(total);
+        if(!isEmpty(item_total)){
+            item_total = accMul(colorDiscount,itemNum);
         }
-        colorDiscountAll = accAdd(colorDiscountAll,total);
+        itemNum = Number(itemNum);
+        colorDiscountAll = accAdd(colorDiscountAll,item_total);
 
         var newColorPrice = accMul(colorPrice,itemNum);
         colorPriceAll = accAdd(colorPriceAll,newColorPrice);