Browse Source

模具询价新加税率填写;新的合作伙伴获取方法修改;送货通知取消消息事件

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10498 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 years ago
parent
commit
a1ac01f322

+ 42 - 40
src/main/java/com/uas/platform/b2b/event/PurchaseNoticeEndReleaseEvent.java

@@ -1,8 +1,12 @@
 package com.uas.platform.b2b.event;
 
+import com.uas.platform.b2b.model.PagingRelease;
 import com.uas.platform.b2b.model.PagingReleaseDetail;
 import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.PurchaseOrder;
+import com.uas.platform.core.model.Constant;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,45 +32,43 @@ public class PurchaseNoticeEndReleaseEvent extends SaveReleaseEvent<PagingReleas
      */
     @Override
     public PagingReleaseDetail release(PurchaseNotice notice) {
-        //TODO 结案或反结案订单之后,触发新增消息事件。
-//        Long emUU = make.getUserUU();
-//        if (null == emUU) {
-//            emUU = 1L;
-//        }
-//        String emName = make.getUser().getUserName();
-//        Long enUU = make.getEnUU();
-//        Date date = new Date();
-//        String codeValue = make.getCode();
-//        String from = "B2B";
-//        if (make.getErpId() != null) { // erp传到平台的单据,包含erpId字段记录来源
-//            from = "ERP";
-//        }
-//        String type = "结案采购订单";
-//        String title = "B2B商务提醒";
-//        String context = "";
-//        Short isReply = Constant.NO; // 是由采购方结案,所以不是供应商回复操作
-//        String category = "sale"; // 对接收方来说,该单据类型
-//        String table = "purc$orders";
-//        Long sourceId = make.getId();
-//        Short orderStatus = make.getStatus();
-//        Short toVendor = Constant.YES;
-//        if (make.getEnd() == Constant.YES) {
-//            context = make.getEnterprise().getEnName() + "的" + emName + "结案了采购单(" + codeValue + "),请及时确认!";
-//        } else if (make.getEnd() == Constant.NO) {
-//            context = make.getEnterprise().getEnName() + "的" + emName + "反结案了采购单(" + codeValue + "),请及时确认!";
-//        }
-//        String url = "#/sale/order/" + make.getId();
-//        PagingRelease release = new PagingRelease(emUU, emName, enUU, date, codeValue, from, title, context,
-//                type, isReply, category,table, sourceId, orderStatus, toVendor, url);
-//        Long vendUU = make.getVendUU();
-//        Long vendUserUU = make.getVendUserUU();
-//        if (null == vendUserUU) {
-//            vendUserUU = 1L;
-//        }
-//        String vendUserName = "业务员";
-//        PagingReleaseDetail releaseDetail = new PagingReleaseDetail(vendUU, vendUserUU, vendUserName);
-//        releaseDetail.setPagingRelease(release);
-//        return releaseDetail;
-        return null;
+        //TODO 取消发货通知之后,触发新增消息事件。
+        PurchaseOrder order = notice.getOrderItem().getOrder();
+        Long emUU = order.getUserUU();
+        if (null == emUU) {
+            emUU = 1L;
+        }
+        String emName = order.getUser().getUserName();
+        Long enUU = order.getEnUU();
+        Date date = new Date();
+        String codeValue = order.getCode();
+        String from = "B2B";
+        if (order.getErpId() != null) { // erp传到平台的单据,包含erpId字段记录来源
+            from = "ERP";
+        }
+        String type = "取消送货提醒";
+        String title = "B2B商务提醒";
+        String context = "";
+        Short isReply = Constant.NO; // 是由采购方结案,所以不是供应商回复操作
+        String category = "sale"; // 对接收方来说,该单据类型
+        String table = "purc$notice";
+        Long sourceId = order.getId();
+        Short orderStatus = order.getStatus();
+        Short toVendor = Constant.YES;
+        if (order.getEnd() == Constant.YES) {
+            context = order.getEnterprise().getEnName() + "的" + emName + "取消了(" + codeValue + " (" + notice.getOrderItem().getProduct().getCode() + "))送货提醒通知!";
+        }
+        String url = "#/sale/notice";
+        PagingRelease release = new PagingRelease(emUU, emName, enUU, date, codeValue, from, title, context,
+                type, isReply, category,table, sourceId, orderStatus, toVendor, url);
+        Long vendUU = order.getVendUU();
+        Long vendUserUU = order.getVendUserUU();
+        if (null == vendUserUU) {
+            vendUserUU = 1L;
+        }
+        String vendUserName = order.getVenduser();
+        PagingReleaseDetail releaseDetail = new PagingReleaseDetail(vendUU, vendUserUU, vendUserName);
+        releaseDetail.setPagingRelease(release);
+        return releaseDetail;
     }
 }

+ 4 - 4
src/main/java/com/uas/platform/b2b/service/impl/AddPartnerServiceImpl.java

