|
|
@@ -250,7 +250,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
}
|
|
|
inquiry = inquiryDao.save(inquiry);
|
|
|
|
|
|
- PublicInquiryItem item = SaveInquiryItems(inquiry, inquiryItem);
|
|
|
+ PublicInquiryItem item = saveInquiryItems(inquiry, inquiryItem);
|
|
|
// 报价成功后保存到个人物料库中
|
|
|
if (null != item && !StringUtils.isEmpty(item.getInbrand()) && !StringUtils.isEmpty(item.getCmpCode())) {
|
|
|
saveInquiryItemProduct(item);
|
|
|
@@ -258,7 +258,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
return item;
|
|
|
} else {// 插入
|
|
|
inquiry = saleInquiries.get(0);
|
|
|
- PublicInquiryItem item = SaveInquiryItems(inquiry, inquiryItem);
|
|
|
+ PublicInquiryItem item = saveInquiryItems(inquiry, inquiryItem);
|
|
|
// 报价成功后保存到个人物料库中
|
|
|
if (null != item && !StringUtils.isEmpty(item.getInbrand()) && !StringUtils.isEmpty(item.getCmpCode())) {
|
|
|
saveInquiryItemProduct(item);
|
|
|
@@ -321,7 +321,37 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- private PublicInquiryItem SaveInquiryItems(PublicInquiry inquiry, PublicInquiryItem inquiryItem) throws Exception {
|
|
|
+ private PublicInquiryItem saveInquiryItems(PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
|
|
|
+ long start = System.currentTimeMillis();
|
|
|
+ // 设置报价明细信息
|
|
|
+ setPublicInquiryItemWithInquiry(inquiry, inquiryItem);
|
|
|
+
|
|
|
+ inquiryItem = infoDao.save(inquiryItem);
|
|
|
+ System.out.println("save publicInquiryItem耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ start = System.currentTimeMillis();
|
|
|
+
|
|
|
+ // 更新原表的报价条数
|
|
|
+ purcInquiryItemDao.updateAmount(inquiryItem.getSourceId(), 1);
|
|
|
+ System.out.println("更新报价条数耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ start = System.currentTimeMillis();
|
|
|
+
|
|
|
+ // 更新推荐表中的相关信息
|
|
|
+ remindDao.updateStatus(inquiryItem.getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
|
|
|
+ System.out.println("更新个人推荐耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ start = System.currentTimeMillis();
|
|
|
+
|
|
|
+ // 更新企业推荐中的相关信息
|
|
|
+ inquiryEnRemindDao.updateStatus(inquiryItem.getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
|
|
|
+ System.out.println("更新企业推荐耗时:" + (System.currentTimeMillis() - start));
|
|
|
+ return inquiryItem;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置报价明细信息
|
|
|
+ * @param inquiry 报价单
|
|
|
+ * @param inquiryItem 报价明细
|
|
|
+ */
|
|
|
+ private void setPublicInquiryItemWithInquiry(PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
|
|
|
// 计算合计价格 dongbw 2018年9月5日 15:08:24 bom求购明细价格分析需要
|
|
|
Double sumPrice = 0d;
|
|
|
Double needQty = null != inquiryItem.getNeedquantity() ? inquiryItem.getNeedquantity() : 1;
|
|
|
@@ -344,59 +374,35 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
sumPrice = maxPrice * needQty;
|
|
|
}
|
|
|
inquiryItem.setSumPrice(sumPrice);
|
|
|
- long start = System.currentTimeMillis();
|
|
|
- Set<PublicInquiryItem> items = new HashSet<PublicInquiryItem>();
|
|
|
int number = 1;
|
|
|
if (null != inquiryItem.getInquiry() && null != inquiryItem.getInquiry().getId()) {
|
|
|
number = infoDao.countByInquiryId(inquiryItem.getInquiry().getId()) + 1;
|
|
|
}
|
|
|
- if (null != inquiryItem) {
|
|
|
- Enterprise enterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
|
|
|
- if (null != inquiryItem.getProduct()) {
|
|
|
- inquiryItem.setProdTitle(inquiryItem.getProduct().getTitle());
|
|
|
- inquiryItem.setSpec(inquiryItem.getProduct().getSpec());
|
|
|
- inquiryItem.setInbrand(inquiryItem.getProduct().getBrand());
|
|
|
- inquiryItem.setProdCode(inquiryItem.getProduct().getCode());
|
|
|
- }
|
|
|
- inquiryItem.setVendName(enterprise.getEnName());
|
|
|
- if (StringUtils.isEmpty(inquiryItem.getEndDate())) {
|
|
|
- inquiryItem.setEndDate(inquiry.getEndDate());
|
|
|
- }
|
|
|
- inquiryItem.setBusinessCode(enterprise.getBusinesscode());
|
|
|
- inquiryItem.setDate(inquiry.getDate());
|
|
|
- inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
|
|
|
- inquiryItem.setInquiry(inquiry);
|
|
|
- inquiryItem.setNumber((short) number);
|
|
|
- inquiryItem.setCustLap(Constant.NO);
|
|
|
- inquiryItem.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- inquiryItem.setSourceId(inquiryItem.getId());
|
|
|
- inquiryItem.setId(null);
|
|
|
- inquiryItem.setStatus((short) Status.REPLIED.value());
|
|
|
- inquiryItem.setBackStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- inquiryItem.setReplySendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
- // 将采纳状态设置成申请状态,方便过滤
|
|
|
- inquiryItem.setDecideStatus((short) Status.UNAUDIT.value());
|
|
|
- items.add(inquiryItem);
|
|
|
- }
|
|
|
- final List<PublicInquiryItem> publicInquiryItems = infoDao.save(items);
|
|
|
- System.out.println("save publicInquiryItem耗时:" + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
- // 更新原表的报价条数
|
|
|
- purcInquiryItemDao.updateAmount(publicInquiryItems.get(0).getSourceId(), publicInquiryItems.size());
|
|
|
- System.out.println("更新报价条数耗时:" + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
- // 更新推荐表中的相关信息
|
|
|
- remindDao.updateStatus(publicInquiryItems.get(0).getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
|
|
|
- System.out.println("更新个人推荐耗时:" + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
- // 更新企业推荐中的相关信息
|
|
|
- inquiryEnRemindDao.updateStatus(publicInquiryItems.get(0).getId(), inquiryItem.getSourceId(), Status.SUBMITTED.value(), inquiryItem.getVendUU());
|
|
|
- System.out.println("更新企业推荐耗时:" + (System.currentTimeMillis() - start));
|
|
|
- if (publicInquiryItems.get(0).getId() != null) {
|
|
|
- return publicInquiryItems.get(0);
|
|
|
- } else {
|
|
|
- throw new Exception("转询价报价单失败");
|
|
|
+ Enterprise enterprise = enterpriseDao.findOne(inquiryItem.getVendUU());
|
|
|
+ if (null != inquiryItem.getProduct()) {
|
|
|
+ inquiryItem.setProdTitle(inquiryItem.getProduct().getTitle());
|
|
|
+ inquiryItem.setSpec(inquiryItem.getProduct().getSpec());
|
|
|
+ inquiryItem.setInbrand(inquiryItem.getProduct().getBrand());
|
|
|
+ inquiryItem.setProdCode(inquiryItem.getProduct().getCode());
|
|
|
}
|
|
|
+ inquiryItem.setVendName(enterprise.getEnName());
|
|
|
+ if (StringUtils.isEmpty(inquiryItem.getEndDate())) {
|
|
|
+ inquiryItem.setEndDate(inquiry.getEndDate());
|
|
|
+ }
|
|
|
+ inquiryItem.setBusinessCode(enterprise.getBusinesscode());
|
|
|
+ inquiryItem.setDate(inquiry.getDate());
|
|
|
+ inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
|
|
|
+ inquiryItem.setInquiry(inquiry);
|
|
|
+ inquiryItem.setNumber((short) number);
|
|
|
+ inquiryItem.setCustLap(Constant.NO);
|
|
|
+ inquiryItem.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ inquiryItem.setSourceId(inquiryItem.getId());
|
|
|
+ inquiryItem.setId(null);
|
|
|
+ inquiryItem.setStatus((short) Status.REPLIED.value());
|
|
|
+ inquiryItem.setBackStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ inquiryItem.setReplySendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ // 将采纳状态设置成申请状态,方便过滤
|
|
|
+ inquiryItem.setDecideStatus((short) Status.UNAUDIT.value());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -507,7 +513,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
inquiry = inquiryDao.save(inquiry);
|
|
|
inquiryItem.setVendUU(enuu);
|
|
|
inquiryItem.setVendUserUU(useruu);
|
|
|
- inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
|
|
|
+ inquiryItem = saveInquiryItems(inquiry, inquiryItem);
|
|
|
if (null != inquiryItem.getId()) {
|
|
|
map.put("content", inquiryItem.getId());
|
|
|
} else {
|
|
|
@@ -525,7 +531,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
inquiryItem.setOfferTime(new Date(System.currentTimeMillis()));
|
|
|
inquiryItem.setVendUU(enuu);
|
|
|
inquiryItem.setVendUserUU(useruu);
|
|
|
- inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
|
|
|
+ inquiryItem = saveInquiryItems(inquiry, inquiryItem);
|
|
|
if (null != inquiryItem.getId()) {
|
|
|
map.put("content", inquiryItem.getId());
|
|
|
} else {
|
|
|
@@ -773,7 +779,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
}
|
|
|
|
|
|
private boolean validatePurcInquiryItem(PublicInquiryItem publicInquiryItem, ModelMap result, PurcInquiryItemInfo item) {
|
|
|
- if (StringUtils.isEmpty(item)) {
|
|
|
+ if (null == item) {
|
|
|
result.put("message", "找不到当前公共询价");
|
|
|
return true;
|
|
|
}
|
|
|
@@ -807,7 +813,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
private ModelMap replyInquiry(ModelMap result, PublicInquiry inquiry, PublicInquiryItem inquiryItem) {
|
|
|
try {
|
|
|
long start = System.currentTimeMillis();
|
|
|
- inquiryItem = SaveInquiryItems(inquiry, inquiryItem);
|
|
|
+ inquiryItem = saveInquiryItems(inquiry, inquiryItem);
|
|
|
System.out.println("报价总耗时:" + (System.currentTimeMillis() - start));
|
|
|
start = System.currentTimeMillis();
|
|
|
// 报价成功后保存到个人物料库中
|
|
|
@@ -886,24 +892,6 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
|
|
|
inquiryItem.setReplaceBrand(publicInquiryItem.getReplaceBrand());
|
|
|
inquiryItem.setReplaceSpec(publicInquiryItem.getReplaceSpec());
|
|
|
inquiryItem.setIsReplace(publicInquiryItem.getIsReplace());
|
|
|
-// // 计算合计价格 dongbw 2018年9月5日 15:08:24 bom求购明细价格分析需要
|
|
|
-// Double sumPrice = 0d;
|
|
|
-// Double needQty = inquiryItem.getNeedquantity();
|
|
|
-// List<PublicInquiryReply> replies = inquiryItem.getReplies();
|
|
|
-// for (int i = 0; i < replies.size(); i++) {
|
|
|
-// needQty = needQty - replies.get(i).getLapQty();
|
|
|
-// if (needQty > 0) {
|
|
|
-// if (i == 0) {
|
|
|
-// sumPrice += replies.get(i).getPrice() * replies.get(i).getLapQty();
|
|
|
-// } else {
|
|
|
-// sumPrice += replies.get(i).getPrice() * (replies.get(i).getLapQty() - replies.get(i - 1).getLapQty());
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// sumPrice += replies.get(i).getPrice() * needQty;
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// inquiryItem.setSumPrice(sumPrice);
|
|
|
return inquiryItem;
|
|
|
}
|
|
|
|