Browse Source

更新发货提醒结案状态保存方法

hejq 7 years ago
parent
commit
0de81474bf

+ 0 - 10
src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeDao.java

@@ -31,16 +31,6 @@ public interface PurchaseNoticeDao extends JpaSpecificationExecutor<PurchaseNoti
 	 */
 	List<PurchaseNotice> findByEnUUAndSourceId(long enUU, long sourceId);
 
-    /**
-     * 通过企业UU和来源id查询发货提醒
-     *
-     * @param enUU 企业UU
-     * @param sourceIdList 来源ID
-     * @return
-     */
-    @Query("select n from PurchaseNotice n where n.enUU = :enUU and n.sourceId in (:sourceIdList)")
-    List<PurchaseNotice> findByEnUUAndSourceIdList(@Param("enUU") Long enUU, @Param("sourceIdList") List<Long> sourceIdList);
-
     /**
      * 按供应商企业ID和传输状态查找送货提醒单
      *

+ 30 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeEndDao.java

@@ -0,0 +1,30 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseNoticeEnd;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 发货提醒结案状态
+ *
+ * @author hejq
+ * @date 2018-07-20 9:16
+ */
+@Repository
+public interface PurchaseNoticeEndDao extends JpaRepository<PurchaseNoticeEnd, Long>, JpaSpecificationExecutor<PurchaseNoticeEnd> {
+
+    /**
+     * 通过企业UU和来源id查询发货提醒
+     *
+     * @param enUU 企业UU
+     * @param sourceIdList 来源ID
+     * @return
+     */
+    @Query("select n from PurchaseNoticeEnd n where n.enUU = :enUU and n.sourceId in (:sourceIdList)")
+    List<PurchaseNoticeEnd> findByEnUUAndSourceIdList(@Param("enUU") Long enUU, @Param("sourceIdList") List<Long> sourceIdList);
+}

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

@@ -0,0 +1,124 @@
+package com.uas.platform.b2b.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 客户送货提醒
+ * <pre>
+ *     结案操作调用
+ * </pre>
+ * 
+ * @author hejq
+ * @date 2018-07-20 9:13
+ */
+@Table(name = "purc$notice", indexes = {
+        @Index(name = "unique_enuu_sourceid", columnList = "pn_enuu,pn_sourceid", unique = true)
+})
+@Entity
+public class PurchaseNoticeEnd implements Serializable {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	@Id
+	@Column(name = "pn_id")
+	private Long id;
+
+	/**
+	 * 来源系统的送货提醒ID
+	 */
+	@Column(name = "pn_sourceid")
+	private Long sourceId;
+
+	/**
+	 * 送货提醒单所属企业UU
+	 */
+	@Column(name = "pn_enuu")
+	private Long enUU;
+
+	/**
+	 * 卖家企业UU
+	 */
+	@Column(name = "pn_venduu")
+	private Long vendUU;
+
+	/**
+	 * 是否已结案
+	 */
+	@Column(name = "pn_end")
+	private Short end;
+
+	/**
+	 * 结案状态是否已传输到卖家ERP的情况
+	 */
+	@Column(name = "pn_endstatus")
+	private Short endStatus;
+
+	/**
+	 * 保存erp传入数据的时间
+	 * 
+	 * @return
+	 */
+	@Column(name = "pn_erpdate")
+	private Date erpDate;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getSourceId() {
+        return sourceId;
+    }
+
+    public void setSourceId(Long sourceId) {
+        this.sourceId = sourceId;
+    }
+
+    public Long getEnUU() {
+        return enUU;
+    }
+
+    public void setEnUU(Long enUU) {
+        this.enUU = enUU;
+    }
+
+    public Long getVendUU() {
+        return vendUU;
+    }
+
+    public void setVendUU(Long vendUU) {
+        this.vendUU = vendUU;
+    }
+
+    public Short getEnd() {
+        return end;
+    }
+
+    public void setEnd(Short end) {
+        this.end = end;
+    }
+
+    public Short getEndStatus() {
+        return endStatus;
+    }
+
+    public void setEndStatus(Short endStatus) {
+        this.endStatus = endStatus;
+    }
+
+    public Date getErpDate() {
+        return erpDate;
+    }
+
+    public void setErpDate(Date erpDate) {
+        this.erpDate = erpDate;
+    }
+}

+ 10 - 15
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -5,7 +5,6 @@ import com.uas.platform.b2b.core.util.SplitArray;
 import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.PurchaseNotify;
-import com.uas.platform.b2b.event.PurchaseNoticeEndReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseNoticeSaveReleaseEvent;
 import com.uas.platform.b2b.event.SaleSendAcceptReleaseEvent;
 import com.uas.platform.b2b.event.SaleSendRefuseReleaseEvent;
@@ -13,7 +12,10 @@ import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.service.PersonalProductService;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseNoticeService;
-import com.uas.platform.b2b.support.*;
+import com.uas.platform.b2b.support.CollectionUtil;
+import com.uas.platform.b2b.support.SPageUtils;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
@@ -106,6 +108,9 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 	@Autowired
 	private PurchaseOrderItemDao orderItemDao;
 
+	@Autowired
+	private PurchaseNoticeEndDao noticeEndDao;
+
     /**
      * 最多数量
      */
@@ -316,25 +321,15 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 	@Override
 	public void end(List<PurchaseNotify> notifies) {
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
-		List<PurchaseNotice> saveList = new ArrayList<>();
-		List<PurchaseNotice> noticeList = purchaseNoticeDao.findByEnUUAndSourceIdList(enUU, CollectionUtil.getKeyCollection(notifies));
+		List<PurchaseNoticeEnd> noticeList = noticeEndDao.findByEnUUAndSourceIdList(enUU, CollectionUtil.getKeyCollection(notifies));
 		if (!CollectionUtils.isEmpty(noticeList)) {
-		    for (PurchaseNotice notice : noticeList) {
+		    for (PurchaseNoticeEnd notice : noticeList) {
                 notice.setEnd(Constant.YES);
                 notice.setEndStatus((short) Status.NOT_UPLOAD.value());
                 notice.setErpDate(new Date(System.currentTimeMillis()));
-                saveList.add(notice);
-                // 推送结案送回提醒给采购单供应商联系人
-                Long vendUserUU = notice.getOrderItem().getOrder().getVendUserUU();
-                if (vendUserUU != null) {
-                    UserBaseInfo user = userBaseInfoDao.findOne(vendUserUU);
-                    XingePusher.pushByUser(user, "客户取消了送货提醒", "物料:" + notice.getOrderItem().getProduct().getTitle(), "",
-                            "");
-                }
             }
         }
-        purchaseNoticeDao.save(saveList);
-		ContextUtils.publishEvent(new PurchaseNoticeEndReleaseEvent(saveList));
+        noticeEndDao.save(noticeList);
 	}
 
 	@Override