Selaa lähdekoodia

Merge remote-tracking branch 'origin/dev' into dev

dongbw 8 vuotta sitten
vanhempi
commit
2d62f3c98d

+ 15 - 11
src/main/java/com/uas/platform/b2b/controller/FileController.java

@@ -106,24 +106,29 @@ public class FileController {
     @RequestMapping("/batch/{id}")
     public void batchDownload(@PathVariable("id") long id, HttpServletResponse response) throws IOException {
         PurchaseOrderAll orderAll = purchaseOrderService.findById(id);
-        String sql = " select at_path path from attachs left join purc$prod$attach on attachs.at_id = purc$prod$attach.at_id " +
+        String sql = " select at_path path,attachs.at_id id from attachs left join purc$prod$attach on attachs.at_id = purc$prod$attach.at_id " +
                "left join purc$orderitems on purc$orderitems.pd_id = purc$prod$attach.pd_id where purc$orderitems.pd_puid = " + id;
         List<Attach> attaches = commonDao.query(sql, Attach.class);
-        StringBuffer idString = null;
+        StringBuffer idString = new StringBuffer();
         String url = null;
         if (!CollectionUtils.isEmpty(attaches)) {
            for (Attach attach : attaches) {
                if (attach.getPath().startsWith("http://dfs.ubtob.com")) {// 存储在dfs存储服务器,去dfs存储服务器下载
                 // TODO dfs服务器上打包下载
                } else if (attach.getPath().startsWith("http://") || attach.getPath().startsWith("https://") || attach.getPath().startsWith("ftp://") || attach.getPath().startsWith("sftp://")) {
-                    if (idString.length() > 0) {
-                        idString.append(";");
-                    }
-                    JSONObject jsonObject = JSONObject.parseObject(attach.getPath());
-                    String atId = jsonObject.get("id").toString();
-                    idString.append(atId);
-                    // 各个ERP对应的路径不一样,采用将单个文件下载路径替换成批量文件下载路径的方法
-                    url = attach.getPath().replace("downloadbyId.action?id=", "downloadbyIds.action?ids=");
+                   // 存放在其他网络资源中,直接跳转至链接地址
+                   response.sendRedirect(attach.getPath());
+               } else {
+                   // 其他的当做是存放在本地服务器上,去本地服务器根据文件路径去获取
+                   if (idString.length() > 0) {
+                       idString.append(";");
+                   }
+                   if (attach.getPath().contains("=")) {
+                       String atId = attach.getPath().substring(attach.getPath().lastIndexOf("id=") + 3);
+                       idString.append(atId);
+                   }
+                   // 各个ERP对应的路径不一样,采用将单个文件下载路径替换成批量文件下载路径的方法
+                   url = attach.getPath().replace("downloadbyId.action?id=", "downloadbyIds.action?ids=");
                }
            }
         } else {
@@ -134,5 +139,4 @@ public class FileController {
         }
     }
 
-
 }

+ 3 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -11,6 +11,7 @@ import com.uas.platform.b2b.erp.service.PurchaseService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.temporary.model.PartnershipRecord;
+import com.uas.platform.core.exception.NotFoundException;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -91,6 +92,8 @@ public class PurchaseServiceImpl implements PurchaseService {
 							item.setProductId(products.get(0).getId());
 							item.setErpDate(new Date());
 							orderItems.add(item);
+						} else {
+							throw new NotFoundException("编号为【" + product.getCode() + "】的物料");
 						}
 					}
 				}

+ 128 - 6
src/main/java/com/uas/platform/b2b/model/PurcInquiryItemInfo.java

