供方入围可添加供应商
This commit is contained in:
		
							parent
							
								
									6ac2d09c7d
								
							
						
					
					
						commit
						756428b3e2
					
				| 
						 | 
					@ -1,10 +1,21 @@
 | 
				
			||||||
package shkd.repc.rebm.formplugin;
 | 
					package shkd.repc.rebm.formplugin;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.grapecity.documents.excel.B;
 | 
					import com.grapecity.documents.excel.B;
 | 
				
			||||||
 | 
					import kd.bos.context.RequestContext;
 | 
				
			||||||
import kd.bos.dataentity.entity.DynamicObject;
 | 
					import kd.bos.dataentity.entity.DynamicObject;
 | 
				
			||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
					import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
				
			||||||
 | 
					import kd.bos.dataentity.resource.ResManager;
 | 
				
			||||||
 | 
					import kd.bos.entity.EntityMetadataCache;
 | 
				
			||||||
 | 
					import kd.bos.entity.EntityType;
 | 
				
			||||||
 | 
					import kd.bos.entity.datamodel.IDataModel;
 | 
				
			||||||
 | 
					import kd.bos.entity.datamodel.IEntryOperate;
 | 
				
			||||||
import kd.bos.entity.datamodel.events.ChangeData;
 | 
					import kd.bos.entity.datamodel.events.ChangeData;
 | 
				
			||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 | 
					import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 | 
				
			||||||
 | 
					import kd.bos.form.control.Control;
 | 
				
			||||||
 | 
					import kd.bos.form.control.EntryGrid;
 | 
				
			||||||
 | 
					import kd.bos.form.events.AfterDoOperationEventArgs;
 | 
				
			||||||
 | 
					import kd.bos.form.events.BeforeDoOperationEventArgs;
 | 
				
			||||||
 | 
					import kd.bos.form.operate.FormOperate;
 | 
				
			||||||
import kd.bos.orm.query.QCP;
 | 
					import kd.bos.orm.query.QCP;
 | 
				
			||||||
import kd.bos.orm.query.QFilter;
 | 
					import kd.bos.orm.query.QFilter;
 | 
				
			||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
					import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
				
			||||||
| 
						 | 
					@ -12,10 +23,57 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
 | 
				
			||||||
import kd.repc.rebm.formplugin.bill.SupplierInvitationBidNumEdit;
 | 
					import kd.repc.rebm.formplugin.bill.SupplierInvitationBidNumEdit;
 | 
				
			||||||
import kd.repc.resm.business.portrait.IPortraitService;
 | 
					import kd.repc.resm.business.portrait.IPortraitService;
 | 
				
			||||||
