فهرست منبع

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl
liujiankang 5 سال پیش
والد
کامیت
5e644cca9d

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -165,6 +165,8 @@ public class SalesOrder implements Serializable {
     private Integer orderIscostTotal;
 
     private List<ComplaintDetectInfo> complaintDetectInfoList;
+
+    private Integer salesPostageCost;//邮费成本
     public Integer getSalesOldOrderStatus() {
         return salesOldOrderStatus;
     }
@@ -971,4 +973,12 @@ public class SalesOrder implements Serializable {
     public void setOrderIscostTotal(Integer orderIscostTotal) {
         this.orderIscostTotal = orderIscostTotal;
     }
+
+    public Integer getSalesPostageCost() {
+        return salesPostageCost;
+    }
+
+    public void setSalesPostageCost(Integer salesPostageCost) {
+        this.salesPostageCost = salesPostageCost;
+    }
 }

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

@@ -474,4 +474,8 @@ public interface SalesOrderService {
      * 修改订单项
      */
     Integer updateOrderItemObj(SalesOrderItem salesOrderItem);
+    /**
+     * 根据订单号修改邮费成本
+     */
+    Integer updateSalesOrderBySalesPostNum(SalesOrder salesOrder);
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -1573,6 +1573,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return salesOrderMapper.updateOrderItemObj(salesOrderItem);
     }
 
+    @Override
+    public Integer updateSalesOrderBySalesPostNum(SalesOrder salesOrder) {
+        return salesOrderMapper.updateSalesOrderBySalesPostNum(salesOrder);
+    }
+
     public void calculationTotal(SalesOrder salesOrder,List<SalesOrderItem> salesOrderItemList){
         Integer salesAmount=0,salesPayMoney=0;
 

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

@@ -386,4 +386,9 @@ public interface SalesOrderMapper {
      * 根据订单号查询订单
      */
     SalesOrder getSalesOrderByOrderId(String salesOrderId);
+
+    /**
+     * 根据订单号修改邮费成本
+     */
+    Integer updateSalesOrderBySalesPostNum(SalesOrder salesOrder);
 }

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

@@ -1891,4 +1891,14 @@
     LEFT JOIN tb_rst_logistics_info li ON t.sales_post_firm = li.logistics_rst_code
     where sales_orderId = #{salesOrderId}
     </select>
+    <!-- 根据订单号修改订单信息 -->
+    <update id="updateSalesOrderBySalesPostNum" parameterType="SalesOrder" >
+        update tb_rst_sales_order_info
+        <set >
+            <if test="salesPostageCost != null" >
+                sales_postage_cost = #{salesPostageCost,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where sales_post_num = #{salesPostNum}
+    </update>
 </mapper>

+ 2 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java

@@ -224,6 +224,7 @@ public class ProductServiceImpl implements ProductService {
                     throw new RuntimeException("添加产品库存失败");
                 }
                 inventoryInfo.setWarehouseId(2);
+                inventoryInfo.setInventoryGoodProductNum(0);
                 if(inventoryService.insert(inventoryInfo) < 1){
                     throw new RuntimeException("添加产品售后仓库库存失败");
                 }
@@ -322,6 +323,7 @@ public class ProductServiceImpl implements ProductService {
                         throw new RuntimeException("添加产品库存失败");
                     }
                     inventoryInfo.setWarehouseId(2);
+                    inventoryInfo.setInventoryGoodProductNum(0);
                     if(inventoryService.insert(inventoryInfo) < 1){
                         throw new RuntimeException("添加产品售后仓库库存失败");
                     }

+ 52 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -2024,4 +2024,56 @@ public class AdminSalesOrderController {
         rj.addResponseKeyValue("dealerSelfOperated",dealerSelfOperated);
         return rj;
     }
+
+    /**
+     * 上传邮费成本excel到系统订单
+     * @param response
+     * @return
+     */
+    @RequestMapping("/uploadPostageExcel")
+    @ResponseBody
+    public String uploadPostageExcel(HttpServletResponse response,HttpServletRequest request,@RequestParam("file") String file)throws IOException  {
+        Integer maxNumber = 1000;
+        String path = request.getServletContext().getRealPath(file);
+        boolean flag = ExcelUtil.readExcelNumber(path,maxNumber);
+        if(!flag){
+            return "最大上传数量为1000条,请检查文档内的数据是否符合条件!";
+        }
+        List<String> listString  = ExcelUtil.readExcelHead(path);
+        if(listString == null){
+            return "数据不合格,请检查文档内的数据是否正常!";
+        }
+        List<String> orderNumbers =   ExcelUtil.readCell2(path,listString.get(0));//订单号
+        List<String> costs =   ExcelUtil.readCell2(path,listString.get(1));//成本
+        if(orderNumbers == null || costs == null){
+            return "数据不合格,请检查文档内的数据是否正常!";
+        }
+        if( orderNumbers.size() != costs.size()){
+            return "数据不合格,请检查文档内的数据是否正常!";
+        }
+        SalesOrder salesOrder = new SalesOrder();
+        Integer success = 0,error = 0;
+        List<String> errorOrders = new ArrayList();
+        for (int i = 0;i< orderNumbers.size();i++){
+            if( orderNumbers.get(i) != null &&  !orderNumbers.get(i).equals("") &&
+                    costs.get(i) != null &&  !costs.get(i).equals("")){
+                salesOrder.setSalesPostNum(orderNumbers.get(i));
+                Double co = Double.parseDouble(costs.get(i)) * 100;
+                Integer rentCount = Integer.valueOf(co.intValue());
+                salesOrder.setSalesPostageCost(rentCount);
+                Integer msg = salesOrderService.updateSalesOrderBySalesPostNum(salesOrder);
+                if(msg > 0){
+                    success++;
+                }else{
+                    errorOrders.add(orderNumbers.get(i));
+                    error++;
+                }
+            }
+        }
+        String data = "上传完成,成功:"+success+"条,失败:"+error+"条";
+        if(error > 0){
+            data = data+errorOrders.toString();
+        }
+        return data;
+    }
 }

+ 7 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_detail.ftl

@@ -281,6 +281,13 @@
                 </#if>
                 </span></td>
             </tr>
+
+            <tr>
+                <th width="10">邮费成本:</th>
+                <td width="10" colspan="4" style="font-weight: normal;"><#if order.salesPostageCost??>${order.salesPostageCost/100}元</#if></td>
+
+            </tr>
+
             </thead>
         </table>
         <div class="row cl">

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

@@ -303,6 +303,7 @@
                 <button type="button" class="btn" style="border: 1px solid #50a2ea;background-color: #fff;color: #50a2ea;-webkit-transform:translateY(-5%);height: 35px;" id="" onclick="chooseWarehouse(null)">通知配货</button>
                 <button type="button" onClick="upFiles2();"  class="btn" style="border: 1px solid #50a2ea;background-color: #fff;color: #50a2ea;-webkit-transform:translateY(-5%);height: 35px;">上传发货信息</button>
                 <button onClick="downloadOrderPage();" class="btn" style="border: 1px solid #50a2ea;background-color: #fff;color: #50a2ea;-webkit-transform:translateY(-5%);height: 35px;" type="button" title="下载订单">下载订单</button>
+                <button onClick="upPostage();" class="btn" style="border: 1px solid #50a2ea;background-color: #fff;color: #50a2ea;-webkit-transform:translateY(-5%);height: 35px;" type="button" title="上传邮费成本">上传邮费成本</button>
             </div>
         </#if>
     </div>
@@ -515,6 +516,30 @@
                         }
                     });
                     $("#file").attr("value", _editor.options.filePath + arg[0].url);
