Browse Source

结案送货提醒增加操作日志,记录处理id详情,方便查询对比

hejq 7 years ago
parent
commit
2341de6664

+ 6 - 2
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseNotifyController.java

@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -196,11 +197,14 @@ public class PurchaseNotifyController {
 	 */
 	@RequestMapping(value = "/end", method = RequestMethod.POST)
 	@ResponseBody
-	public void end(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public List<String> end(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseNotify> ends = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseNotify.class);
-		purchaseNoticeService.end(ends);
+		String string = purchaseNoticeService.end(ends);
 		logger.log("送货提醒", "上传结案送货提醒", ends.size());
+		List<String> strings = new ArrayList<>();
+		strings.add(string);
+		return strings;
 	}
 
 	/**

+ 2 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseNoticeEnd.java

@@ -24,8 +24,10 @@ public class PurchaseNoticeEnd implements Serializable {
 	 * 
 	 */
 	private static final long serialVersionUID = 1L;
+
 	@Id
 	@Column(name = "pn_id")
+    @GeneratedValue(strategy = GenerationType.AUTO)
 	private Long id;
 
 	/**

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

@@ -40,9 +40,9 @@ public interface PurchaseNoticeService {
 	 * 批量结案客户送货提醒
 	 * 
 	 * @param notifies
-	 * @return
+	 * @return id串
 	 */
-	void end(List<PurchaseNotify> notifies);
+	String end(List<PurchaseNotify> notifies);
 
 	/**
 	 * 分页查找送货提醒单

+ 18 - 2
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -315,7 +315,7 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 	}
 
 	@Override
-	public void end(List<PurchaseNotify> notifies) {
+	public String end(List<PurchaseNotify> notifies) {
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		List<PurchaseNoticeEnd> noticeList = noticeEndDao.findByEnUUAndSourceIdList(enUU, CollectionUtil.getKeyCollection(notifies));
 		if (!CollectionUtils.isEmpty(noticeList)) {
@@ -325,7 +325,23 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
                 notice.setErpDate(new Date(System.currentTimeMillis()));
             }
         }
-        noticeEndDao.save(noticeList);
+		noticeList = noticeEndDao.save(noticeList);
+		StringBuffer buffer = new StringBuffer();
+		List<Long> idList = new ArrayList<>();
+		noticeList.forEach(notice -> {
+            if (buffer.length() > 0) {
+                buffer.append(",");
+            }
+            buffer.append(notice.getSourceId());
+            idList.add(notice.getId());
+		});
+		int maxIdNum = 50;
+		if (idList.size() > 0) {
+            List<List<Long>> ids = SplitArray.splitAry(idList, maxIdNum);
+            final Long userUU = SystemSession.getUser().getUserUU();
+            ids.forEach(idString -> logger.log(userUU, enUU, "结案送货提醒", "ERP上传单据结案送货提醒", idString.toString()));
+        }
+        return buffer.toString();
 	}
 
 	@Override

+ 57 - 3
src/test/java/com/uas/platform/b2b/purc/PurchaseNotify.java

@@ -1,14 +1,18 @@
 package com.uas.platform.b2b.purc;
 
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.BaseJunitTest;
+import com.uas.platform.b2b.dao.CommunalLogDao;
 import com.uas.platform.b2b.dao.PurchaseNoticeDao;
+import com.uas.platform.b2b.dao.PurchaseNoticeEndDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
-import com.uas.platform.b2b.model.Product;
-import com.uas.platform.b2b.model.PurchaseNotice;
-import com.uas.platform.b2b.model.PurchaseOrderItem;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.ProductUtils;
+import com.uas.platform.b2b.support.CollectionUtil;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.model.Status;
 import com.uas.sso.support.Page;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -141,4 +145,54 @@ public class PurchaseNotify extends BaseJunitTest {
         System.out.println(productPage);
     }
 
+    @Autowired
+    private PurchaseNoticeEndDao noticeEndDao;
+
+    @Test
+    public void end() {
+        List<com.uas.platform.b2b.erp.model.PurchaseNotify> notifies = new ArrayList<>();
+        com.uas.platform.b2b.erp.model.PurchaseNotify notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(21819L);
+        notifies.add(notify);
+        notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(23145L);
+        notifies.add(notify);
+        notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(23447L);
+        notifies.add(notify);
+        notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(23568L);
+        notifies.add(notify);
+        notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(24207L);
+        notifies.add(notify);
+        notify = new com.uas.platform.b2b.erp.model.PurchaseNotify();
+        notify.setPn_id(24304L);
+        notifies.add(notify);
+        Long enUU = 10041166L;
+        List<Long> idList = CollectionUtil.getKeyCollection(notifies);
+        List<PurchaseNoticeEnd> noticeList = noticeEndDao.findByEnUUAndSourceIdList(enUU, idList);
+        noticeList.forEach(notice -> {
+            notice.setEnd(Constant.YES);
+            notice.setEndStatus((short) Status.DOWNLOADED.value());
+            notice.setErpDate(new Date(System.currentTimeMillis()));
+        });
+        noticeList = noticeEndDao.save(noticeList);
+        System.out.println(JSON.toJSONString(noticeList));
+    }
+
+    @Autowired
+    private CommunalLogDao logDao;
+    @Test
+    @Transactional(rollbackFor = RuntimeException.class)
+    public void jpaSave() {
+        CommunalLog log = logDao.findOne(11868L);
+        /*log.setDetail("测试JPA保存");
+        log.setEnUU(10041166L);
+        log.setTitle("测试JPA");
+        log.setTime(System.currentTimeMillis());
+        log.setUserUU(1000001615L);
+        log = logDao.save(log);*/
+        System.out.println(JSON.toJSONString(log));
+    }
 }