Jelajahi Sumber

首页侧边栏增加日期,阅读状态样式判断

hejq 8 tahun lalu
induk
melakukan
021e13e2d3

+ 29 - 0
src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.controller;
 package com.uas.platform.b2b.controller;
 
 
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.dubbo.common.utils.CollectionUtils;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.PurchaseOrderAllDao;
 import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
 import com.uas.platform.b2b.dao.PurchaseOrderDoneDao;
@@ -418,6 +419,33 @@ public class SaleOrderController {
 		return searchService.searchPurchaseWaitingOrderIds(keyword, pageParams);
 		return searchService.searchPurchaseWaitingOrderIds(keyword, pageParams);
 	}
 	}
 
 
+    /**
+     * @param params
+     * @param searchFilter
+     * @author yujia 获取待发货的订单 - 搜索
+     */
+    @RequestMapping(value = "/test", method = RequestMethod.GET)
+    @ResponseBody
+    public SPage<SaleOrderForProd> getSaleOrderItems(PageParams params, String searchFilter) {
+        logger.log("客户采购单", "查看收到的客户采购订单列表(包括采购明细)(待交货)");
+        purchaseOrderAllDao.setDisplayStatus(SystemSession.getUser().getUserUU(),
+                SystemSession.getUser().getEnterprise().getUu(), OrderType.sale.name());
+        PageInfo pageInfo = new PageInfo(params);
+        SearchFilter filter = JSONObject.parseObject(searchFilter, SearchFilter.class);
+        filter = new SearchFilter();
+        SearchFilter distribute = userService.distribute();
+        if (distribute != null && distribute.getDistribute() == null) {
+            return null;
+        }
+        if (distribute != null && !CollectionUtils.isEmpty(distribute.getDistribute())) {
+            filter.setDistribute(distribute.getDistribute());
+        }
+        filter.setKeyword("C0100010026");
+        System.out.println(JSON.toJSON(filter));
+        SPage<SaleOrderForProd> orders = purchaseOrderService.findOrderItemsByPageInfo(pageInfo, filter);
+        return orders;
+    }
+
 	/**
 	/**
 	 * 作为卖家,收到的采购订单(含明细)
 	 * 作为卖家,收到的采购订单(含明细)
 	 * 
 	 * 
@@ -1209,6 +1237,7 @@ public class SaleOrderController {
 		logger.log("采购单", "导出Excel列表", "导出待交货Excel列表");
 		logger.log("采购单", "导出Excel列表", "导出待交货Excel列表");
 		return modelAndView;
 		return modelAndView;
 	}
 	}
+
 //
 //
 //	/**
 //	/**
 //	 * 导出 - 已收货
 //	 * 导出 - 已收货

+ 20 - 0
src/main/java/com/uas/platform/b2b/dao/ProductUsersDao.java

@@ -46,4 +46,24 @@ public interface ProductUsersDao extends JpaSpecificationExecutor<ProductUsers>,
      * @return
      * @return
      */
      */
     List<ProductUsers> findByEnuuAndUseruuAndAndPrid(Long enuu, Long useruu, Long prid);
     List<ProductUsers> findByEnuuAndUseruuAndAndPrid(Long enuu, Long useruu, Long prid);
+
+    /**
+     * 自动更新所有企业的物料信息
+     */
+    @Procedure(procedureName = "init_covertouser")
+    void initProductUser();
+
+    /**
+     * 通过物料id,enuu,useruu精确
+     */
+    @Procedure(procedureName = "prid_covertouser")
+    void coverToUserByPrid(Long prid, Long enuu, Long useruu);
+
+    /**
+     * 通过企业uu更新个人物料信息
+     *
+     * @param enuu
+     */
+    @Procedure(procedureName = "product_covertouser_byenuu")
+    void coverToUserByEnuu(Long enuu);
 }
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseOrderService.java

@@ -397,5 +397,5 @@ public interface PurchaseOrderService {
      */
      */
     public void replyByBatch(String idString, String username, String userip, Long enuu, Long useruu);
     public void replyByBatch(String idString, String username, String userip, Long enuu, Long useruu);
 
 
-//    SPage<SaleOrderForProd> findOrderItemsByPageInfo(PageInfo pageInfo, SearchFilter filter);
+    SPage<SaleOrderForProd> findOrderItemsByPageInfo(PageInfo pageInfo, SearchFilter filter);
 }
 }

