Browse Source

feat(apCheckAmount): 合并代码

hejq 7 years ago
parent
commit
983d609d77

+ 17 - 0
db/ddl.sql

@@ -140,6 +140,23 @@ return 0;
 else
 return 1;
 end if;
+end
+
+
+-- date: 2019-01-02 18:51
+-- author: huj
+-- content: ERP主动收料通知明细id
+alter table `sale$senditem`
+  add column si_sourceid bigint(20)  comment 'ERP主动收料通知明细id';
+
+-- date: 2019-01-02 18:51
+-- author: huj
+-- content: ERP主动收料通知id
+alter table `sale$send`
+  add column ss_sourceid bigint(20)  comment 'ERP主动收料通知明细id';
+
+alter table `purc$acceptitem`
+  add column b2b_si_id bigint(20)  comment '送货单明细id';
 end;
 
 -- date: 2019-01-03 13:40

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/SaleSendDao.java

@@ -43,4 +43,13 @@ public interface SaleSendDao extends JpaSpecificationExecutor<SaleSend>, JpaRepo
 	 * @return
 	 */
 	Integer countByUuid(String uuid);
+
+	/**
+	 * 按买方企业UU号和买方收料通知单id查找
+	 *
+	 * @param custUU
+	 * @param sourceId
+	 * @return
+	 */
+	List<SaleSend> findByCustUUAndSourceId(Long custUU, Long sourceId);
 }

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

