|
|
@@ -117,6 +117,9 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
@Autowired
|
|
|
private PurchaseInquiryItemTempDao tempDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PurchaseInquiryTempDao inquiryTempDao;
|
|
|
+
|
|
|
private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
|
|
|
|
|
|
static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
|
|
|
@@ -128,35 +131,53 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
|
|
|
|
|
|
@Override
|
|
|
public void saveList(List<PurchaseInquiryItemTemp> purchaseInquiryItemTemps) {
|
|
|
- purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
|
|
|
- List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
|
|
|
- if (!CollectionUtils.isEmpty(purchaseInquiryItemTemps)) {
|
|
|
- for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
|
|
|
- PurchaseInquiryItem item = new PurchaseInquiryItem();
|
|
|
- BeanUtils.copyProperties(temp, item, PurchaseInquiryItem.class);
|
|
|
- item.setInquiry(purchaseInquiryDao.findOne(temp.getInId()));
|
|
|
- item.setProduct(productDao.findOne(temp.getProductId()));
|
|
|
- }
|
|
|
- saveUserOrders(inquiryItems);
|
|
|
- Long userUU = SystemSession.getUser().getUserUU();
|
|
|
- Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
- String userIp = SystemSession.getUser().getIp();
|
|
|
- String userName = SystemSession.getUser().getUserName();
|
|
|
- sendRemind(PurchaseInquiryItem.distinct(inquiryItems), userUU, userName, userIp, enUU);
|
|
|
- // 产生消息
|
|
|
- List<PurchaseInquiry> inquiries = PurchaseInquiryItem.distinct(inquiryItems);
|
|
|
- List<PurchaseInquiryItem> items = new ArrayList<>();
|
|
|
- for (PurchaseInquiry inquiry : inquiries) {
|
|
|
- Set<Long> enUUs = new HashSet<>();
|
|
|
- for (PurchaseInquiryItem inquiryItem : inquiry.getInquiryItems()) {
|
|
|
- if (!enUUs.contains(inquiryItem.getVendUU())) {
|
|
|
- items.add(inquiryItem);
|
|
|
- enUUs.add(inquiryItem.getVendUU());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(items));
|
|
|
- }
|
|
|
+ try {
|
|
|
+ for (PurchaseInquiryItemTemp itemTemp : purchaseInquiryItemTemps) {
|
|
|
+ PurchaseInquiryTemp inquiryTemp = inquiryTempDao.findByCodeAndEnUU(itemTemp.getInquiry().getCode(), itemTemp.getInquiry().getEnUU());
|
|
|
+ if (inquiryTemp == null) {
|
|
|
+ PurchaseInquiryTemp temp = inquiryTempDao.save(itemTemp.getInquiry());
|
|
|
+ itemTemp.setInId(temp.getId());
|
|
|
+ } else {
|
|
|
+ itemTemp.setInId(inquiryTemp.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
|
|
|
+ } catch (Exception e) {
|
|
|
+ for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
|
|
|
+ if (inquiryTempDao.exists(temp.getInId())) {
|
|
|
+ inquiryTempDao.delete(temp.getInId());
|
|
|
+ }
|
|
|
+ throw new IllegalOperatorException("保存失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
|
|
|
+ if (!CollectionUtils.isEmpty(purchaseInquiryItemTemps)) {
|
|
|
+ for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
|
|
|
+ PurchaseInquiryItem item = new PurchaseInquiryItem();
|
|
|
+ BeanUtils.copyProperties(temp, item, PurchaseInquiryItem.class);
|
|
|
+ item.setInquiry(purchaseInquiryDao.findOne(temp.getInId()));
|
|
|
+ item.setProduct(productDao.findOne(temp.getProductId()));
|
|
|
+ }
|
|
|
+ saveUserOrders(inquiryItems);
|
|
|
+ Long userUU = SystemSession.getUser().getUserUU();
|
|
|
+ Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
+ String userIp = SystemSession.getUser().getIp();
|
|
|
+ String userName = SystemSession.getUser().getUserName();
|
|
|
+ sendRemind(PurchaseInquiryItem.distinct(inquiryItems), userUU, userName, userIp, enUU);
|
|
|
+ // 产生消息
|
|
|
+ List<PurchaseInquiry> inquiries = PurchaseInquiryItem.distinct(inquiryItems);
|
|
|
+ List<PurchaseInquiryItem> items = new ArrayList<>();
|
|
|
+ for (PurchaseInquiry inquiry : inquiries) {
|
|
|
+ Set<Long> enUUs = new HashSet<>();
|
|
|
+ for (PurchaseInquiryItem inquiryItem : inquiry.getInquiryItems()) {
|
|
|
+ if (!enUUs.contains(inquiryItem.getVendUU())) {
|
|
|
+ items.add(inquiryItem);
|
|
|
+ enUUs.add(inquiryItem.getVendUU());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ContextUtils.publishEvent(new PurchaseInquiryItemSaveReleaseEvent(items));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|