Browse Source

更新快照查询方法

hejq 7 years ago
parent
commit
940f4087ed

+ 13 - 10
src/main/java/com/uas/platform/b2b/controller/SnapshotController.java

@@ -62,6 +62,11 @@ public class SnapshotController {
 	@Autowired
 	private SnapshotService snapshotService;
 
+    /**
+     * 日志
+     */
+    private static final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(SnapshotController.class);
+
 	/**
 	 * 统计待处理事项
 	 * 
@@ -71,20 +76,18 @@ public class SnapshotController {
 	@ResponseBody
 	@ResponseStatus(value = HttpStatus.OK)
 	public ModelMap getTodo() {
-		final ModelMap modelMap = new ModelMap();
+	    Long start = System.currentTimeMillis();
+		ModelMap modelMap = new ModelMap();
 		final Long enUU = SystemSession.getUser().getEnterprise().getUu();
-		ThreadUtils.task(new Runnable() {
-
-			@Override
-			public void run() {
-				List<Snapshot> snapshots = snapshotService.findByEnUU(enUU);
-				if (!CollectionUtils.isEmpty(snapshots)) {
-					for (Snapshot snapshot : snapshots) {
-						modelMap.put(snapshot.getCategory(), snapshot.getCount());
-					}
+		ThreadUtils.task(()-> {
+			List<Snapshot> snapshots = snapshotService.findByEnUU(enUU);
+			if (!CollectionUtils.isEmpty(snapshots)) {
+				for (Snapshot snapshot : snapshots) {
+					modelMap.put(snapshot.getCategory(), snapshot.getCount());
 				}
 			}
 		}).run();
+		logger.info("cost -> " + (System.currentTimeMillis() - start));
 		return modelMap;
 	}
 

+ 482 - 1
src/main/java/com/uas/platform/b2b/service/impl/SnapshotServiceImpl.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2b.service.SnapshotService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -26,6 +27,486 @@ public class SnapshotServiceImpl implements SnapshotService {
      */
     @Override
     public List<Snapshot> findByEnUU(Long enUU) {
-        return commonDao.query("select * from snapshot where enuu = ?", Snapshot.class, enUU);
+        List<Snapshot> snapshots = new ArrayList<>();
+        // 获取待处理客户询价单
+        getInquiryTodo(snapshots, enUU);
+        // 获取全部客户询价单
+        getInquiryAll(snapshots, enUU);
+        // 获取待处理采购询价单
+        getPurchaseInquiryTodo(snapshots, enUU);
+        // 获取全部采购订单
+        getPurchaseAll(snapshots, enUU);
+        // 获取待回复采购订单
+        getPurchaseOrderTodo(snapshots, enUU);
+        // 获取全部采购订单
+        getPurchaseOrderAll(snapshots, enUU);
+        // 获取全部客户采购变更单
+        getSaleChangeAll(snapshots, enUU);
+        // 获取待处理客户采购变更单
+        getSaleChangeTodo(snapshots, enUU);
+        // 获取客户发货提醒(待发货)
+        getSaleOrderNoticeTodo(snapshots, enUU);
+        // 获取客户发货提醒(全部)
+        getSaleOrderNoticeAll(snapshots, enUU);
+        // 获取客户采购验收单(全部)
+        getSaleOrderAcceptAll(snapshots, enUU);
+        // 获取客户采购验退单(全部)
+        getSaleOrderReturnAll(snapshots, enUU);
+        // 获取待送样打样申请
+        getSampleTodo(snapshots, enUU);
+        // 获取全部打样申请
+        getSampleAll(snapshots, enUU);
+        // 获取全部送样认定单
+        getApprovalAll(snapshots, enUU);
+        // 获取全部发货单
+        getSaleSendAll(snapshots, enUU);
+        // 获取已收料发货单
+        getSaleSendDone(snapshots, enUU);
+        // 获取待回复客户委外单
+        getMakeOrderTodo(snapshots, enUU);
+        // 获取全部客户委外单
+        getMakeOrderAll(snapshots, enUU);
+        // 获取全部客户委外变更单
+        getMakeChangeAll(snapshots, enUU);
+        // 获取全部客户委外验收单
+        getMakeAcceptAll(snapshots, enUU);
+        // 获取全部客户委外验退单
+        getMakeReturnAll(snapshots, enUU);
+        // 获取全部委外单
+        getMakeOutAll(snapshots, enUU);
+        // 获取全部不良品入库单
+        getBadInAll(snapshots, enUU);
+        // 获取全部不良品出库单
+        getBadOutAll(snapshots, enUU);
+        // 获取全部MRB单
+        getMrbAll(snapshots, enUU);
+        // 获取全部应付发票
+        getApbillAll(snapshots, enUU);
+        // 获取全部应付对账单
+        getArCheckAll(snapshots, enUU);
+        // 获取待处理应付对账单
+        getArCheckTodo(snapshots, enUU);
+        // 获取待处理应收对账单
+        getApcheckTodo(snapshots, enUU);
+        // 获取购物车数量
+        getCart(snapshots, enUU);
+        // 获取待报价模具询价
+        getInquiryMouldTodo(snapshots, enUU);
+        // 获取待回复主动报价
+        getSaleQuotationTodo(snapshots, enUU);
+        // 获取待处理采购招标单
+        getTenderTodo(snapshots, enUU);
+        // 获取待处理招标单
+        getSaleTenderTodo(snapshots, enUU);
+        // 获取待评标招标单
+        getSaleTenderWaiting(snapshots, enUU);
+        return snapshots;
+    }
+
+    /**
+     * 获取待评标招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleTenderWaiting(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'saletenderwaiting' as category, ? as enuu, count(1) as count from v$purc$tender " +
+                "where pt_ispublish = 1 and pt_overdue = 1 and pt_result = 0 and pt_status = '待评标' and pt_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleTenderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'saletendertodo' as category, ? as enuu, count(1) as count from v$purc$tender" +
+                " where pt_ispublish = 1  and pt_overdue = 0 and pt_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理采购招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getTenderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'tendertodo' as category, ? as enuu, count(1) as count from v$purc$tender" +
+                " left join sale$tender on st_code = pt_code and st_enuu = pt_enuu " +
+                " where pt_ispublish = 1 and v$purc$tender.pt_overdue = 0 and st_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复主动报价
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleQuotationTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquirytodo' as category, ? as enuu, count(1) as count from sale$quotationitem " +
+                "left join sale$quotation on qu_id = qd_quid  where qu_status = 100 and qu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待报价模具询价
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryMouldTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = " select 'inquirymouldtodo' as category, ? as enuu, count(1) as count from purc$inquirymould " +
+                "where im_status = 200 and im_valid = 1 and im_overdue = 0 and im_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取购物车数量
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getCart(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'carttodo' as category, ? as enuu, count(1) as count from purc$orders where pu_status = 311 and pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理应收对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApcheckTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'apchecktodo' as category, ? as enuu, count(1) as count from purc$apcheck where pa_checkstatus = '未对账' and pa_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理应付对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getArCheckTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'archecktoconfirm' as category, ? as enuu, count(1) as count from sale$archeck where sac_status = 200 and sac_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部应付对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getArCheckAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'archeckall' as category, ? as enuu, count(1) as count from sale$archeck where sac_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部应付发票
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApbillAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'apbillall' as category, ? as enuu, count(1) as count from purc$apbill where pad_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部MRB单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMrbAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'mrb' as category, ? as enuu, count(1) as count from purc$mrb where pm_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部不良品出库单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getBadOutAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salebadout' as category, ? as enuu, count(1) as count from purc$badout where po_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部不良品入库单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getBadInAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salebadin' as category, ? as enuu, count(1) as count from purc$badin where pb_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOutAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeoutorderall' as category,  ? as enuu, count(1) as count from  make$orders where ma_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外验退单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeReturnAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makereturnall' as category, ? as enuu, count(1) as count from make$return where mr_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外验收单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeAcceptAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeacceptall' as category, ? as enuu, count(1) as count from make$accept where ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外变更单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeChangeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorderchangeall' as category, ? as enuu, count(1) as count from make$changeitems where mcd_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOrderAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorder' as category, ? as enuu, count(1) as count from make$orders  where ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复客户委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOrderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorder' as category, ? as enuu, count(1) as count from make$orders  where ma_status = 200 and ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取已收料发货单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleSendDone(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salesendverify' as category, ? as enuu, count(1) as count from sale$send where ss_verifystatus = 1 and ss_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部发货单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleSendAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salesend' as category, ? as enuu, count(1) as count from sale$send where ss_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部送样认定单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApprovalAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'approval' as category, ? as enuu, count(1) as count from purc$proofingapproval where psa_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部打样申请
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSampleAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'sample' as category, ? as enuu, count(1) as count from  purc$proofingitems where ppi_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待送样打样申请
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSampleTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'sample' as category, ? as enuu, count(1) as count from  purc$proofingitems where ppi_status = 401 and ppi_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户采购验退单(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderReturnAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'returnsall' as category, ? as enuu, count(1) as count from purc$return where pr_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户采购验收单(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderAcceptAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'acceptall' as category, ? as enuu, count(1) as count from purc$accept where pa_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户发货提醒(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderNoticeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'notice' as category, ? as enuu, count(1) as count from purc$notice where pn_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户发货提醒(待发货)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderNoticeTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'notice' as category, ? as enuu, count(1) as count from purc$notice where pn_status = 200 and pn_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复采购变更单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleChangeTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderchange' as category, ? as enuu, count(1) as count from purc$changes " +
+                "where pc_status = 200 and pc_unneedreply = 0 and pc_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购变更单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleChangeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderchangeall' as category, ? as enuu, count(1) as count from purc$changes where pc_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseOrderAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderall' as category, ? as enuu, count(1) as count from purc$orders where pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购订单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'order' as category, ? as enuu, count(1) as count from purc$orders where pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复采购单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseOrderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'order' as category, ? as enuu, count(1) as count from purc$orders where pu_status = 200 and pu_end <> 1 and pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理询价单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseInquiryTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'purcinquiry' as category, ? as enuu, count(1) as count from v$purc$inquiryitems d" +
+                " left join v$purc$inquiry i on i.in_id = d.id_inid " +
+                " where d.id_status = 200 and i.in_overdue = 0 and i.in_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部询价单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquiryall' as category, ? as enuu, count(1) as count from v$purc$inquiryitems where id_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理询价单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquiry' AS category, ? AS enuu, count(1) as count from v$purc$inquiryitems" +
+                " left join v$purc$inquiry on id_inid = in_id " +
+                "where id_status = 200 and in_overdue <> 1 and id_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
     }
 }

+ 550 - 0
src/test/java/com/uas/platform/b2b/purc/SnapShotTest.java

@@ -0,0 +1,550 @@
+package com.uas.platform.b2b.purc;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.platform.b2b.BaseJunitTest;
+import com.uas.platform.b2b.dao.CommonDao;
+import com.uas.platform.b2b.model.Snapshot;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 快照测试
+ *
+ * @author hejq
+ * @date 2018-08-21 15:07
+ */
+public class SnapShotTest extends BaseJunitTest {
+
+    @Autowired
+    private CommonDao commonDao;
+
+    @Test
+    public void testGetSnapShot() {
+        Long enUU = 10041166L;
+        Long start = System.currentTimeMillis();
+
+        List<Snapshot> snapshots = new ArrayList<>();
+
+        // 获取待处理客户询价单
+        getInquiryTodo(snapshots, enUU);
+
+        // 获取全部客户询价单
+        getInquiryAll(snapshots, enUU);
+
+        // 获取待处理采购询价单
+        getPurchaseInquiryTodo(snapshots, enUU);
+
+        // 获取全部采购订单
+        getPurchaseAll(snapshots, enUU);
+
+        // 获取待回复采购订单
+        getPurchaseOrderTodo(snapshots, enUU);
+
+        // 获取全部采购订单
+        getPurchaseOrderAll(snapshots, enUU);
+
+        // 获取全部客户采购变更单
+        getSaleChangeAll(snapshots, enUU);
+
+        // 获取待处理客户采购变更单
+        getSaleChangeTodo(snapshots, enUU);
+
+        // 获取客户发货提醒(待发货)
+        getSaleOrderNoticeTodo(snapshots, enUU);
+
+        // 获取客户发货提醒(全部)
+        getSaleOrderNoticeAll(snapshots, enUU);
+
+        // 获取客户采购验收单(全部)
+        getSaleOrderAcceptAll(snapshots, enUU);
+
+        // 获取客户采购验退单(全部)
+        getSaleOrderReturnAll(snapshots, enUU);
+
+        // 获取待送样打样申请
+        getSampleTodo(snapshots, enUU);
+
+        // 获取全部打样申请
+        getSampleAll(snapshots, enUU);
+
+        // 获取全部送样认定单
+        getApprovalAll(snapshots, enUU);
+
+        // 获取全部发货单
+        getSaleSendAll(snapshots, enUU);
+
+        // 获取已收料发货单
+        getSaleSendDone(snapshots, enUU);
+
+        // 获取待回复客户委外单
+        getMakeOrderTodo(snapshots, enUU);
+
+        // 获取全部客户委外单
+        getMakeOrderAll(snapshots, enUU);
+
+        // 获取全部客户委外变更单
+        getMakeChangeAll(snapshots, enUU);
+
+        // 获取全部客户委外验收单
+        getMakeAcceptAll(snapshots, enUU);
+
+        // 获取全部客户委外验退单
+        getMakeReturnAll(snapshots, enUU);
+
+        // 获取全部委外单
+        getMakeOutAll(snapshots, enUU);
+
+        // 获取全部不良品入库单
+        getBadInAll(snapshots, enUU);
+
+        // 获取全部不良品出库单
+        getBadOutAll(snapshots, enUU);
+
+        // 获取全部MRB单
+        getMrbAll(snapshots, enUU);
+
+        // 获取全部应付发票
+        getApbillAll(snapshots, enUU);
+
+        // 获取全部应付对账单
+        getArCheckAll(snapshots, enUU);
+
+        // 获取待处理应付对账单
+        getArCheckTodo(snapshots, enUU);
+
+        // 获取待处理应收对账单
+        getApcheckTodo(snapshots, enUU);
+
+        // 获取购物车数量
+        getCart(snapshots, enUU);
+
+        // 获取待报价模具询价
+        getInquiryMouldTodo(snapshots, enUU);
+
+        // 获取待回复主动报价
+        getSaleQuotationTodo(snapshots, enUU);
+
+        // 获取待处理采购招标单
+        getTenderTodo(snapshots, enUU);
+
+        // 获取待处理招标单
+        getSaleTenderTodo(snapshots, enUU);
+
+        // 获取待评标招标单
+        getSaleTenderWaiting(snapshots, enUU);
+
+        System.out.println(JSON.toJSONString(snapshots));
+
+        System.out.println("cost ->" + (System.currentTimeMillis() - start));
+    }
+
+    /**
+     * 获取待评标招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleTenderWaiting(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'saletenderwaiting' as category, ? as enuu, count(1) as count from v$purc$tender " +
+                "where pt_ispublish = 1 and pt_overdue = 1 and pt_result = 0 and pt_status = '待评标' and pt_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleTenderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'saletendertodo' as category, ? as enuu, count(1) as count from v$purc$tender" +
+                " where pt_ispublish = 1  and pt_overdue = 0 and pt_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理采购招标单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getTenderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'tendertodo' as category, ? as enuu, count(1) as count from v$purc$tender" +
+                " left join sale$tender on st_code = pt_code and st_enuu = pt_enuu " +
+                " where pt_ispublish = 1 and v$purc$tender.pt_overdue = 0 and st_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复主动报价
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleQuotationTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquirytodo' as category, ? as enuu, count(1) as count from sale$quotationitem " +
+                "left join sale$quotation on qu_id = qd_quid  where qu_status = 100 and qu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待报价模具询价
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryMouldTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = " select 'inquirymouldtodo' as category, ? as enuu, count(1) as count from purc$inquirymould " +
+                "where im_status = 200 and im_valid = 1 and im_overdue = 0 and im_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取购物车数量
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getCart(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'carttodo' as category, ? as enuu, count(1) as count from purc$orders where pu_status = 311 and pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理应收对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApcheckTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'apchecktodo' as category, ? as enuu, count(1) as count from purc$apcheck where pa_checkstatus = '未对账' and pa_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理应付对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getArCheckTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'archecktoconfirm' as category, ? as enuu, count(1) as count from sale$archeck where sac_status = 200 and sac_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部应付对账单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getArCheckAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'archeckall' as category, ? as enuu, count(1) as count from sale$archeck where sac_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部应付发票
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApbillAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'apbillall' as category, ? as enuu, count(1) as count from purc$apbill where pad_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部MRB单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMrbAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'mrb' as category, ? as enuu, count(1) as count from purc$mrb where pm_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部不良品出库单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getBadOutAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salebadout' as category, ? as enuu, count(1) as count from purc$badout where po_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部不良品入库单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getBadInAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salebadin' as category, ? as enuu, count(1) as count from purc$badin where pb_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOutAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeoutorderall' as category,  ? as enuu, count(1) as count from  make$orders where ma_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外验退单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeReturnAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makereturnall' as category, ? as enuu, count(1) as count from make$return where mr_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外验收单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeAcceptAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeacceptall' as category, ? as enuu, count(1) as count from make$accept where ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外变更单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeChangeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorderchangeall' as category, ? as enuu, count(1) as count from make$changeitems where mcd_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部客户委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOrderAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorder' as category, ? as enuu, count(1) as count from make$orders  where ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复客户委外单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getMakeOrderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'makeorder' as category, ? as enuu, count(1) as count from make$orders  where ma_status = 200 and ma_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取已收料发货单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleSendDone(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salesendverify' as category, ? as enuu, count(1) as count from sale$send where ss_verifystatus = 1 and ss_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部发货单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleSendAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'salesend' as category, ? as enuu, count(1) as count from sale$send where ss_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部送样认定单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getApprovalAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'approval' as category, ? as enuu, count(1) as count from purc$proofingapproval where psa_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部打样申请
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSampleAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'sample' as category, ? as enuu, count(1) as count from  purc$proofingitems where ppi_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待送样打样申请
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSampleTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'sample' as category, ? as enuu, count(1) as count from  purc$proofingitems where ppi_status = 401 and ppi_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户采购验退单(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderReturnAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'returnsall' as category, ? as enuu, count(1) as count from purc$return where pr_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户采购验收单(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderAcceptAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'acceptall' as category, ? as enuu, count(1) as count from purc$accept where pa_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户发货提醒(全部)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderNoticeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'notice' as category, ? as enuu, count(1) as count from purc$notice where pn_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取客户发货提醒(待发货)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleOrderNoticeTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'notice' as category, ? as enuu, count(1) as count from purc$notice where pn_status = 200 and pn_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复采购变更单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleChangeTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderchange' as category, ? as enuu, count(1) as count from purc$changes " +
+                "where pc_status = 200 and pc_unneedreply = 0 and pc_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购变更单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getSaleChangeAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderchangeall' as category, ? as enuu, count(1) as count from purc$changes where pc_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseOrderAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'orderall' as category, ? as enuu, count(1) as count from purc$orders where pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部采购订单
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'order' as category, ? as enuu, count(1) as count from purc$orders where pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待回复采购单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseOrderTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'order' as category, ? as enuu, count(1) as count from purc$orders where pu_status = 200 and pu_end <> 1 and pu_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理询价单(客户)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getPurchaseInquiryTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'purcinquiry' as category, ? as enuu, count(1) as count from v$purc$inquiryitems d" +
+                " left join v$purc$inquiry i on i.in_id = d.id_inid " +
+                " where d.id_status = 200 and i.in_overdue = 0 and i.in_enuu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取全部询价单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryAll(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquiryall' as category, ? as enuu, count(1) as count from v$purc$inquiryitems where id_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+
+    /**
+     * 获取待处理询价单(供应商)
+     *
+     * @param snapshots 快照
+     * @param enUU 企业UU
+     */
+    private void getInquiryTodo(List<Snapshot> snapshots, Long enUU) {
+        String sql = "select 'inquiry' AS category, ? AS enuu, count(1) as count from v$purc$inquiryitems" +
+                " left join v$purc$inquiry on id_inid = in_id " +
+                "where id_status = 200 and in_overdue <> 1 and id_venduu = ?";
+        snapshots.addAll(commonDao.query(sql, Snapshot.class, enUU, enUU));
+    }
+}