|
|
@@ -0,0 +1,500 @@
|
|
|
+package com.uas.ps.inquiry.service.impl;
|
|
|
+
|
|
|
+import com.uas.ps.entity.Status;
|
|
|
+import com.uas.ps.inquiry.dao.*;
|
|
|
+import com.uas.ps.inquiry.entity.*;
|
|
|
+import com.uas.ps.inquiry.model.*;
|
|
|
+import com.uas.ps.inquiry.model.Attach;
|
|
|
+import com.uas.ps.inquiry.service.PublicInquiryService;
|
|
|
+import com.uas.ps.inquiry.util.IRunnable;
|
|
|
+import com.uas.ps.inquiry.util.ThreadUtils;
|
|
|
+import javassist.NotFoundException;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.dao.DataAccessException;
|
|
|
+import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.ui.ModelMap;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 公共询价接口实现
|
|
|
+ *
|
|
|
+ * Created by hejq on 2018-01-13.
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class PublicInquiryServiceImpl implements PublicInquiryService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PublicInquiryDao publicInquiryDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PurcInquiryDao purcInquiryDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ProductDao productDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PurcInquiryItemDao purcInquiryItemDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PublicInquiryItemDao publicInquiryItemDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private JdbcTemplate jdbcTemplate;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PublicInquiryReplyDao publicInquiryReplyDao;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 应用来源
|
|
|
+ */
|
|
|
+ private final String SOURCERAPP = "B2B";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 询价种类
|
|
|
+ */
|
|
|
+ private final String INQUIRYKIND = "publicInquiry";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存公共询价信息
|
|
|
+ *
|
|
|
+ * @param inquiries erp传入公共询价的信息
|
|
|
+ * @param enuu 询价企业UU号
|
|
|
+ * @param address 询价企业地址
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void save(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException {
|
|
|
+ List<PurcInquiry> purcInquiries = covert(inquiries, enuu, address);
|
|
|
+ if (!CollectionUtils.isEmpty(purcInquiries)) {
|
|
|
+ purcInquiryDao.save(purcInquiries);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存公共询价
|
|
|
+ *
|
|
|
+ * @param inquiry
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public PurcInquiry saveInquiry(PurcInquiry inquiry) {
|
|
|
+ return purcInquiryDao.save(inquiry);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将ERP传入的inquiry信息转成平台需要的信息
|
|
|
+ *
|
|
|
+ * @param inquiries 将ERP传入的inquiry信息
|
|
|
+ * @param enuu 询价企业UU号
|
|
|
+ * @param address 询价企业地址
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<PurcInquiry> covert(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException {
|
|
|
+ List<PurcInquiry> purcInquiries = new ArrayList<PurcInquiry>();
|
|
|
+ if (!CollectionUtils.isEmpty(inquiries)) {
|
|
|
+ for(BatchInquiry inquiry : inquiries) {
|
|
|
+ PurcInquiry old = purcInquiryDao.findByCodeAndEnUU(inquiry.getBi_code(), enuu);
|
|
|
+ //先判断是否已经存在,不存在才进行存储
|
|
|
+ if(null == old) {
|
|
|
+ PurcInquiry purcInquiry = inquiry.covert();
|
|
|
+ purcInquiry.setEnUU(enuu);
|
|
|
+ purcInquiry.setShip(address);
|
|
|
+ Set<PurcInquiryItem> purcInquiryItems = new HashSet<PurcInquiryItem>();
|
|
|
+ if(!CollectionUtils.isEmpty(inquiry.getInProducts())) {
|
|
|
+ for(BatchInProduct batch : inquiry.getInProducts()) {
|
|
|
+ PurcInquiryItem item = new PurcInquiryItem();
|
|
|
+ item.setIsOpen(Constant.YES);
|
|
|
+ List<Product> products = productDao.findByEnUUAndCode(enuu, batch.getBip_prodcode());
|
|
|
+ if (CollectionUtils.isEmpty(products)) {
|
|
|
+ throw new NotFoundException("编号为[" + batch.getBip_prodcode() + "]的物料未找到");
|
|
|
+ }
|
|
|
+ item.setProductId(products.get(0).getId());
|
|
|
+ item.setRemark(batch.getBip_remark());
|
|
|
+ item.setProdCode(products.get(0).getCode());
|
|
|
+ item.setProdTitle(products.get(0).getTitle());
|
|
|
+ item.setNumber(batch.getBip_detno());
|
|
|
+ item.setFromDate(new Date());
|
|
|
+ item.setToDate(purcInquiry.getEndDate());
|
|
|
+ item.setStatus((short) Status.NOT_REPLY.value());
|
|
|
+ item.setIsOpen(Constant.YES);
|
|
|
+ item.setSource("ERP");
|
|
|
+ item.setSourceid(batch.getBip_id());
|
|
|
+ item.setCurrency(batch.getBip_currency());
|
|
|
+ if(null != inquiry.getBi_date()) {
|
|
|
+ item.setDate(inquiry.getBi_date());
|
|
|
+ } else {
|
|
|
+ item.setDate(new Date());
|
|
|
+ }
|
|
|
+ if(item.getCurrency() == null) {
|
|
|
+ item.setCurrency("RMB");
|
|
|
+ }
|
|
|
+ purcInquiryItems.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ purcInquiry.setInquiryItems(purcInquiryItems);
|
|
|
+ purcInquiries.add(purcInquiry);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return purcInquiries;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * erp提交审核时,平台单据禁用报价功能
|
|
|
+ *
|
|
|
+ * @param inquiries erp询价信息
|
|
|
+ * @param enuu 询价企业UU号
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateStatus(List<BatchInquiry> inquiries, Long enuu) {
|
|
|
+ if (!CollectionUtils.isEmpty(inquiries)) {
|
|
|
+ for (BatchInquiry inquiry : inquiries) {
|
|
|
+ PurcInquiry purcInquiry = purcInquiryDao.findByCodeAndEnUU(inquiry.getBi_code(), enuu);
|
|
|
+ purcInquiryItemDao.updateStatus(purcInquiry.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询供应商的报价信息
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<InquiryDetail> findNotUploadReply(Long enuu) {
|
|
|
+ List<PublicInquiryItem> items = publicInquiryItemDao.findByEnUUAndBackStatus(enuu, (short) Status.NOT_UPLOAD.value());
|
|
|
+ if (!CollectionUtils.isEmpty(items)) {
|
|
|
+ // 防止下载过程中进行操作,这里设置一个下载中的状态
|
|
|
+ Set<Long> ids = new HashSet<>();
|
|
|
+ for (PublicInquiryItem item : items) {
|
|
|
+ ids.add(item.getId());
|
|
|
+ }
|
|
|
+ if (ids.size() > 0) {
|
|
|
+ publicInquiryItemDao.updateBackStatus(ids);
|
|
|
+ }
|
|
|
+ return convertPublicInquiryReply(items);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将平台的公共询价转成ERP的对应的字段
|
|
|
+ *
|
|
|
+ * @param notUploadReply 未下载的供应商报价信息
|
|
|
+ * @return
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 11:51
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<InquiryDetail> convertPublicInquiryReply(List<PublicInquiryItem> notUploadReply) {
|
|
|
+ List<InquiryDetail> details = new ArrayList<InquiryDetail>();
|
|
|
+ if (!CollectionUtils.isEmpty(notUploadReply)) {
|
|
|
+ for (PublicInquiryItem item : notUploadReply) {
|
|
|
+ details.add(new InquiryDetail(item));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return details;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 下载完成后更新平台询价单明细的下载状态
|
|
|
+ *
|
|
|
+ * @param idArray 询价单明细id
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 12:12
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void onReplyUploadSuccess(String[] idArray) {
|
|
|
+ for (String id : idArray) {
|
|
|
+ PublicInquiryItem item = publicInquiryItemDao.findOne(Long.parseLong(id));
|
|
|
+ if (item != null) {
|
|
|
+ item.setBackStatus((short) Status.DOWNLOADED.value());
|
|
|
+ item.setErpstatus(Constant.YES);
|
|
|
+ publicInquiryItemDao.save(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ERP提交公共询价单之后,更新平台状态,让平台询价单不能进行报价操作
|
|
|
+ *
|
|
|
+ * @param inquiries 询价信息
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 12:20
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void updateInquiryStatus(List<Inquiry> inquiries) {
|
|
|
+ if(!CollectionUtils.isEmpty(inquiries)) {
|
|
|
+ for(Inquiry inquiry : inquiries) {
|
|
|
+ // 更新为过期状态,不能进行报价处理
|
|
|
+ String sql = "update purc$puinquiryitems set id_overdue = 1 where id_inid in ( select in_id from purc$puinquiry where in_enuu = "
|
|
|
+ + inquiry.getEn_uu() + " and in_code = '" + inquiry.getIn_code() + "')";
|
|
|
+ jdbcTemplate.update(sql);
|
|
|
+ // 更新已转报价的询价单明细状态
|
|
|
+ jdbcTemplate.update("update public$inquiryItems set id_overdue = 1 where id_inid in " +
|
|
|
+ "(select in_id from public$inquiry where in_enuu = " + inquiry.getEn_uu() + " and in_code = '" + inquiry.getIn_code() + "')");
|
|
|
+ // 更新已转报价的询价单主表check状态为已提交
|
|
|
+ jdbcTemplate.update("update public$inquiry set in_checked = 1 where in_enuu = " + inquiry.getEn_uu() + " and in_code = '" + inquiry.getIn_code() + "'");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * ERP对报价信息的采纳状态上传到平台
|
|
|
+ *
|
|
|
+ * @param decides 采纳信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void onReplyDecide(List<InquiryDecide> decides, Long enuu) {
|
|
|
+ List<PublicInquiryItem> publicInquiryItems = convertInquiryDecide(decides);
|
|
|
+ if (!CollectionUtils.isEmpty(publicInquiryItems)) {
|
|
|
+ for (PublicInquiryItem inquiryItem : publicInquiryItems) {
|
|
|
+ publicInquiryItemDao.updateDecideStatusByID(inquiryItem.getAgreed(), inquiryItem.getDecideStatus(), inquiryItem.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将ERP的报价采纳信息转为平台需要的信息
|
|
|
+ *
|
|
|
+ * @param decides erp报价采纳信息
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 12:25
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<PublicInquiryItem> convertInquiryDecide(List<InquiryDecide> decides) {
|
|
|
+ List<PublicInquiryItem> inquiryItems = new ArrayList<PublicInquiryItem>();
|
|
|
+ if (!CollectionUtils.isEmpty(decides)) {
|
|
|
+ for (InquiryDecide decide : decides) {
|
|
|
+ PublicInquiryItem item = publicInquiryItemDao.findOne(decide.getB2b_id());
|
|
|
+ if (null != item) {
|
|
|
+ item.setAgreed(decide.getId_agreed());
|
|
|
+ item.setDecideStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ inquiryItems.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return inquiryItems;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 买家ERP作废询价单后,修改平台里面的状态
|
|
|
+ *
|
|
|
+ * @param inquiries 询价信息
|
|
|
+ * @param enuu 企业UU
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 12:28
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void onReplyInvalid(List<Inquiry> inquiries, final Long enuu) {
|
|
|
+ final List<PublicInquiryItem> newInquiryItems = new ArrayList<>();
|
|
|
+ ThreadUtils.tasks(new IRunnable<Inquiry>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void run(Inquiry inquiry) {
|
|
|
+ List<PublicInquiry> purchaseInquiries = publicInquiryDao.findByEnUUAndCode(enuu, inquiry.getIn_code());
|
|
|
+ if (!CollectionUtils.isEmpty(purchaseInquiries)) {
|
|
|
+ PublicInquiry publicInquiry = purchaseInquiries.get(0);
|
|
|
+ for (PublicInquiryItem item : publicInquiry.getInquiryItems()) {
|
|
|
+ item.setStatus((short) Status.DISABLED.value());
|
|
|
+ // 获取作废信息时,更新作废上传状态为 待上传
|
|
|
+ item.setInvalidStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ synchronized (newInquiryItems) {
|
|
|
+ newInquiryItems.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }, inquiries).run();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 将公共询价列表转成需要报价的询价单,类型是公共询价
|
|
|
+ *
|
|
|
+ * @param id 询价明细id
|
|
|
+ * @param enuu 报价企业UU
|
|
|
+ * @param useruu 报价人uu
|
|
|
+ * @return
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 14:46
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ModelMap transtoInquiry(Long id, Long enuu, Long useruu) {
|
|
|
+ ModelMap map = new ModelMap();
|
|
|
+ PurcInquiryItem purcInquiryItem = purcInquiryItemDao.findOne(id);
|
|
|
+ PurcInquiry purcInquiry = purcInquiryItem.getInquiry();
|
|
|
+ // 先判断客户询价单是否存在这张单据
|
|
|
+ PublicInquiry inquiry = publicInquiryDao.findBySourceIdAndSourceApp(purcInquiry.getId(), SOURCERAPP);
|
|
|
+ if (null == inquiry) {// 新增
|
|
|
+ PublicInquiry saleInquiry = new PublicInquiry();
|
|
|
+ saleInquiry.setDate(new Date());
|
|
|
+ saleInquiry.setCode(purcInquiry.getCode());
|
|
|
+ saleInquiry.setEnUU(purcInquiry.getEnUU());
|
|
|
+ saleInquiry.setRecorder(purcInquiry.getRecorder());
|
|
|
+ saleInquiry.setRecorderUU(purcInquiry.getRecorderUU());
|
|
|
+ saleInquiry.setAuditor(purcInquiry.getAuditor());
|
|
|
+ saleInquiry.setSourceApp(SOURCERAPP);
|
|
|
+ saleInquiry.setKind(INQUIRYKIND);
|
|
|
+ saleInquiry.setSourceId(purcInquiry.getId());
|
|
|
+ saleInquiry.setPriceType(purcInquiry.getPriceType());
|
|
|
+ saleInquiry.setInvoice(purcInquiry.getInvoice());
|
|
|
+ saleInquiry.setShip(purcInquiry.getShip());
|
|
|
+ saleInquiry.setEndDate(purcInquiry.getEndDate());
|
|
|
+ if (!CollectionUtils.isEmpty(purcInquiry.getAttachs())) {
|
|
|
+ Set<com.uas.ps.inquiry.model.Attach> attachs = new HashSet<com.uas.ps.inquiry.model.Attach>();
|
|
|
+ for (com.uas.ps.inquiry.model.Attach attach : purcInquiry.getAttachs()) {
|
|
|
+ com.uas.ps.inquiry.model.Attach newAttach = new com.uas.ps.inquiry.model.Attach();
|
|
|
+ newAttach.setDate(new Date());
|
|
|
+ newAttach.setDescription(attach.getDescription());
|
|
|
+ newAttach.setName(attach.getName());
|
|
|
+ newAttach.setPath(attach.getPath());
|
|
|
+ newAttach.setRelatedKey(attach.getRelatedKey());
|
|
|
+ newAttach.setSize(attach.getSize());
|
|
|
+ newAttach.setRelatedKey(attach.getRelatedKey());
|
|
|
+ attachs.add(newAttach);
|
|
|
+ }
|
|
|
+ saleInquiry.setAttachs(attachs);
|
|
|
+
|
|
|
+ }
|
|
|
+ saleInquiry.setEnvironment(purcInquiry.getEnvironment());
|
|
|
+ saleInquiry.setRemark(purcInquiry.getRemark());
|
|
|
+ saleInquiry.setInquirytype(purcInquiry.getInquirytype());
|
|
|
+ Set<PublicInquiryItem> items = new HashSet<PublicInquiryItem>();
|
|
|
+ Short i = 0;
|
|
|
+ if (null != purcInquiryItem) {
|
|
|
+ PublicInquiryItem item = new PublicInquiryItem();
|
|
|
+ Product product = productDao.findOne(purcInquiryItem.getProductId());
|
|
|
+ item.setProductId(product.getId());
|
|
|
+ item.setInquiry(saleInquiry);
|
|
|
+ item.setNumber(i);
|
|
|
+ item.setCurrency(purcInquiryItem.getCurrency());
|
|
|
+ item.setFromDate(new Date());
|
|
|
+ item.setToDate(purcInquiryItem.getToDate());
|
|
|
+ item.setTaxrate(purcInquiryItem.getTaxrate());
|
|
|
+ item.setRemark(purcInquiryItem.getRemark());
|
|
|
+ item.setProductId(purcInquiryItem.getProductId());
|
|
|
+ item.setStatus((short) Status.NOT_REPLY.value());
|
|
|
+ item.setVendUU(enuu);
|
|
|
+ item.setVendUserUU(useruu);
|
|
|
+ item.setSourceApp(purcInquiryItem.getSource());
|
|
|
+ item.setCustLap(Constant.NO);
|
|
|
+ item.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ item.setSourceId(id);
|
|
|
+ Set<PublicInquiryReply> replies = new HashSet<PublicInquiryReply>();
|
|
|
+ PublicInquiryReply reply = new PublicInquiryReply();
|
|
|
+ reply.setLapQty((double) 0);
|
|
|
+ replies.add(reply);
|
|
|
+ item.setReplies(replies);
|
|
|
+ item.setNeedquantity(purcInquiryItem.getNeedquantity());
|
|
|
+ item.setKind(INQUIRYKIND);
|
|
|
+ item.setPrcode(purcInquiryItem.getProdCode());
|
|
|
+ items.add(item);
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ List<PublicInquiryItem> purcitems = publicInquiryItemDao.save(items);
|
|
|
+ if (purcitems.get(0).getId() != null) {
|
|
|
+ map.put("success", "转客户询价单成功");
|
|
|
+ map.put("id", purcitems.get(0).getInquiry().getId());
|
|
|
+ } else {
|
|
|
+ map.put("success", "转客户询价单失败");
|
|
|
+ }
|
|
|
+ } else {// 插入
|
|
|
+ PublicInquiryItem purcItem = publicInquiryItemDao.findByVendUUAndSourceId(enuu, id);
|
|
|
+ if (purcItem != null) {
|
|
|
+ map.put("info", "询价单已存在");
|
|
|
+ map.put("inid", purcItem.getId());
|
|
|
+ } else {
|
|
|
+ if (!CollectionUtils.isEmpty(purcInquiry.getInquiryItems())) {
|
|
|
+ if (null != purcInquiryItem) {
|
|
|
+ // 涉及到级联存储及ERP转入单据的操作,用主表id存储存在问题,这里先用sql语句直接插入
|
|
|
+ PublicInquiryItem item = new PublicInquiryItem();
|
|
|
+ Product product = productDao.findOne(purcInquiryItem.getProductId());
|
|
|
+ item.setProductId(product.getId());
|
|
|
+ item.setNumber((short) (purcInquiry.getInquiryItems().size() + 1));
|
|
|
+ item.setCurrency(purcInquiryItem.getCurrency());
|
|
|
+ item.setFromDate(new Date());
|
|
|
+ item.setToDate(purcInquiryItem.getToDate());
|
|
|
+ item.setTaxrate(purcInquiryItem.getTaxrate());
|
|
|
+ item.setRemark(purcInquiryItem.getRemark());
|
|
|
+ item.setProductId(purcInquiryItem.getProductId());
|
|
|
+ item.setVendUU(enuu);
|
|
|
+ item.setVendUserUU(useruu);
|
|
|
+ item.setSourceApp(purcInquiryItem.getSource());
|
|
|
+ item.setStatus((short) Status.NOT_REPLY.value());
|
|
|
+ item.setCustLap(Constant.NO);
|
|
|
+ item.setSendStatus((short) Status.NOT_UPLOAD.value());
|
|
|
+ item.setSourceId(id);
|
|
|
+ item.setPrcode(purcInquiryItem.getProdCode());
|
|
|
+ item.setKind(INQUIRYKIND);
|
|
|
+ item.setNeedquantity(purcInquiryItem.getNeedquantity());
|
|
|
+ Set<PublicInquiryReply> replies = new HashSet<PublicInquiryReply>();
|
|
|
+ List<PublicInquiryReply> purcReplies = new ArrayList<PublicInquiryReply>();
|
|
|
+ PublicInquiryReply reply = new PublicInquiryReply();
|
|
|
+ reply.setLapQty((double) 0);
|
|
|
+ purcReplies.add(reply);
|
|
|
+ purcReplies = publicInquiryReplyDao.save(purcReplies);
|
|
|
+ replies.addAll(purcReplies);
|
|
|
+ item.setReplies(replies);
|
|
|
+ Long idid = jdbcTemplate.queryForObject("select public$inquiryitems_seq.nextval from dual", Long.class);
|
|
|
+ try {
|
|
|
+ jdbcTemplate.update(
|
|
|
+ "insert into public$inquiryitems(id_id,id_number,id_currency,id_fromdate,id_todate,id_taxrate,id_prid,id_venduu,"
|
|
|
+ + "id_venduseruu,id_sourceapp,id_status,id_custlap,id_sendstatus,id_sourceid,id_inid,id_kind) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
|
|
|
+ idid, item.getNumber(), item.getCurrency(), item.getFromDate(), item.getToDate(),
|
|
|
+ item.getTaxrate(), item.getProductId(), item.getVendUU(), item.getVendUserUU(),
|
|
|
+ item.getSourceApp(), item.getStatus(), item.getCustLap(), item.getSendStatus(),
|
|
|
+ item.getSourceId(), inquiry.getId(), inquiry.getKind());
|
|
|
+ } catch (DataAccessException e) {
|
|
|
+ map.put("info", "转客户询价单失败");
|
|
|
+ }
|
|
|
+ item = publicInquiryItemDao.findOne(idid);
|
|
|
+ //回复清单更新
|
|
|
+ if(replies.size() > 0) {
|
|
|
+ for (PublicInquiryReply reply1 : replies) {
|
|
|
+ jdbcTemplate.update("update public$inquiryreply set ir_idid = " + idid + "where ir_id = " + reply1.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (item != null) {
|
|
|
+ map.put("success", "转客户询价单成功");
|
|
|
+ map.put("id", item.getInquiry().getId());
|
|
|
+ } else {
|
|
|
+ map.put("info", "转客户询价单失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 供应商保存报价信息
|
|
|
+ *
|
|
|
+ * @param item 报价信息
|
|
|
+ * @return
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-14 16:43
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public PublicInquiryItem save(PublicInquiryItem item) {
|
|
|
+ return publicInquiryItemDao.save(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存询价信息
|
|
|
+ *
|
|
|
+ * @param items 询价信息
|
|
|
+ * @return
|
|
|
+ * @author hejq
|
|
|
+ * @date 2018-01-15 9:16
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<PublicInquiryItem> save(List<PublicInquiryItem> items) {
|
|
|
+ return publicInquiryItemDao.save(items);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|