+ 100 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -25,6 +25,7 @@ import com.uas.search.b2b.model.SPage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.data.jpa.domain.Specification;
+import org.springframework.jdbc.core.RowMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
@@ -32,6 +33,8 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
 import javax.persistence.criteria.*;
 import javax.persistence.criteria.*;
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.*;
 import java.util.*;
 
 
 @Service
 @Service
@@ -101,6 +104,12 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 	@Autowired
 	@Autowired
 	private DistributeDao distributeDao;
 	private DistributeDao distributeDao;
 
 
+	@Autowired
+    private CommonDao commonDao;
+
+	@Autowired
+    private SaleOrderForProdItemDao saleOrderForProdItemDao;
+
 	@Override
 	@Override
 	public void save(List<PurcOrderInfoItem> orderItems) {
 	public void save(List<PurcOrderInfoItem> orderItems) {
 		List<PurcOrderInfoItem> newOrderItems = purcOrderInfoItemDao.save(orderItems);
 		List<PurcOrderInfoItem> newOrderItems = purcOrderInfoItemDao.save(orderItems);
@@ -1255,7 +1264,97 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
         purchaseOrderItemDao.replyByBatch(idString, username, userip, enuu, useruu);
         purchaseOrderItemDao.replyByBatch(idString, username, userip, enuu, useruu);
     }
     }
 
 
