|
|
@@ -5,14 +5,18 @@ import com.uas.platform.b2b.dao.*;
|
|
|
import com.uas.platform.b2b.erp.model.Inquiry;
|
|
|
import com.uas.platform.b2b.erp.model.InquiryDecide;
|
|
|
import com.uas.platform.b2b.erp.model.InquiryDetail;
|
|
|
+import com.uas.platform.b2b.erp.model.InquiryDetailDet;
|
|
|
import com.uas.platform.b2b.erp.service.InquiryService;
|
|
|
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
|
|
|
import com.uas.platform.b2b.model.*;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
import com.uas.platform.b2b.temporary.model.PartnershipRecord;
|
|
|
+import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.model.Status;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
@@ -43,6 +47,11 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
@Autowired
|
|
|
private UserDao userDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private CommonDao commonDao;
|
|
|
+
|
|
|
+ private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
|
|
|
+
|
|
|
@Override
|
|
|
public List<PurchaseInquiryItem> convertInquiry(List<Inquiry> inquiries) {
|
|
|
List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
|
|
|
@@ -178,7 +187,8 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
return quotationItems;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
+
|
|
|
+ /**
|
|
|
* 添加供应商资料
|
|
|
*
|
|
|
* @param inquiryItem
|
|
|
@@ -216,4 +226,37 @@ public class InquiryServiceImpl implements InquiryService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void save(List<InquiryDetail> details) {
|
|
|
+ if(!CollectionUtils.isEmpty(details)) {
|
|
|
+ for(InquiryDetail detail : details) {
|
|
|
+ //先查询已经上传的询价单主表信息
|
|
|
+ Inquiry inquiry = getInquiry(detail.getIn_code(), detail.getId_id());
|
|
|
+ if(null != inquiry) {
|
|
|
+ //查询对应平台的物料信息
|
|
|
+ List<Product> products = productDao.findByEnUUAndCode(SystemSession.getUser().getEnterprise().getUu(), detail.getId_prodcode());
|
|
|
+ if(products.size() > 0) {
|
|
|
+ Long prodId = products.get(0).getId();
|
|
|
+ Long id = commonDao.getJdbcTemplate().queryForLong("select purc$inquiryitems_seq.nextval from dual");
|
|
|
+ String sql = "insert into purc$inquiryitems(id_id,id_sourceid,id_number,id_inid,id_useruu,id_prid,id_currency,id_taxrate,id_remark,id_venduu,id_venduseruu,id_fromdate,id_todate,id_status,id_sendstatus,id_erpdate,id_date,id_sourceapp) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
|
|
+ commonDao.getJdbcTemplate().update(sql, id,detail.getId_id(), detail.getId_detno(), inquiry.getIn_id(), SystemSession.getUser().getUserUU(), prodId, detail.getId_currency(), detail.getId_rate(), detail.getId_remark(), detail.getVe_uu(), detail.getVe_contactuu(), detail.getId_fromdate(), detail.getId_todate(), Status.NOT_REPLY.value(), Status.NOT_UPLOAD.value(), new Date(), inquiry.getIn_date(), "erp");
|
|
|
+ //插入分段信息
|
|
|
+ if(detail.getDets().size() > 0) {
|
|
|
+ for(InquiryDetailDet det : detail.getDets()) {
|
|
|
+ sql = "insert into purc$inquiryreply (ir_id,ir_lapqty,ir_idid) VALUES (purc$inquiryreply_seq.nextval, ?, ?)";
|
|
|
+ commonDao.getJdbcTemplate().update(sql, det.getIdd_lapqty() == null ? 0 : det.getIdd_lapqty(), id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.log("自动询价明细上传", "新增了自动询价的明细(" + id + ")", 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Inquiry getInquiry(String in_code, Long id) {
|
|
|
+ String sql = "select in_id, in_date from purc$inquiry left join purc$inquiryitems on id_inid = in_id where in_code = '" + in_code + "' and in_enuu = " + SystemSession.getUser().getEnterprise().getUu() + " and purc$inquiryitems.id_sourceid <> " + id;
|
|
|
+ List<Inquiry> inquiries = commonDao.getJdbcTemplate().query(sql, new BeanPropertyRowMapper<Inquiry>(Inquiry.class));
|
|
|
+ return inquiries.size() > 0 ? inquiries.get(0) : null;
|
|
|
+ }
|
|
|
}
|