Browse Source

消息列表采购单链接到单据详情。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10019 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 years ago
parent
commit
acba136e06

+ 11 - 4
src/main/java/com/uas/platform/b2b/controller/PagingReleaseController.java

@@ -20,10 +20,7 @@ import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -141,4 +138,14 @@ public class PagingReleaseController {
         pagingReleaseDetailService.setRead(releaseDetails);
     }
 
+    /**
+     *  点击链接标为已读
+     *
+     */
+    @RequestMapping(value = "/setOneRead/{id}", method = RequestMethod.POST)
+    @ResponseBody
+    public void setOneRead(@PathVariable Long id) {
+        pagingReleaseDetailService.setOneRead(id);
+    }
+
 }

+ 2 - 0
src/main/java/com/uas/platform/b2b/service/PagingReleaseDetailService.java

@@ -12,4 +12,6 @@ public interface PagingReleaseDetailService {
 
 
     void setRead(List<PagingReleaseDetail> releaseDetails);
+
+    void setOneRead(Long id);
 }

+ 20 - 0
src/main/java/com/uas/platform/b2b/service/impl/PagingReleaseDetailServiceImpl.java

@@ -18,6 +18,10 @@ public class PagingReleaseDetailServiceImpl implements PagingReleaseDetailServic
     @Autowired
     private PagingReleaseDetailDao pagingReleaseDetailDao;
 
+    /**
+     * 选中设为已读
+     * @param releaseDetails
+     */
     @Override
     public void setRead(List<PagingReleaseDetail> releaseDetails) {
         if (!CollectionUtils.isEmpty(releaseDetails)) {
@@ -31,4 +35,20 @@ public class PagingReleaseDetailServiceImpl implements PagingReleaseDetailServic
             }
         }
     }
+
+    /**
+     *  点击链接设为已读
+     * @param id
+     */
+    @Override
+    public void setOneRead(Long id) {
+        PagingReleaseDetail detail = pagingReleaseDetailDao.findOne(id);
+        if (detail != null) {
+            detail.setReadStatus(Constant.YES);
+            detail.setReadDate(new Date());
+            pagingReleaseDetailDao.save(detail);
+            // 调用存储过程更新消息数量表,每条参数不一样所以需要单条保存
+            pagingReleaseDetailDao.updateReleaseCountBySetReadStatus(SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU(), detail.getPagingRelease().getTable(), detail.getPagingRelease().getCategory());
+        }
+    }
 }

+ 12 - 1
src/main/webapp/resources/js/index/app.js

@@ -797,7 +797,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		};
 
 		$scope.showMessage = function() {
-            $modal.open({
+            var modalInstance = $modal.open({
                 templateUrl: 'static/tpl/index/home/pagingRelease.html',
                 controller: 'PagingReleaseCtrl'
             });
@@ -934,11 +934,22 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                 }
             });
             PagingRelease.setRead({}, selectedMessages , function(message) {
+                toaster.pop("success", "成功", "设置成功");
                 $scope.tableParams.page(1);
                 $scope.tableParams.reload();
             });
         };
 
+        // 点击内容连接之后,信息标为已读
+        $scope.setOneRead = function(id) {
+            $modalInstance.close();
+            PagingRelease.setOneRead({id: id}, {}, function(data) {
+                toaster.pop("success", "成功", "跳转到单据详情");
+            }, function(response) {
+                toaster.pop('error', '提示', response.data);
+            });
+        };
+
         // 搜索框回车
         $scope.onSearch = function() {
             $scope.searchStatus = true;

+ 4 - 0
src/main/webapp/resources/js/index/services/Purc.js

@@ -790,6 +790,10 @@ define([ 'ngResource'], function() {
             setRead:{
                 url: 'api/paging/setRead',
                 method: 'POST'
+            },
+            setOneRead:{
+                url: 'api/paging/setOneRead/:id',
+                method: 'POST'
             }
 		});
     }]).factory('PagingReleaseInfo', ['$resource', function($resource){

+ 6 - 1
src/main/webapp/resources/tpl/index/home/pagingRelease.html

@@ -190,7 +190,12 @@
                 <div>{{releaseDetail.pagingRelease.date | date:'yyyy-MM-dd HH:mm'}}</div>
             </td>
             <td>
-                <div style="text-align: left;">{{releaseDetail.pagingRelease.context}}</div>
+                <div style="text-align: left;" ng-if="releaseDetail.pagingRelease.table == 'purc$orders'">
+                    <a style="color: #5078cb;" ng-click="setOneRead(releaseDetail.id)" ui-sref="sale.order_detail({id:releaseDetail.pagingRelease.sourceId})">{{releaseDetail.pagingRelease.context}}</a>
+                </div>
+                <div style="text-align: left;" ng-if="releaseDetail.pagingRelease.table != 'purc$orders'">
+                    {{releaseDetail.pagingRelease.context}}
+                </div>
             </td>
             <td ng-hide="active == 'todo'">
                 <div>{{releaseDetail.readDate | date:'yyyy-MM-dd HH:mm'}}</div>