-	@Override
+    @Override
+    public SPage<SaleOrderForProd> findOrderItemsByPageInfo(PageInfo pageInfo, SearchFilter filter) {
+        return getSaleOrders(pageInfo, filter);
+    }
+
+    private SPage<SaleOrderForProd> getSaleOrders(PageInfo pageInfo, SearchFilter filter) {
+        SPage<SaleOrderForProd> orders = new SPage<SaleOrderForProd>();
+        StringBuffer countSql = new StringBuffer("select count(1) from purc$orders left join purc$orderitems on pu_id = pd_puid left join products on pd_prid = pr_id where 1=1");
+        StringBuffer querySql = new StringBuffer(
+                "select * from (select t.*,rownum r from (select purc$orders.*,pd_id from purc$orders left join purc$orderitems on pu_id = pd_puid left join products on pd_prid = pr_id where 1=1");
+        Object[] args = new Object[] {};
+        if(null != filter.getDistribute()) {
+            filter.getDistribute().toString().replace("[", " ");
+            filter.getDistribute().toString().replace("]", " ");
+            countSql.append(" and pu_venduu in ").append(filter.getDistribute()).append("and upper(pr_title) like upper('%").append(filter.getKeyword())
+                    .append("%') or upper(pr_spec) like upper('%").append(filter.getKeyword()).append("%') or upper(pr_code) like upper('%").append(filter.getKeyword())
+                    .append("%')");
+            querySql.append(" and pu_venduu in ").append(filter.getDistribute()).append("and upper(pr_title) like upper('%").append(filter.getKeyword())
+                    .append("%') or upper(pr_spec) like upper('%").append(filter.getKeyword()).append("%') or upper(pr_code) like upper('%").append(filter.getKeyword())
+                    .append("%')");
+        }
+        int total = count(countSql.toString(), args);
+        querySql.append(" order by pu_date desc) t where rownum <= ?) where r >= ?");
+        args = Arrays.copyOf(args, args.length + 2);
+        args[args.length - 2] = pageInfo.getPageNumber() * pageInfo.getPageSize();
+        args[args.length - 1] = (pageInfo.getPageNumber() - 1) * pageInfo.getPageSize() + 1;
+        List<SaleOrderForProd> content = commonDao.getJdbcTemplate().query(querySql.toString(), getRowMapper(), args);
+        if(!CollectionUtils.isEmpty(content)) {
+            for(SaleOrderForProd order : content) {
+                List<SaleOrderForProdItem> items = new ArrayList<SaleOrderForProdItem>();
+                if(null != order.getPdid()) {
+                    SaleOrderForProdItem item = saleOrderForProdItemDao.findOne(order.getPdid());
+                    items.add(item);
+                    order.setOrderItems(items);
+                    EnterpriseInfo enterpriseInfo = enterpriseDao.findEnterpriseInfoByUu(order.getEnUU());
+                    order.setEnterprise(enterpriseInfo);
+                    UserBaseInfo userBaseInfo = userBaseInfoDao.findByUserUU(order.getUserUU());
+                    order.setUser(userBaseInfo);
+                }
+            }
+        }
+        orders.setContent(content);
+        orders.setTotalElement(total);
+        orders.setPage(pageInfo.getPageNumber());
+        orders.setSize(pageInfo.getPageSize());
+        orders.setTotalPage(content.size());
+        return orders;
+    }
+
+    private int count(String sql, Object[] args) {
+        return commonDao.getJdbcTemplate().queryForObject(!sql.startsWith("select") ? ("select count(1) " + sql) : sql, Integer.class, args);
+    }
+
+    private RowMapper<SaleOrderForProd> getRowMapper() {
+        return new RowMapper<SaleOrderForProd>() {
+
+            @Override
+            public SaleOrderForProd mapRow(ResultSet rs, int rowNum) throws SQLException {
+                SaleOrderForProd order = new SaleOrderForProd();
+                order.setId(rs.getLong("pu_id"));
+                order.setCurrency(rs.getString("pu_currency"));
+                order.setCop(rs.getString("pu_cop"));
+                order.setAuditor(rs.getString("pu_auditor"));
+                order.setCode(rs.getString("pu_code"));
+                order.setArCustCode(rs.getString("pu_arcustcode"));
+                order.setPrint(rs.getShort("pu_print"));
+                order.setRemark(rs.getString("pu_remark"));
+                order.setCustCode(rs.getString("pu_custcode"));
+                order.setCustPrint(rs.getShort("pu_custprint"));
+                order.setCustName(rs.getString("pu_custname"));
+                order.setDate(rs.getDate("pu_date"));
+                order.setDisplay(rs.getShort("pu_display"));
+                order.setEnUU(rs.getLong("pu_enuu"));
+                order.setPurpose(rs.getString("pu_purpose"));
+                order.setPayments(rs.getString("pu_payments"));
+                order.setPdid(rs.getLong("pd_id"));
+                order.setVendUU(rs.getLong("pu_venduu"));
+                order.setUserUU(rs.getLong("pu_useruu"));
+                order.setRate(rs.getFloat("pu_rate"));
+                order.setType(rs.getString("pu_type"));
+                order.setRecorder(rs.getString("pu_recorder"));
+                order.setVendUserUU(rs.getLong("pu_venduseruu"));
+                order.setStatus(rs.getShort("pu_status"));
+                order.setSendStatus(rs.getShort("pu_sendstatus"));
+                order.setShipAddress(rs.getString("pu_shipaddress"));
+                return order;
+            }
+        };
+    }
+
+    @Override
 	@Transactional
 	@Transactional
 	public Integer setReadByState(String category) {
 	public Integer setReadByState(String category) {
 		List<Long> unreadIds = getUnreadIds(category);
 		List<Long> unreadIds = getUnreadIds(category);

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

@@ -1,4 +1,4 @@
-define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives', 'service/Purc', 'service/Make', 'service/Fa', 'service/Account', 'service/Alert', 'service/CheckTel', 'ui.router', 'ui.bootstrap', 'file-upload', 'ngSanitize', 'service/BaseInfo', 'service/Cart', 'service/ApprovalFlow', 'service/DeputyOrder', 'service/Product', 'service/Token', 'service/ProductUsers'], function () {
++define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives', 'service/Purc', 'service/Make', 'service/Fa', 'service/Account', 'service/Alert', 'service/CheckTel', 'ui.router', 'ui.bootstrap', 'file-upload', 'ngSanitize', 'service/BaseInfo', 'service/Cart', 'service/ApprovalFlow', 'service/DeputyOrder', 'service/Product', 'service/Token', 'service/ProductUsers'], function () {
     'use strict';
     'use strict';
     var app = angular.module('myApp', ['toaster', 'angularCharts', 'ngTable', 'ui.router', 'common.services', 'common.directives', 'PurcServices', 'MakeServices', 'FaServices', 'AccountServices', 'AlertServices', 'ui.bootstrap', 'angularFileUpload', 'ngSanitize', 'CheckTelModule', 'ProductServices', 'CartServices', 'ApprvoalFlowService', 'DeputyOrderService', 'ProductInfoServices', 'TokenService', 'ProductUserService']);
     var app = angular.module('myApp', ['toaster', 'angularCharts', 'ngTable', 'ui.router', 'common.services', 'common.directives', 'PurcServices', 'MakeServices', 'FaServices', 'AccountServices', 'AlertServices', 'ui.bootstrap', 'angularFileUpload', 'ngSanitize', 'CheckTelModule', 'ProductServices', 'CartServices', 'ApprvoalFlowService', 'DeputyOrderService', 'ProductInfoServices', 'TokenService', 'ProductUserService']);
     app.init = function () {
     app.init = function () {
@@ -1852,6 +1852,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         });
         });
 
 
         $scope.dateTime = new Date();
         $scope.dateTime = new Date();