+                    }else if(editorType == 4){
+                    layer.msg('加载中', {icon: 16});
+                    $.ajax({
+                        type: "POST",
+                        data: {
+                            file : arg[0].url
+                        },
+                        url: "${path}/admin/salesOrder/uploadPostageExcel",
+                        async: false,
+                        success: function(data){
+                            var index = parent.layer.getFrameIndex(window.name);
+                            parent.layer.close(index);
+                            layer.alert(data, {
+                                title: "操作",
+                                btn: ['确定']
+                            });
+                        },
+                        error: function(XmlHttpRequest, textStatus, errorThrown){
+                            var index = parent.layer.getFrameIndex(window.name);
+                            parent.layer.close(index);
+                            layer.msg("上传失败,请另存文件重新上传!!!",{icon: 2,time:3000});
+                        }
+                    });
+                    $("#file").attr("value", _editor.options.filePath + arg[0].url);
                 }else{
                     window.location.href=root_path + '/admin/order/download_excel?file='+arg[0].url;
                 }
@@ -546,6 +571,12 @@
         myImage.open();
     }
 
+    /*  邮费成本文件上传 */
+    function upPostage(){
+        var myFiles = _editor.getDialog("attachment");
+        myFiles.open();
+        editorType = 4;
+    }
     // 关闭窗口
     function exitWindowsDiv(_this) {
         $(_this).parent().parent().hide();