@@ -145,12 +145,6 @@ public class PurcInquiryItemInfo {
 	@Column(name = "id_status")
 	private Short status;
 
-	/**
-	 * 是否采纳
-	 */
-	@Column(name = "id_agreed")
-	private Short agreed;
-
 	/**
 	 * 是否买家已设置分段数
 	 */
@@ -215,6 +209,70 @@ public class PurcInquiryItemInfo {
 	@Transient
     private String userTel;
 
+	/**** 针对客户,查询公共询价信息时展示的相关其他需求数据 *****/
+	/**
+	 * 是否已报价 1、是;0、否
+	 */
+	@Transient
+	private Short quoted;
+
+	/**
+	 * 如果已报价,记录已转报价后的明细id
+	 */
+	@Transient
+	private Long quteId;
+
+	/**
+	 * 是否已采纳
+	 */
+	@Transient
+	private Short agreed;
+	/****** end ******/
+
+    /**
+     * ************* 上传的物料信息,因为可能是手动输入的,物料款不存在,需要先进行保存物料 *************
+     */
+
+    /**
+     * 物料编号
+     */
+    @Column(name = "id_prodcode")
+    private String prodCode;
+
+    /**
+     * 名称
+     */
+    @Column(name = "id_prodtitle")
+    private String prodTitle;
+
+    /**
+     * 规格
+     */
+    @Column(name = "id_prodspec")
+    private String spec;
+
+    /**
+     * 单位
+     */
+    @Column(name = "id_unit")
+    private String unit;
+
+    /**
+     * 型号
+     */
+    @Column(name = "id_cmpcode")
+    private String cmpCode;
+
+    /**
+     * 品牌
+     */
+    @Column(name = "id_inbrand")
+    private String inbrand;
+
+    /**
+     * **end***
+     */
+
 	public Long getId() {
 		return id;
 	}
@@ -478,4 +536,68 @@ public class PurcInquiryItemInfo {
     public void setUserTel(String userTel) {
         this.userTel = userTel;
     }
+
+	public Short getQuoted() {
+		return quoted;
+	}
+
+	public void setQuoted(Short quoted) {
+		this.quoted = quoted;
+	}
+
+	public Long getQuteId() {
+		return quteId;
+	}
+
+	public void setQuteId(Long quteId) {
+		this.quteId = quteId;
+	}
+
+    public String getProdCode() {
+        return prodCode;
+    }
+
+    public void setProdCode(String prodCode) {
+        this.prodCode = prodCode;
+    }
+
+    public String getProdTitle() {
+        return prodTitle;
+    }
+
+    public void setProdTitle(String prodTitle) {
+        this.prodTitle = prodTitle;
+    }
+
+    public String getSpec() {
+        return spec;
+    }
+
+    public void setSpec(String spec) {
+        this.spec = spec;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getCmpCode() {
+        return cmpCode;
+    }
+
+    public void setCmpCode(String cmpCode) {
+        this.cmpCode = cmpCode;
+    }
+
+    public String getInbrand() {
+        return inbrand;
+    }
+
+    public void setInbrand(String inbrand) {
+        this.inbrand = inbrand;
+    }
 }

+ 20 - 4
src/main/webapp/resources/js/index/app.js

@@ -5349,7 +5349,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
     }]);
 
     // 公共询价列表