+        $scope.time = new Date().getTime();
     }]);
     }]);
     app.controller('TenderCtrl', ['$scope', 'SnapshotService', function ($scope, SnapshotService) {
     app.controller('TenderCtrl', ['$scope', 'SnapshotService', function ($scope, SnapshotService) {
         // SnapshotService.getTender(250, function(data){
         // SnapshotService.getTender(250, function(data){

+ 46 - 4
src/main/webapp/resources/tpl/index/home/left.html

@@ -25,9 +25,39 @@
 	.notice {
 	.notice {
 		margin-top: 15px;
 		margin-top: 15px;
 	}
 	}
-	.notice .pane-body ul li a{
+	/*公告非当日*/
+	.notice .pane-body ul li.nonday a{
+		color: #000;
+	}
+	/*!*公告当日已读*!*/
+	.notice .pane-body ul li.day-read a{
+		float: left;
+		display: inline-block;
+		width: 149px;
+		white-space: nowrap;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		color: #000;
+	}
+	.notice .pane-body ul li.day-read img{
+		float: left;
+		margin-top: 5px;
+	}
+	/*公告当日未读 */
+	.notice .pane-body ul li.day-unread a{
+		float: left;
+		display: inline-block;
+		width: 149px;
+		white-space: nowrap;
+		overflow: hidden;
+		text-overflow: ellipsis;
 		color: #d32526;
 		color: #d32526;
 	}
 	}
+	.notice .pane-body ul li.day-unread img{
+		float: left;
+		margin-top: 5px;
+	}
+
 	.change-ul{
 	.change-ul{
 		display: inline-block;
 		display: inline-block;
 		-webkit-padding-start: 0;
 		-webkit-padding-start: 0;
@@ -86,14 +116,23 @@
 	.feed-wrap .pane .pane-body li a:hover{
 	.feed-wrap .pane .pane-body li a:hover{
 		cursor: pointer;
 		cursor: pointer;
 	}
 	}
+
 	.feed-wrap .pane .pane-body li a em{
 	.feed-wrap .pane .pane-body li a em{
-		max-width: 155px;
 		display: inline-block;
 		display: inline-block;
+		color: #d32526;
 		white-space: nowrap;
 		white-space: nowrap;
 		overflow: hidden;
 		overflow: hidden;
 		text-overflow: ellipsis;
 		text-overflow: ellipsis;
 		font-style: inherit;
 		font-style: inherit;
 	}
 	}
+	/*非当日公共询价*/
+	.feed-wrap .pane .pane-body li.nonday a em{
+		max-width: 190px;
+	}
+	/*当日公共询价已读、未读**/
+	.feed-wrap .pane .pane-body li.day-read a em{
+		max-width: 150px;
+	}
 
 
 </style>
 </style>
 <!--<div class="user">-->
 <!--<div class="user">-->
@@ -161,9 +200,12 @@
 		</div>
 		</div>
 		<div class="pane-body">
 		<div class="pane-body">
 			<ul class="list-unstyled detail">
 			<ul class="list-unstyled detail">
-				<li ng-repeat="msg in message | orderBy : '- inid'">
+				<li ng-repeat="msg in message | orderBy : '- inid'" class="day-unread">
 					<!--<span ng-show="tender.isNew"><img src="static/img/home/newTender.png"></span>-->
 					<!--<span ng-show="tender.isNew"><img src="static/img/home/newTender.png"></span>-->
-					<a ui-sref="baseInfo.inquiryListDetail({id:msg.inid})"class="text-light"><em style="font-style: normal;">{{msg.pordName}}</em><img src="static/img/home/new.png"/></a>
+					<a ui-sref="baseInfo.inquiryListDetail({id:msg.inid})"class="text-light">
+						<em style="font-style: normal;">{{msg.pordName}}</em>
+						<img src="static/img/home/new.png"/>
+					</a>
 				</li>
 				</li>
 				<li ng-show="message == null || message == ''" class="grey">
 				<li ng-show="message == null || message == ''" class="grey">
 					暂无询价信息!
 					暂无询价信息!