|
|
@@ -4,17 +4,22 @@ import com.uas.account.util.AccountUtils;
|
|
|
import com.uas.platform.b2b.core.util.ContextUtils;
|
|
|
import com.uas.platform.b2b.core.util.ThreadTask;
|
|
|
import com.uas.platform.b2b.dao.*;
|
|
|
+import com.uas.platform.b2b.erp.model.B2BVendor;
|
|
|
import com.uas.platform.b2b.erp.model.SaleTenderErp;
|
|
|
import com.uas.platform.b2b.erp.service.TenderService;
|
|
|
import com.uas.platform.b2b.event.PurchaseTenderDecideReleaseEvent;
|
|
|
import com.uas.platform.b2b.event.PurchaseTenderSaveReleaseEvent;
|
|
|
import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.service.AttachService;
|
|
|
+import com.uas.platform.b2b.support.MessageConf;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.b2b.temporary.model.PartnershipRecord;
|
|
|
import com.uas.platform.b2b.temporary.model.PurcTenderProd;
|
|
|
+import com.uas.platform.b2b.temporary.model.SmsMessage;
|
|
|
import com.uas.platform.b2b.temporary.model.TenderContactInfo;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
+import com.uas.platform.core.util.HttpUtil;
|
|
|
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
|
|
|
import org.apache.commons.lang3.time.DateUtils;
|
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
@@ -30,6 +35,7 @@ import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.CriteriaQuery;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.persistence.criteria.Root;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -83,6 +89,14 @@ public class TenderServiceImpl implements TenderService {
|
|
|
@Autowired
|
|
|
private UserOrderDao userOrderDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MessageConf messageConf;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 短信接口
|
|
|
+ */
|
|
|
+ final String messageUrl = "http://message.ubtob.com/sms/send";
|
|
|
+
|
|
|
/**
|
|
|
* 发布和保存
|
|
|
* @param purchaseTender
|
|
|
@@ -371,6 +385,7 @@ public class TenderServiceImpl implements TenderService {
|
|
|
if (null == saleTender) { // 不存在投标单说明未转投标单,进行新增投标单操作
|
|
|
saleTender = new SaleTender(tender);
|
|
|
saleTender.setVendUU(vendUU);
|
|
|
+ saleTender.setUserEmail(SystemSession.getUser().getUserEmail());
|
|
|
saleTender.setUseruu(SystemSession.getUser().getUserUU());
|
|
|
saleTender.setUser(SystemSession.getUser().getUserName());
|
|
|
saleTender.setUserTel(SystemSession.getUser().getUserTel());
|
|
|
@@ -542,6 +557,61 @@ public class TenderServiceImpl implements TenderService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ModelMap getSaleTenderVendors(Long id) {
|
|
|
+ ModelMap map = new ModelMap();
|
|
|
+ PurchaseTender tender = purchaseTenderDao.findOne(id);
|
|
|
+ List<SaleTender> saleTenders = saleTenderDao.findByEnUUAndCode(tender.getEnUU(), tender.getCode());
|
|
|
+ List<B2BVendor> vendors = new ArrayList<>();
|
|
|
+ for (SaleTender saleTender : saleTenders) {
|
|
|
+ List<Vendor> vendor = vendorDao.findByMyEnUUAndVendUU(tender.getEnUU(), saleTender.getVendUU());
|
|
|
+ if (!CollectionUtils.isEmpty(vendor)) {
|
|
|
+ B2BVendor b2BVendor = new B2BVendor(vendor.get(0));
|
|
|
+ b2BVendor.setVe_email(saleTender.getUserEmail());
|
|
|
+ b2BVendor.setVe_contact(saleTender.getUser());
|
|
|
+ vendors.add(b2BVendor);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tender.setPurchaseTenderProds(new HashSet<PurchaseTenderProd>());
|
|
|
+ map.put("vendors", vendors);
|
|
|
+ map.put("tender", tender);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ModelMap sendMobileMessage(Long id) {
|
|
|
+ ModelMap map = new ModelMap();
|
|
|
+ PurchaseTender tender = purchaseTenderDao.findOne(id);
|
|
|
+ List<SaleTender> saleTenders = saleTenderDao.findByEnUUAndCode(tender.getEnUU(), tender.getCode());
|
|
|
+ for (SaleTender saleTender : saleTenders) {
|
|
|
+ try {
|
|
|
+ SmsMessage sms = new SmsMessage();
|
|
|
+ List<Object> obj = new ArrayList<>();
|
|
|
+ // 招标方
|
|
|
+ obj.add(saleTender.getEnUU());
|
|
|
+ obj.add(saleTender.getEnterprise().getEnName());
|
|
|
+// obj.add(saleTender.getRecorder().getUserName());
|
|
|
+ obj.add(saleTender.getEnterpriseBaseInfo().getEnName());
|
|
|
+ obj.add(saleTender.getCode());
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String date = dateFormat.format(saleTender.getDate());
|
|
|
+ System.out.println(date);
|
|
|
+ obj.add(date);
|
|
|
+ sms.setParams(obj);
|
|
|
+ sms.setReceiver(saleTender.getUserTel());
|
|
|
+ sms.setTemplateId(messageConf.getMsgTenderForB2B());
|
|
|
+ HttpUtil.sendPost(messageUrl, FlexJsonUtils.toJsonDeep(sms));
|
|
|
+ } catch (Exception e) {
|
|
|
+ map.put("error", "发送知会短信失败,单号:" + tender.getCode());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (null == map.get("error")) {
|
|
|
+ map.put("success", true);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 发布或保存方法(针对保存的单据)
|
|
|
*
|
|
|
@@ -674,7 +744,9 @@ public class TenderServiceImpl implements TenderService {
|
|
|
Vendor vendor = null;
|
|
|
if (vendors.size() == 0) {// 供应商列表中不存在供应商关系
|
|
|
vendor = addVendor(saleTender);// 增加供应商关系
|
|
|
- addPartnerShipRecord(vendor);
|
|
|
+ if (null != vendor) {
|
|
|
+ addPartnerShipRecord(vendor);
|
|
|
+ }
|
|
|
} else {
|
|
|
vendor = vendors.get(0);
|
|
|
}
|