-    app.controller('PublicInquiryListCtrl', ['$scope', '$stateParams', 'PurchaseInquiry', '$filter', 'toaster', 'BaseService', 'ngTableParams', 'PurcInquiry', 'publicInquiry', 'publicInquiryList', '$modal', function ($scope, $stateParams, PurchaseInquiry, $filter, toaster, BaseService, ngTableParams, PurcInquiry, publicInquiry, publicInquiryList, $modal) {
+    app.controller('PublicInquiryListCtrl', ['$scope', '$stateParams', 'PurchaseInquiry', '$filter', 'toaster', 'BaseService', 'ngTableParams', 'PurcInquiry', 'publicInquiry', 'publicInquiryList', '$modal', '$http', function ($scope, $stateParams, PurchaseInquiry, $filter, toaster, BaseService, ngTableParams, PurcInquiry, publicInquiry, publicInquiryList, $modal, $http) {
         BaseService.scrollBackToTop();
         /**
          * 改变单据日期范围
@@ -5514,8 +5514,12 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
         });
 
-        $scope.toDetail = function (id) {
-            window.location.hash = '#/baseInfo/inquiryList/' + id;
+        $scope.toDetail = function (item) {
+            if (item.quoted == 0) {
+                window.location.hash = '#/baseInfo/inquiryList/' + item.id;
+            } else {
+                window.open("#/sale/pubinquiry/" + item.quteId);
+            }
         };
 
         // 搜索框回车
@@ -5523,13 +5527,25 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             $scope.tableParams.page(1);
             $scope.tableParams.reload();
         };
-        // 得到消息
+        //得到消息
         PurcInquiry.getMessage({}, function (data) {
             $scope.message = data;
         }, function (response) {
 
         });
 
+        /*$http({
+            method: 'GET',
+            dataType: 'JSON',
+            url: 'http://192.168.253.12:24000/inquiry/public/messageList',
+            async : false,
+            params: {enuu:10041559, size: 10},
+        }).success(function(data) {
+            console.log(data)
+        }).error(function() {
+            console.log('error')
+        });*/
+
         // 转客户询价
         $scope.transtoInquiry = function (inquiryItem) {
             publicInquiry.quotationInfo({id: inquiryItem.id}, function(data) {

+ 15 - 14
src/main/webapp/resources/tpl/index/baseInfo/inquiry_list.html

@@ -389,27 +389,28 @@
                                </thead>
                                <tbody ng-if="active == 'all'">
                                     <tr ng-repeat="inquiryItem in $data">
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.inquiry.date| date: 'yyyy-MM-dd'"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.product.brand || '无'"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.product.title || inquiryItem.prodTitle"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.product.cmpCode || inquiryItem.prodCode"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.product.spec || inquiryItem.spec"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.needquantity"></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.inquiry.enterprise.enName"><a></a></td>
-                                        <td ng-click="toDetail(inquiryItem.id)" title="查看详情" ng-bind="inquiryItem.inquiry.endDate| date: 'yyyy-MM-dd'"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.inquiry.date| date: 'yyyy-MM-dd'"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.product.brand || inquiryItem.inbrand || '无'"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.product.title || inquiryItem.prodTitle || '无'"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.product.cmpCode || inquiryItem.cmpCode"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.product.spec || inquiryItem.spec || '无'"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.needquantity"></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.inquiry.enterprise.enName"><a></a></td>
+                                        <td ng-click="toDetail(inquiryItem)" title="查看详情" ng-bind="inquiryItem.inquiry.endDate| date: 'yyyy-MM-dd'"></td>
                                         <td>
-                                            <a class="offer"ng-click="transtoInquiry(inquiryItem)" ng-if="isOverDue(inquiryItem.inquiry.endDate)">我要报价</a>
-                                            <a class="offer" ng-if="!isOverDue(inquiryItem.inquiry.endDate)" ng-click="">已结束</a>
+                                            <a class="offer"ng-click="transtoInquiry(inquiryItem)" ng-if="isOverDue(inquiryItem.inquiry.endDate) && inquiryItem.quoted != 1">我要报价</a>
+                                            <a class="offer" ng-if="!isOverDue(inquiryItem.inquiry.endDate) && inquiryItem.quoted != 1" ng-click="">已结束</a>
+                                            <a class="offer" ng-if="inquiryItem.quoted == 1" ng-click="">已报价</a>
                                         </td>
                                     </tr>
                                </tbody>
                                <tbody ng-if="active == 'teams'">
                                    <tr ng-repeat="inquiryItem in $data" ui-sref="sale.inquiry_detail({id:inquiryItem.inquiry.id})" title="查看详情">
                                        <td ng-bind="inquiryItem.inquiry.date| date: 'yyyy-MM-dd'"></td>
-                                       <td ng-bind="inquiryItem.product.brand || '无'"></td>
-                                       <td ng-bind="inquiryItem.product.title"></td>
-                                       <td ng-bind="inquiryItem.product.cmpCode"></td>
-                                       <td ng-bind="inquiryItem.product.spec"></td>
+                                       <td ng-bind="inquiryItem.product.brand || inquiryItem.inbrand"></td>
+                                       <td ng-bind="inquiryItem.product.title || inquiryItem.prodTitle"></td>
+                                       <td ng-bind="inquiryItem.product.cmpCode || inquiryItem.cmpCode"></td>
+                                       <td ng-bind="inquiryItem.product.spec || inquiryItem.spec"></td>
                                        <td ng-bind="inquiryItem.needquantity"></td>
                                        <td ng-bind="inquiryItem.inquiry.enterprise.enName"><a></a></td>
                                        <td ng-bind="inquiryItem.inquiry.endDate| date: 'yyyy-MM-dd'"></td>