import kd.repc.resm.business.portrait.PortraitServiceImpl;
 | 
					import kd.repc.resm.business.portrait.PortraitServiceImpl;
 | 
				
			||||||
 | 
					import kd.scm.bid.common.enums.MyTenderStatus;
 | 
				
			||||||
 | 
					import kd.scm.bid.common.util.SupplierHelper;
 | 
				
			||||||
 | 
					import kd.scm.ten.common.util.BackBidWayUtil;
 | 
				
			||||||
 | 
					import kd.scm.ten.common.util.CommonUtil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class SupplierInvitationFormPlugin extends SupplierInvitationBidNumEdit {
 | 
					public class SupplierInvitationFormPlugin extends SupplierInvitationBidNumEdit {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    IPortraitService portraitService = new PortraitServiceImpl();
 | 
					    IPortraitService portraitService = new PortraitServiceImpl();
 | 
				
			||||||
 | 
					    private HashMap<String, DynamicObject> projectSectionIDMap = new HashMap();
 | 
				
			||||||
 | 
					    private HashMap<Long, DynamicObject> projectSectionMap = new HashMap();
 | 
				
			||||||
 | 
					    List<String> isCheckList = new ArrayList();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void beforeDoOperation(BeforeDoOperationEventArgs args) {
 | 
				
			||||||
 | 
					        super.beforeDoOperation(args);
 | 
				
			||||||
 | 
					        FormOperate source = (FormOperate) args.getSource();
 | 
				
			||||||
 | 
					        String operateKey = source.getOperateKey();
 | 
				
			||||||
 | 
					        if ("addsupplierdetail".equals(operateKey)){
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
 | 
				
			||||||
 | 
					        super.afterDoOperation(afterDoOperationEventArgs);
 | 
				
			||||||
 | 
					        String operateKey = afterDoOperationEventArgs.getOperateKey();
 | 
				
			||||||
 | 
					        DynamicObject bidproject = (DynamicObject) this.getModel().getValue("bidproject");
 | 
				
			||||||
 | 
					        if ("addsupplierdetail".equals(operateKey)){
 | 
				
			||||||
 | 
					            EntryGrid SEEntryGrid = this.getControl("supplierenrollentry");
 | 
				
			||||||
 | 
					            DynamicObjectCollection SEEntry = this.getModel().getEntryEntity("supplierenrollentry");
 | 
				
			||||||
 | 
					            int[] selectRows = SEEntryGrid.getSelectRows();
 | 
				
			||||||
 | 
					            this.getView().showTipNotification(String.valueOf(selectRows[0]));
 | 
				
			||||||
 | 
					            for (int selectRow : selectRows) {
 | 
				
			||||||
 | 
					                DynamicObject dy = SEEntry.get(selectRow);
 | 
				
			||||||
 | 
					                DynamicObject enrollsupplier = dy.getDynamicObject("enrollsupplier");//报名供应商
 | 
				
			||||||
 | 
					                if (enrollsupplier != null){
 | 
				
			||||||
 | 
					                    Object enrollsupplierPkValue = enrollsupplier.getPkValue();
 | 
				
			||||||
 | 
					                    boolean flag = checkSupplierCollection(enrollsupplierPkValue,bidproject);
 | 
				
			||||||
 | 
					                    if (!flag){
 | 
				
			||||||
 | 
					                        this.createRespMyTender(enrollsupplierPkValue);
 | 
				
			||||||
 | 
					                        DynamicObject dataEntity = this.getModel().getDataEntity();
 | 
				
			||||||
 | 
					                        SaveServiceHelper.save(new DynamicObject[]{dataEntity});
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void propertyChanged(PropertyChangedArgs args) {
 | 
					    public void propertyChanged(PropertyChangedArgs args) {
 | 
				
			||||||
        ChangeData changeData = args.getChangeSet()[0];
 | 
					        ChangeData changeData = args.getChangeSet()[0];
 | 
				
			||||||
| 
						 | 
					@ -61,10 +119,11 @@ public class SupplierInvitationFormPlugin extends SupplierInvitationBidNumEdit {
 | 
				
			||||||
                DynamicObject rebm_supplierstatistic = BusinessDataServiceHelper.loadSingle("rebm_supplierstatistic", qFilter.toArray());
 | 
					                DynamicObject rebm_supplierstatistic = BusinessDataServiceHelper.loadSingle("rebm_supplierstatistic", qFilter.toArray());
 | 
				
			||||||
                DynamicObject resm_official_supplier = BusinessDataServiceHelper.loadSingle(suppPk, "resm_official_supplier");
 | 
					                DynamicObject resm_official_supplier = BusinessDataServiceHelper.loadSingle(suppPk, "resm_official_supplier");
 | 
				
			||||||
                DynamicObjectCollection entry_linkman = resm_official_supplier.getDynamicObjectCollection("entry_linkman");//查询联系人分录数据
 | 
					                DynamicObjectCollection entry_linkman = resm_official_supplier.getDynamicObjectCollection("entry_linkman");//查询联系人分录数据
 | 
				
			||||||
 | 
					                String company_address = resm_official_supplier.getString("company_address");//公司地址
 | 
				
			||||||
 | 
					                suppRow.set("enrolladdress",company_address);
 | 
				
			||||||
                for (DynamicObject dynamicObject : entry_linkman) {
 | 
					                for (DynamicObject dynamicObject : entry_linkman) {
 | 
				
			||||||
                    boolean isdefault_linkman = dynamicObject.getBoolean("isdefault_linkman");
 | 
					 | 
				
			||||||
                    boolean isopenaccount = dynamicObject.getBoolean("isopenaccount");
 | 
					                    boolean isopenaccount = dynamicObject.getBoolean("isopenaccount");
 | 
				
			||||||
                    if (isopenaccount && isdefault_linkman){
 | 
					                    if (isopenaccount){
 | 
				
			||||||
                        suppRow.set("enrollsuppliercontact",dynamicObject.getString("contactperson"));//联系人名称
 | 
					                        suppRow.set("enrollsuppliercontact",dynamicObject.getString("contactperson"));//联系人名称
 | 
				
			||||||
                        String contactphone = dynamicObject.getString("contactphone");
 | 
					                        String contactphone = dynamicObject.getString("contactphone");
 | 
				
			||||||
                        if (contactphone.contains("+86-")){
 | 
					                        if (contactphone.contains("+86-")){
 | 
				
			||||||
| 
						 | 
					@ -84,5 +143,78 @@ public class SupplierInvitationFormPlugin extends SupplierInvitationBidNumEdit {
 | 
				
			||||||
            this.getView().updateView(entryName);
 | 
					            this.getView().updateView(entryName);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void createRespMyTender(Object supplierId ){
 | 
				
			||||||
 | 
					        DynamicObject bidproject = (DynamicObject) this.getModel().getValue("bidproject");//获取招标立项f7数据
 | 
				
			||||||
 | 
					        Object bidproject_pkValue = bidproject.getPkValue();
 | 
				
			||||||
 | 
					        DynamicObject bid_project = BusinessDataServiceHelper.loadSingle(bidproject_pkValue, "rebm_bidproject_f7");//获取招标立项完整数据
 | 
				
			||||||
 | 
					        QFilter announcement_qf  = new QFilter("project.id",QCP.equals,bidproject_pkValue);//查找招标公告
 | 
				
			||||||
 | 
					        DynamicObject announcement = BusinessDataServiceHelper.loadSingle("ten_announcement_f7", announcement_qf.toArray());
 | 
				
			||||||
 | 
					        DynamicObject myTender = new DynamicObject(EntityMetadataCache.getDataEntityType("resp_mytender"));
 | 
				
			||||||
 | 
					        myTender.set("name", announcement.getString("annotitle"));//招标名称:取招标立项名称
 | 
				
			||||||
 | 
					        myTender.set("billstatus", "C");//默认设置状态为c
 | 
				
			||||||
 | 
					        myTender.set("org", bid_project.getDynamicObject("org"));
 | 
				
			||||||
 | 
					        myTender.set("bidproject", bid_project);//设置招标立项
 | 
				
			||||||
 | 
					        myTender.set("ispublicbid", true);//是否公开招标   默认设置:true
 | 
				
			||||||
 | 
					        myTender.set("tenderstatus", MyTenderStatus.APPLIED);//投标状态, 供方入围添加默认设置为已入围
 | 
				
			||||||
 | 
					        myTender.set("publishdate", announcement.getDate("publishdate"));//发布日期
 | 
				
			||||||
 | 
					        myTender.set("announcement", announcement);//招标公告
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Long adminUserId = SupplierHelper.listAdminUserIdBySupplier(Long.parseLong(supplierId.toString()));
 | 
				
			||||||
 | 
					        myTender.set("tenderer", adminUserId);//投标人
 | 
				
			||||||
 | 
					        myTender.set("supplier", supplierId);//供应商
 | 
				
			||||||
 | 
					        myTender.set("createtime", new Date());//创建日期
 | 
				
			||||||
 | 
					        myTender.set("entitytypeid", "resp_mytender");//entitytypeid
 | 
				
			||||||
 | 
					        String backBidWay = bid_project.getString("backbidway");
 | 
				
			||||||
 | 
					        String docType = bid_project.getString("doctype");
 | 
				
			||||||
 | 
					        String backType = BackBidWayUtil.getBackBidType(backBidWay, docType);
 | 
				
			||||||
 | 
					        myTender.set("backbidway", backBidWay);//回标方式
 | 
				
			||||||
 | 
					        myTender.set("backbidtype", backType);//回标类型
 | 
				
			||||||
 | 
					        myTender.set("rounds", 1);//轮次
 | 
				
			||||||
 | 
					        //列表展示轮次
 | 
				
			||||||
 | 
					        myTender.set("listrounds", String.format(ResManager.loadKDString("第%s次", "OnlineBidUtil_0", "scm-ten-formplugin", new Object[0]), CommonUtil.toChinese("1")));
 | 
				
			||||||
 | 
					        EntityType myTenderEntryEntityType = (EntityType)EntityMetadataCache.getDataEntityType("resp_mytender").getAllEntities().get("entry");//标段分录
 | 
				
			||||||
 | 
					        EntityType myTenderSupplierDetailType = (EntityType)EntityMetadataCache.getDataEntityType("resp_mytender").getAllEntities().get("supplierdetail");//报价明细
 | 
				
			||||||
 | 
					        DynamicObjectCollection myTenderEntryColl = new DynamicObjectCollection(myTenderEntryEntityType,myTender);//构建标段分录对象
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        DynamicObject resm_project= BusinessDataServiceHelper.loadSingle(bidproject_pkValue, "rebm_bidproject_f7");//查询招标单完整数据
 | 
				
			||||||
 | 
					        DynamicObjectCollection bidsection = resm_project.getDynamicObjectCollection("bidsection");
 | 
				
			||||||
 | 
					        for (int i = 0; i < bidsection.size(); i++){
 | 
				
			||||||
 | 
					            DynamicObject myTenderEntry = new DynamicObject(myTenderEntryEntityType);
 | 
				
			||||||
 | 
					            DynamicObject section = bidsection.get(i);
 | 
				
			||||||
 | 
					            myTenderEntry.set("projectSection", section);
 | 
				
			||||||
 | 
					            myTenderEntry.set("seq", i);
 | 
				
			||||||
 | 
					            myTenderEntry.set("sectionname", section.get("sectionname"));
 | 
				
			||||||
 | 
					            myTenderEntry.set("sectionstatus", MyTenderStatus.APPLIED);
 | 
				
			||||||
 | 
					            myTenderEntryColl.add(myTenderEntry);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        myTender.set("entry", myTenderEntryColl);
 | 
				
			||||||
 | 
					        SaveServiceHelper.save(new DynamicObject[]{myTender});
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * 校验供应商集合是否符合存在投标单
 | 
				
			||||||
 | 
					     * @param
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public boolean checkSupplierCollection(Object supplierId,DynamicObject bidproject ){
 | 
				
			||||||
 | 
					        QFilter mytender_QF = new QFilter("bidproject.id", QCP.equals, bidproject.getPkValue());
 | 
				
			||||||
 | 
					        mytender_QF.and("supplier.id",QCP.equals,supplierId);
 | 
				
			||||||
 | 
					        DynamicObject resp_mytender = BusinessDataServiceHelper.loadSingle("resp_mytender", mytender_QF.toArray());
 | 
				
			||||||
 | 
					//        DynamicObject announcement = resp_mytender.getDynamicObject("announcement");
 | 
				
			||||||
 | 
					//        Date publishdate = announcement.getDate("publishdate");
 | 
				
			||||||
 | 
					//        String tenderstatus = resp_mytender.getString("tenderstatus");
 | 
				
			||||||
 | 
					//        this.getView().showTipNotification(tenderstatus);
 | 
				
			||||||
 | 
					//        DynamicObjectCollection entry = resp_mytender.getDynamicObjectCollection("entry");
 | 
				
			||||||
 | 
					//        for (DynamicObject dynamicObject : entry) {
 | 
				
			||||||
 | 
					//            String sectionstatus = dynamicObject.getString("sectionstatus");
 | 
				
			||||||
 | 
					//            this.getView().showTipNotification(sectionstatus);
 | 
				
			||||||
 | 
					//        }
 | 
				
			||||||
 | 
					        if (resp_mytender != null){
 | 
				
			||||||
 | 
					           return true;
 | 
				
			||||||
 | 
					        }else {
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue