|
|
@@ -0,0 +1,188 @@
|
|
|
+package com.uas.platform.b2b.purc;
|
|
|
+
|
|
|
+import com.uas.platform.b2b.BaseJunitTest;
|
|
|
+import com.uas.platform.b2b.dao.CommonDao;
|
|
|
+import com.uas.platform.b2b.model.OrderType;
|
|
|
+import org.apache.poi.util.StringUtil;
|
|
|
+import org.junit.Test;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * 红点数据复制方法
|
|
|
+ * 1. 设置 BaseJunitTest 中@TransactionConfiguration 设为false
|
|
|
+ * @see BaseJunitTest
|
|
|
+ * 2. 新建临时表 语句 redDot.sql中
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-09-28 15:19
|
|
|
+ */
|
|
|
+public class RedDotTest extends BaseJunitTest {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CommonDao commonDao;
|
|
|
+
|
|
|
+ private static final String sql = "insert into reddot$all (red_date, red_enuu, red_orid,red_ortype, red_venduu) ";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 复制数据到全部消息
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void batchInsertIntoRedAll() {
|
|
|
+
|
|
|
+ // 采购
|
|
|
+ String purchaseSql = sql + "select now(), pu_enuu,pu_id,'purc', pu_venduu from purc$orders left join reddot_template on pu_id = rt_orderid where rt_table = 'purc$orders' and pu_id is not null";
|
|
|
+ commonDao.getJdbcTemplate().execute(purchaseSql.toString());
|
|
|
+
|
|
|
+ // 采购变更
|
|
|
+ String purchaseChangeSql = sql + "select now(), pc_enuu,pc_id,'saleChange', pc_venduu from purc$changes left join reddot_template on pc_id = rt_orderid where rt_table = 'purc$changes'";
|
|
|
+ commonDao.getJdbcTemplate().execute(purchaseChangeSql.toString());
|
|
|
+
|
|
|
+ // 发货提醒
|
|
|
+ String purchaseNoticeSql = sql + "select now(), pn_enuu,pn_id,'salenotice', pn_venduu from purc$notice left join reddot_template on pn_id = rt_orderid where rt_table = 'purc$notice'";
|
|
|
+ commonDao.getJdbcTemplate().execute(purchaseNoticeSql.toString());
|
|
|
+
|
|
|
+ // 对账单
|
|
|
+ String apCheckSql = sql + "select now(), pa_custuu,pa_id,'apcheck', pa_enuu from purc$apcheck left join reddot_template on pa_id = rt_orderid where rt_table = 'purc$apcheck'";
|
|
|
+ commonDao.getJdbcTemplate().execute(apCheckSql.toString());
|
|
|
+
|
|
|
+ // 供应商关系
|
|
|
+ String vendorSql = sql + "select now(), ve_myenuu,ve_id,'vendors', ve_vendenuu from purc$vendors left join reddot_template on ve_id = rt_orderid where rt_table = 'purc$vendors'";
|
|
|
+ commonDao.getJdbcTemplate().execute(vendorSql.toString());
|
|
|
+
|
|
|
+ // 打样申请
|
|
|
+ String proofSql = sql + "select now(), pp_enuu,ppi_id,'proofing', ppi_venduu from purc$proofingitems " +
|
|
|
+ "left join reddot_template on ppi_id = rt_orderid " +
|
|
|
+ "left join purc$proofing on ppi_ppid = pp_id " +
|
|
|
+ "where rt_table = 'purc$proofingitems'";
|
|
|
+ commonDao.getJdbcTemplate().execute(proofSql.toString());
|
|
|
+
|
|
|
+ // 应付发票
|
|
|
+ String arCheckSql = sql + "select now(), sac_enuu,saci_id,'saleArCheck',sac_venduu from sale$archeckitems " +
|
|
|
+ "left join reddot_template on saci_id = rt_orderid " +
|
|
|
+ "left join sale$archeck on saci_sacid = sac_id" +
|
|
|
+ " where rt_table = 'sale$archeckitems'";
|
|
|
+ commonDao.getJdbcTemplate().execute(arCheckSql.toString());
|
|
|
+
|
|
|
+ // 询价
|
|
|
+ String inquirySql = sql + "select now(), in_enuu,id_id,'purcinquiry',id_venduu from purc$inquiryitems " +
|
|
|
+ "left join reddot_template on id_id = rt_orderid " +
|
|
|
+ "left join purc$inquiry on id_inid = in_id " +
|
|
|
+ "where rt_table = 'v$purc$inquiryitems'";
|
|
|
+ commonDao.getJdbcTemplate().execute(inquirySql.toString());
|
|
|
+
|
|
|
+ // 模具询价
|
|
|
+ String inquiryMouldSql = sql + "select now(), im_enuu,im_id,'inquirymould',im_venduu from purc$inquirymould " +
|
|
|
+ "left join reddot_template on im_id = rt_orderid " +
|
|
|
+ "where rt_table in ('v$purc$inquirymould', 'v$purc$inquiry_mould')";
|
|
|
+ commonDao.getJdbcTemplate().execute(inquiryMouldSql.toString());
|
|
|
+
|
|
|
+ // 招标单
|
|
|
+ String tenderSql = sql + "select now(), st_enuu,st_ptid,'purchaseTender',st_venduu from sale$tender " +
|
|
|
+ "left join reddot_template on st_ptid = rt_orderid " +
|
|
|
+ "where rt_table = 'v$purc$tender'";
|
|
|
+ commonDao.getJdbcTemplate().execute(tenderSql.toString());
|
|
|
+
|
|
|
+ // 供应商绩效考核
|
|
|
+ String vpaSql = sql + "select now(), enuu,id,'vendorPerformanceAssess',vpa_veuu from vendorperformanceassess " +
|
|
|
+ "left join reddot_template on id = rt_orderid " +
|
|
|
+ "where rt_table = 'vendorperformanceassess'";
|
|
|
+ commonDao.getJdbcTemplate().execute(vpaSql.toString());
|
|
|
+
|
|
|
+ // 委外单
|
|
|
+ String makeSql = sql + "select now(), ma_enuu,ma_id,'makeOrder',ma_venduu from make$orders " +
|
|
|
+ "left join reddot_template on ma_id = rt_orderid " +
|
|
|
+ "where rt_table = 'make$orders'";
|
|
|
+ commonDao.getJdbcTemplate().execute(makeSql.toString());
|
|
|
+
|
|
|
+ // 委外变更单明细
|
|
|
+ String makeChangeItemSql = sql + "select now(), mc_enuu,mcd_id,'makeChangeItem',mcd_venduu from make$changeitems " +
|
|
|
+ "left join `make$changes` on mcd_pcid = mc_id " +
|
|
|
+ "left join reddot_template on mcd_id = rt_orderid " +
|
|
|
+ "where rt_table = 'make$changeitems'";
|
|
|
+ commonDao.getJdbcTemplate().execute(makeChangeItemSql.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 复制数据到已读消息列表
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void batchInsertIntoRedDone() {
|
|
|
+ //采购单
|
|
|
+ Object[] objects = new Object[]{OrderType.purc.name(), "purc$orders"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 采购变更
|
|
|
+ objects = new Object[]{OrderType.saleChange.name(), "purc$changes"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 发货提醒
|
|
|
+ objects = new Object[]{OrderType.salenotice.name(), "purc$notice"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 对账单
|
|
|
+ objects = new Object[]{OrderType.apcheck.name(), "purc$apcheck"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 供应商关系
|
|
|
+ objects = new Object[]{OrderType.vendors.name(), "purc$vendors"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 打样申请
|
|
|
+ objects = new Object[]{OrderType.proofing.name(), "purc$proofingitems"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 应付发票
|
|
|
+ objects = new Object[]{OrderType.saleArCheck.name(), "sale$archeckitems"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 询价
|
|
|
+ objects = new Object[]{OrderType.purcinquiry.name(), "v$purc$inquiryitems"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 模具询价
|
|
|
+ objects = new Object[]{OrderType.inquirymould.name(), "v$purc$inquirymould"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 模具询价
|
|
|
+ objects = new Object[]{OrderType.inquirymould.name(), "v$purc$inquiry_mould"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 招标单
|
|
|
+ objects = new Object[]{OrderType.purchaseTender.name(), "v$purc$tender"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 供应商绩效考核
|
|
|
+ objects = new Object[]{OrderType.vendorPerformanceAssess.name(), "vendorperformanceassess"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 委外单
|
|
|
+ objects = new Object[]{OrderType.makeOrder.name(), "make$orders"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+
|
|
|
+ // 委外变更单明细
|
|
|
+ objects = new Object[]{OrderType.makeChangeItem.name(), "make$changeitems"};
|
|
|
+ insertIntoRedDoneByKind(objects);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 插入已读红点列表
|
|
|
+ *
|
|
|
+ * @param objects 参数
|
|
|
+ */
|
|
|
+ public void insertIntoRedDoneByKind(Object[] objects) {
|
|
|
+ String sql = "insert into `reddot$done` (red_done_date,red_done_enuu,red_done_useruu,red_done_orid,red_done_ortype) " +
|
|
|
+ "select coalesce(puo_readdate, now()),puo_enuu,puo_useruu,puo_sourceid,'%' from `purc$userorders` where puo_readstatus = 211 and puo_table = '%'";
|
|
|
+ commonDao.getJdbcTemplate().execute(StringUtil.format(sql, objects));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 绑定消息列表和已读列表关系
|
|
|
+ */
|
|
|
+ @Test
|
|
|
+ public void bindAllAndDone() {
|
|
|
+ String sql = "update reddot$done join reddot$all on red_done_ortype = red_ortype and red_done_orid = red_orid " +
|
|
|
+ "set red_done_redid = red_id where red_id is not null and red_done_id is not null";
|
|
|
+ commonDao.getJdbcTemplate().execute(sql);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|