@@ -452,8 +452,8 @@ public class AddPartnerServiceImpl implements AddPartnerService {
 						partner.setCustomer(Constant.YES);
 						partner.setCustId(customer.get(0).getId());
 						partner.setCustswitch(customer.get(0).getCustswitch());
-						partner.setEnterprise(vendor.get(0).getVendorEnterprise());
-						partner.setContact(vendor.get(0).getVendorUser());
+						partner.setEnterprise(customer.get(0).getVendorEnterprise());
+						partner.setContact(customer.get(0).getVendorUser());
 					} else {
 						partner.setCustomer(Constant.NO);
 					}
@@ -508,8 +508,8 @@ public class AddPartnerServiceImpl implements AddPartnerService {
 						partner.setCustomer(Constant.YES);
 						partner.setCustId(customer.get(0).getId());
 						partner.setCustswitch(customer.get(0).getCustswitch());
-						partner.setEnterprise(vendor.get(0).getVendorEnterprise());
-						partner.setContact(vendor.get(0).getMyUser());
+						partner.setEnterprise(customer.get(0).getVendorEnterprise());
+						partner.setContact(customer.get(0).getMyUser());
 					} else {
 						partner.setCustomer(Constant.NO);
 					}

+ 22 - 34
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -1,39 +1,14 @@
 package com.uas.platform.b2b.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-
-import com.uas.platform.b2b.core.util.ThreadTask;
-import com.uas.platform.b2b.dao.*;
-import com.uas.platform.b2b.model.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
 import com.uas.platform.b2b.core.util.ContextUtils;
+import com.uas.platform.b2b.core.util.ThreadTask;
 import com.uas.platform.b2b.core.util.ThreadUtils;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.QuotationDown;
 import com.uas.platform.b2b.erp.model.QuotationDownDetail;
-import com.uas.platform.b2b.event.PurchaseInquiryItemDecideReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemInvalidReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemReplyReleaseEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveEvent;
-import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
+import com.uas.platform.b2b.event.*;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
@@ -49,6 +24,21 @@ import com.uas.platform.core.model.Status;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.*;
 
 
 @Service
@@ -234,12 +224,10 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 				if (userUU == null) {
 					userUU = item.getInquiry().getRecorderUU();
 				}
-				if (userUU != null) {
+				if (userUU != null && userUU != 0) {
 					// 消息推送
-					if (userUU != null && userUU != 0) {
-						UserBaseInfo user = userBaseInfoDao.findOne(userUU);
-						XingePusher.pushByUser(user, "询价单回复", "单号:" + item.getInquiry().getCode() + ",第" + item.getNumber() + "行", "", "");
-					}
+					UserBaseInfo user = userBaseInfoDao.findOne(userUU);
+					XingePusher.pushByUser(user, "询价单回复", "单号:" + item.getInquiry().getCode() + ",第" + item.getNumber() + "行", "", "");
 				}
 				purchaseInquiryItemDao.save(item);
  				userOrderDao.setReadStatus(item.getInquiry().getEnUU(), item.getInquiry().getRecorderUU(), "v$purc$inquiryitems", "purc", (short) Status.NOT_READ.value(), item.getId());

+ 7 - 2
src/main/webapp/resources/tpl/index/sale/inquiry_mould.html

@@ -174,6 +174,10 @@ tbody td div.text-mould {
 }
 /* 清楚ie下的输入框X */
 ::-ms-clear, ::-ms-reveal{display: none;}
+
+	.taxrate-input {
+		width: 30px;
+	}
 </style>
 <link rel="stylesheet" href="static/css/public.css">
 <div class="block"  id="public">
@@ -369,6 +373,7 @@ tbody td div.text-mould {
 							ng-click="setOrdersRead(inquiryMould.id)" title="查看详情"></a>
 						</span>
 						币别:<span ng-bind="inquiryMould.currency"></span>
+						<span>税率:</span><input class="taxrate-input" ng-model="inquiryMould.taxrate" ng-pattern="/^[0-9][0-9]{0,1}$/" ng-disabled="!inquiryMould.$editing">%
 					</div>
 				</td>
 				<td>
@@ -460,11 +465,11 @@ tbody td div.text-mould {
 					<div ng-repeat="items in inquiryMould.inquiryMouldItems">
 						<input type="text" class="text-right input-price input-xs" ng-model="items.price" placeholder="单价(请填数字)" ng-blur="blurPrice(items.price)"
 							ng-change="verifyItems(items.price,items.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing"/>
-						<!-- <span ng-show="canSave">{{inquiryMould_copy.inquiryMouldItems[$index].price}}</span> -->
+						<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
 						<div ng-repeat="prod in items.inquiryMouldDetails">
 							<input type="text" class="text-right input-price input-xs" ng-model="prod.price" placeholder="单价(请填数字)" ng-blur="blurPrice(prod.price)"
 								ng-change="verifyProds(prod.price,prod.reply);notZero(inquiryMould)" ng-disabled="!inquiryMould.$editing"/>
-							<!-- <span ng-show="canSave">{{inquiryMould_copy.inquiryMouldItems[$parent.$index].inquiryMouldDetails[$index].price}}</span> -->
+							<span ng-if="inquiryMould.$editing" class="text-inverse">*</span>
 						</div>
 					</div>
 					<div class="dropdown">