|
|
@@ -53,8 +53,9 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
@Autowired
|
|
|
private EnterpriseBaseInfoDao enterpriseBaseInfoDao;
|
|
|
|
|
|
- @Autowired
|
|
|
- private CommonDao commonDao;
|
|
|
+ @Autowired
|
|
|
+ private CommonDao commonDao;
|
|
|
+
|
|
|
/**
|
|
|
* 保存招标单
|
|
|
*
|
|
|
@@ -85,7 +86,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
saveTenderItem(tender, vendUUs);
|
|
|
}
|
|
|
|
|
|
- private void saveTenderItem (PurchaseTender tender, List<Long> vendUUs) {
|
|
|
+ private void saveTenderItem(PurchaseTender tender, List<Long> vendUUs) {
|
|
|
// List<SaleTenderItem> saleTenderItems = new ArrayList<>();
|
|
|
Set<PurchaseTenderProd> tenderProds = tender.getPurchaseTenderProds();
|
|
|
for (PurchaseTenderProd tenderProd : tenderProds) {
|
|
|
@@ -117,7 +118,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Attach addTenderAttaches(FileUpload uploadItem) throws Exception{
|
|
|
+ public Attach addTenderAttaches(FileUpload uploadItem) throws Exception {
|
|
|
if (uploadItem.getFile() == null) {
|
|
|
throw new Exception("没有附件");
|
|
|
}
|
|
|
@@ -129,7 +130,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Attach addTenderItemAttaches(FileUpload uploadItem) throws Exception{
|
|
|
+ public Attach addTenderItemAttaches(FileUpload uploadItem) throws Exception {
|
|
|
if (uploadItem.getFile() == null) {
|
|
|
throw new Exception("没有附件");
|
|
|
}
|
|
|
@@ -171,7 +172,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
Predicate p2 = builder.equal(root.get("isPublish"), Constant.YES);
|
|
|
Predicate p3 = builder.notEqual(root.get("enUU"), SystemSession.getUser().getEnterprise().getUu());
|
|
|
Predicate p4 = builder.notEqual(root.get("status"), "待投标");
|
|
|
- Predicate predicate = builder.and(p1,p2,p3,p4);
|
|
|
+ Predicate predicate = builder.and(p1, p2, p3, p4);
|
|
|
query.where(predicate);
|
|
|
return null;
|
|
|
}
|
|
|
@@ -179,23 +180,40 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void delete(Long id) {
|
|
|
+ public ModelMap delete(Long id) {
|
|
|
PurchaseTender tender = purchaseTenderDao.findOne(id);
|
|
|
if (null != tender) {
|
|
|
List<SaleTender> saleTenders = saleTenderDao.findByEnUUAndCode(tender.getEnUU(), tender.getCode());
|
|
|
if (!CollectionUtils.isEmpty(saleTenders)) {
|
|
|
for (SaleTender saleTender : saleTenders) {
|
|
|
if (!CollectionUtils.isEmpty(saleTender.getSaleTenderItems())) {
|
|
|
- saleTenderItemDao.delete(saleTender.getSaleTenderItems());
|
|
|
+ for (SaleTenderItem saleTenderItem : saleTender.getSaleTenderItems()) {
|
|
|
+ SaleTenderItem oldItem = saleTenderItemDao.findOne(saleTenderItem.getId());
|
|
|
+ if (oldItem != null) {
|
|
|
+ saleTenderItemDao.delete(oldItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ SaleTender oldSaleTender = saleTenderDao.findOne(saleTender.getId());
|
|
|
+ if (oldSaleTender != null) {
|
|
|
+ saleTenderDao.delete(oldSaleTender);
|
|
|
}
|
|
|
}
|
|
|
- saleTenderDao.delete(saleTenders);
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(tender.getPurchaseTenderProds())) {
|
|
|
- purchaseTenderProdDao.delete(tender.getPurchaseTenderProds());
|
|
|
+ for (PurchaseTenderProd tenderProd : tender.getPurchaseTenderProds()) {
|
|
|
+ PurchaseTenderProd oldtenderProd = purchaseTenderProdDao.findOne(tenderProd.getId());
|
|
|
+ if (oldtenderProd != null) {
|
|
|
+ purchaseTenderProdDao.delete(oldtenderProd);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PurchaseTender oldTender = purchaseTenderDao.findOne(tender.getId());
|
|
|
+ if (oldTender != null) {
|
|
|
+ purchaseTenderDao.delete(oldTender);
|
|
|
}
|
|
|
- purchaseTenderDao.delete(tender);
|
|
|
}
|
|
|
+ return new ModelMap();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -287,7 +305,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
SaleTenderItem tenderItem = new SaleTenderItem();
|
|
|
// 找不到投标单主表才新建一个
|
|
|
- SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnterprise().getUu(), enBaseInfo.getUu(), tender.getCode());
|
|
|
+ SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnterprise().getUu(), enBaseInfo.getUu(), tender.getCode());
|
|
|
if (null == saleTender) { // 不存在投标单说明未转投标单,进行新增投标单操作
|
|
|
saleTender = new SaleTender(tender);
|
|
|
saleTender.setVendUU(enBaseInfo.getUu()); // 投标单主表构造完毕
|
|
|
@@ -310,7 +328,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void publishSaved(PurchaseTender purchaseTender, List<Long> vendUUs) {
|
|
|
- publishOrSave(purchaseTender, vendUUs , true , false);
|
|
|
+ publishOrSave(purchaseTender, vendUUs, true, false);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -320,7 +338,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void publishSavedOpen(PurchaseTender purchaseTender) {
|
|
|
- publishOrSave(purchaseTender, null , true , true);
|
|
|
+ publishOrSave(purchaseTender, null, true, true);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -331,7 +349,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void updateSaved(PurchaseTender purchaseTender, List<Long> vendUUs) {
|
|
|
- publishOrSave(purchaseTender, vendUUs , false , false);
|
|
|
+ publishOrSave(purchaseTender, vendUUs, false, false);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -341,7 +359,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void updateSavedOpen(PurchaseTender purchaseTender) {
|
|
|
- publishOrSave(purchaseTender, null , false , false);
|
|
|
+ publishOrSave(purchaseTender, null, false, false);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -416,6 +434,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
oldTenderProd.setProdTitle(tenderProd.getProdTitle());
|
|
|
oldTenderProd.setUnit(tenderProd.getUnit());
|
|
|
oldTenderProd.setQty(tenderProd.getQty());
|
|
|
+ oldTenderProd.setSaleTenderItems(Collections.emptySet());
|
|
|
purchaseTenderProdDao.save(oldTenderProd);
|
|
|
} else { // 新增的
|
|
|
tenderProd.setTender(oldTender);
|
|
|
@@ -442,14 +461,15 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据供应商信息和招标单新增投标单
|
|
|
+ * 根据供应商信息和招标单新增投标单
|
|
|
+ *
|
|
|
* @param tender
|
|
|
* @param vendUUs
|
|
|
* @param tenderProd
|
|
|
*/
|
|
|
private void addSaleTender(PurchaseTender tender, List<Long> vendUUs, PurchaseTenderProd tenderProd) {
|
|
|
List<Enterprise> vendors = new ArrayList<>();
|
|
|
- for (Long vendUU: vendUUs) {
|
|
|
+ for (Long vendUU : vendUUs) {
|
|
|
Enterprise vendor = enterpriseDao.findOne(vendUU);
|
|
|
vendors.add(vendor);
|
|
|
}
|
|
|
@@ -461,7 +481,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
SaleTenderItem tenderItem = new SaleTenderItem();
|
|
|
// 找不到投标单主表才新建一个,确保只有一个投标单
|
|
|
if (tender.getEnUU() != null && enBaseInfo.getUu() != null && tender.getCode() != null) {
|
|
|
- SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnUU(), enBaseInfo.getUu(), tender.getCode());
|
|
|
+ SaleTender saleTender = saleTenderDao.findByEnUUAndVendUUAndCode(tender.getEnUU(), enBaseInfo.getUu(), tender.getCode());
|
|
|
if (null == saleTender) {
|
|
|
saleTender = new SaleTender(tender);
|
|
|
saleTender.setVendUU(enBaseInfo.getUu());
|
|
|
@@ -514,7 +534,6 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
/**
|
|
|
* 投标
|
|
|
*
|
|
|
- *
|
|
|
* @param tenderItems
|
|
|
* @param enBaseInfo
|
|
|
* @return
|
|
|
@@ -638,14 +657,14 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Long getTenderTodoCount() {
|
|
|
- Long count = commonDao.queryForObject(
|
|
|
- "select count(*) from v$purc$tender pu left join sale$tender sa on sa.st_code = pu.pt_code and sa.st_enuu = pu.pt_enuu where pu.pt_ispublish = 1 and pu.pt_overdue = 0 and sa.st_venduu = "
|
|
|
- + SystemSession.getUser().getEnterprise().getUu(),
|
|
|
- Long.class);
|
|
|
- return count;
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public Long getTenderTodoCount() {
|
|
|
+ Long count = commonDao.queryForObject(
|
|
|
+ "select count(*) from v$purc$tender pu left join sale$tender sa on sa.st_code = pu.pt_code and sa.st_enuu = pu.pt_enuu where pu.pt_ispublish = 1 and pu.pt_overdue = 0 and sa.st_venduu = "
|
|
|
+ + SystemSession.getUser().getEnterprise().getUu(),
|
|
|
+ Long.class);
|
|
|
+ return count;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 待投标的招标单(采购)
|
|
|
@@ -669,7 +688,7 @@ public class PurchaseTenderServiceImpl implements PurchaseTenderService {
|
|
|
@Override
|
|
|
public Long getSaleTenderWaitingCount() {
|
|
|
Long count = commonDao.queryForObject(
|
|
|
- "select count(*) from v$purc$tender pu where pu.pt_ispublish = 1 and pu.pt_overdue = 1 and pu.pt_result = 0 and pu.pt_enuu = "
|
|
|
+ "select count(*) from v$purc$tender pu where pu.pt_ispublish = 1 and pu.pt_overdue = 1 and pu.pt_result = 0 and pu.pt_status = '待评标' and pu.pt_enuu = "
|
|
|
+ SystemSession.getUser().getEnterprise().getUu(),
|
|
|
Long.class);
|
|
|
return count;
|