@@ -186,11 +186,12 @@ public class PurchaseNotifyController {
 	 */
 	@RequestMapping(value = "/accept", method = RequestMethod.POST)
 	@ResponseBody
-	public void send(@RequestParam("data") String data) throws UnsupportedEncodingException {
+	public List<AcceptNotify> send(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<AcceptNotify> accepts = FlexJsonUtils.fromJsonArray(jsonStr, AcceptNotify.class);
 		purchaseNoticeService.send(purchaseNotifyService.convertAcceptNotify(accepts));
 		logger.log("主动收料通知单", "上传主动收料通知单", accepts.size());
+		return purchaseNotifyService.getSaleSendB2bId(accepts);
 	}
 
 	/**

+ 10 - 0
src/main/java/com/uas/platform/b2b/erp/model/AcceptNotify.java

@@ -26,8 +26,17 @@ public class AcceptNotify {
 	private String an_sendcode;
 	private String an_recorder;
 	private Date an_date;
+	private Long an_id;
 	private List<AcceptNotifyDetail> details;
 
+	public Long getAn_id() {
+		return an_id;
+	}
+
+	public void setAn_id(Long an_id) {
+		this.an_id = an_id;
+	}
+
 	public Long getB2b_ss_id() {
 		return b2b_ss_id;
 	}
@@ -173,6 +182,7 @@ public class AcceptNotify {
             }
 		}
 		send.setSendItems(items);
+		send.setSourceId(this.an_id);
 		return send;
 	}
 

+ 20 - 0
src/main/java/com/uas/platform/b2b/erp/model/AcceptNotifyDetail.java

@@ -15,6 +15,7 @@ import org.springframework.util.StringUtils;
  */
 public class AcceptNotifyDetail {
 
+	private Long b2b_si_id;
 	private String and_ordercode;
 	private Short and_orderdetno;
 	private Long and_pnid;
@@ -22,6 +23,15 @@ public class AcceptNotifyDetail {
 	private Double and_price;
 	private String and_remark;
 	private Short and_detno;
+	private Long and_id;
+
+	public Long getB2b_si_id() {
+		return b2b_si_id;
+	}
+
+	public void setB2b_si_id(Long b2b_si_id) {
+		this.b2b_si_id = b2b_si_id;
+	}
 
 	public String getAnd_ordercode() {
 		return and_ordercode;
@@ -79,6 +89,14 @@ public class AcceptNotifyDetail {
 		this.and_pnid = and_pnid;
 	}
 
+	public Long getAnd_id() {
+		return and_id;
+	}
+
+	public void setAnd_id(Long and_id) {
+		this.and_id = and_id;
+	}
+
 	public AcceptNotifyDetail() {
 	}
 
@@ -86,6 +104,7 @@ public class AcceptNotifyDetail {
 	 * 卖家做的发货单,转到买家的收料通知
 	 */
 	public AcceptNotifyDetail(SaleSendItem item) {
+		this.b2b_si_id = item.getId();
 		this.and_detno = item.getNumber();
 		this.and_inqty = item.getQty();
 		this.and_pnid = item.getNotice().getSourceId();
@@ -112,6 +131,7 @@ public class AcceptNotifyDetail {
 		item.setPrice(this.and_price);
 		item.setQty(this.and_inqty);
 		item.setRemark(this.and_remark);
+		item.setSourceId(this.and_id);
 		PurchaseOrder order = new PurchaseOrder();
 		order.setCode(this.and_ordercode);
 		PurchaseOrderItem orderItem = new PurchaseOrderItem();

+ 14 - 1
src/main/java/com/uas/platform/b2b/erp/model/PurchaseProdInOutDetail.java

@@ -29,7 +29,19 @@ public class PurchaseProdInOutDetail {
 	private String pd_remark;// 备注
 	private String pd_prodcode;//物料编号
 	private String pd_whname;//仓库名称
-	
+	/**
+	 * 平台送货单明细id
+	 */
+	private Long b2b_si_id;
+
+	public Long getB2b_si_id() {
+		return b2b_si_id;
+	}
+
+	public void setB2b_si_id(Long b2b_si_id) {
+		this.b2b_si_id = b2b_si_id;
+	}
+
 	public String getPd_prodcode() {
 		return pd_prodcode;
 	}
@@ -134,6 +146,7 @@ public class PurchaseProdInOutDetail {
 		acceptItem.setTaxrate(this.pd_taxrate);
 		acceptItem.setWhname(this.pd_whname);
 		acceptItem.setProdcode(this.pd_prodcode);
+		acceptItem.setSaleSendItemId(this.b2b_si_id);
 		if (StringUtils.hasText(this.pd_ordercode)) {
 			PurchaseOrder order = new PurchaseOrder();
 			order.setCode(this.pd_ordercode);

+ 8 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java

@@ -80,4 +80,12 @@ public interface PurchaseNotifyService {
 	List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList);
 
 	List<PurchaseNotify> getB2bIdByNotices(List<PurchaseNotice> notices);
+
+	/**
+	 * 买家ERP主动收料的记录上传到平台
+	 * 买卖双方直接电话沟通之后,结果由买家填写到ERP系统的情况
+	 * 获取对应的b2b_id
+	 * @return
+	 */
+	List<AcceptNotify> getSaleSendB2bId(List<AcceptNotify> accepts);
 }

+ 39 - 9
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java

@@ -1,17 +1,10 @@
 package com.uas.platform.b2b.erp.service.impl;
 
 import com.uas.platform.b2b.core.util.DateFormatUtils;
-import com.uas.platform.b2b.dao.PurchaseNoticeDao;
-import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
-import com.uas.platform.b2b.dao.SaleSendItemDao;
-import com.uas.platform.b2b.dao.SaleSendItemVerifyDao;
-import com.uas.platform.b2b.erp.model.AcceptNotify;
-import com.uas.platform.b2b.erp.model.AcceptNotifyConfirm;
-import com.uas.platform.b2b.erp.model.AcceptNotifyVerify;
-import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
 import com.uas.platform.b2b.model.PurchaseNotice;
-import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.SaleSend;
 import com.uas.platform.b2b.model.SaleSendItem;
 import com.uas.platform.b2b.model.SaleSendItemVerify;
@@ -48,6 +41,8 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
 	private SaleSendItemVerifyDao saleSendItemVerifyDao;
     @Autowired
     private JdbcTemplate jdbcTemplate;
+    @Autowired
+	private SaleSendDao saleSendDao;
 
 	@Override
 	public List<PurchaseNotice> convertPurchaseNotify(List<PurchaseNotify> notifies) {
@@ -272,4 +267,39 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
 		}
 		return purchaseNotifies;
 	}
+
+	/**
+	 * 买家ERP主动收料的记录上传到平台
+	 * 买卖双方直接电话沟通之后,结果由买家填写到ERP系统的情况
+	 * 获取对应的b2b_id
+	 *
+	 * @param accepts
+	 * @return
+	 */
+	@Override
+	public List<AcceptNotify> getSaleSendB2bId(List<AcceptNotify> accepts) {
+		Long enUU = SystemSession.getUser().getEnterprise().getUu();
+		if (!CollectionUtils.isEmpty(accepts)) {
+			accepts.forEach(accept -> {
+				List<SaleSend> saleSends = saleSendDao.findByCustUUAndSourceId(enUU, accept.getAn_id());
+				if (!CollectionUtils.isEmpty(saleSends)) {
+					accept.setB2b_ss_id(saleSends.get(0).getId());
+					if (!CollectionUtils.isEmpty(saleSends.get(0).getSendItems())) {
+						Set<SaleSendItem> sendItems = saleSends.get(0).getSendItems();
+						List<AcceptNotifyDetail> details = accept.getDetails();
+						if (!CollectionUtils.isEmpty(details)) {
+							for (AcceptNotifyDetail detail : details) {
+								for (SaleSendItem sendItem : sendItems) {
+									if (!StringUtils.isEmpty(detail.getAnd_id()) && detail.getAnd_id().equals(sendItem.getSourceId())) {
+										detail.setB2b_si_id(sendItem.getId());
+									}
+								}
+							}
+						}
+					}
+				}
+			});
+		}
+		return accepts;
+	}
 }

+ 14 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseAcceptItem.java

@@ -104,6 +104,20 @@ public class PurchaseAcceptItem extends AbstractOrderProduct {
 	@Column(name = "pai_ycheckqty")
 	private Integer checkQty;
 
+	/**
+	 * 送货单明细id
+	 */
+	@Column(name = "b2b_si_id")
+	private Long saleSendItemId;
+
+	public Long getSaleSendItemId() {
+		return saleSendItemId;
+	}
+
+	public void setSaleSendItemId(Long saleSendItemId) {
+		this.saleSendItemId = saleSendItemId;
+	}
+
 	public Long getId() {
 		return id;
 	}

+ 14 - 0
src/main/java/com/uas/platform/b2b/model/SaleSend.java

@@ -156,6 +156,20 @@ public class SaleSend implements Serializable {
 	@NotNull
 	private String uuid;
 
+	/**
+	 * ERP主动收料通知id
+	 */
+	@Column(name = "ss_sourceid")
+	private Long sourceId;
+
+	public Long getSourceId() {
+		return sourceId;
+	}
+
+	public void setSourceId(Long sourceId) {
+		this.sourceId = sourceId;
+	}
+
 	public SaleSend() {
 	}
 

+ 15 - 1
src/main/java/com/uas/platform/b2b/model/SaleSendItem.java

@@ -128,7 +128,21 @@ public class SaleSendItem {
 	 */
 	@Column(name = "si_barprintstatus")
 	private Long barPrintStatus;
-	
+
+	/**
+	 * ERP主动收料通知明细id
+	 */
+	@Column(name = "si_sourceid")
+	private Long sourceId;
+
+	public Long getSourceId() {
+		return sourceId;
+	}
+
+	public void setSourceId(Long sourceId) {
+		this.sourceId = sourceId;
+	}
+
 	public Long getId() {
 		return id;
 	}