工程进度表分录拆分
This commit is contained in:
		
							parent
							
								
									eebd9c6b40
								
							
						
					
					
						commit
						e6d569774c
					
				| 
						 | 
				
			
			@ -0,0 +1,81 @@
 | 
			
		|||
package shkd.repc.recon.formplugin;
 | 
			
		||||
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObject;
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
			
		||||
import kd.bos.dataentity.utils.OrmUtils;
 | 
			
		||||
import kd.bos.dataentity.utils.StringUtils;
 | 
			
		||||
import kd.bos.entity.datamodel.RowDataEntity;
 | 
			
		||||
import kd.bos.entity.datamodel.events.AfterAddRowEventArgs;
 | 
			
		||||
import kd.bos.form.events.AfterDoOperationEventArgs;
 | 
			
		||||
import kd.bos.form.events.BeforeDoOperationEventArgs;
 | 
			
		||||
import kd.bos.form.operate.FormOperate;
 | 
			
		||||
import kd.bos.form.plugin.AbstractFormPlugin;
 | 
			
		||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
			
		||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
 | 
			
		||||
import kd.sdk.plugin.Plugin;
 | 
			
		||||
 | 
			
		||||
import java.text.SimpleDateFormat;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 动态表单插件
 | 
			
		||||
 */
 | 
			
		||||
public class ProjectProgressBillPlugin extends AbstractFormPlugin implements Plugin {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     *将分录拆分成表单
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void beforeDoOperation(BeforeDoOperationEventArgs args) {
 | 
			
		||||
        super.beforeDoOperation(args);
 | 
			
		||||
        FormOperate source = (FormOperate) args.getSource();
 | 
			
		||||
        String operateKey = source.getOperateKey();
 | 
			
		||||
        if ("save".equals(operateKey)){
 | 
			
		||||
            DynamicObjectCollection entryEntity = this.getView().getModel().getEntryEntity("qeug_entryentity");
 | 
			
		||||
            if (null!=entryEntity&&entryEntity.size()>1){
 | 
			
		||||
                // 从倒数第二条开始循环,到第一条
 | 
			
		||||
                for (int i = entryEntity.size() - 1; i >= 0; i--) {
 | 
			
		||||
                    if (i == 0) {
 | 
			
		||||
                        break; // 退出循环
 | 
			
		||||
                    }
 | 
			
		||||
                    //拆分
 | 
			
		||||
                    DynamicObject projectProgress = BusinessDataServiceHelper.newDynamicObject("qeug_projectprogress");
 | 
			
		||||
                    DynamicObjectCollection entry = projectProgress.getDynamicObjectCollection("qeug_entryentity");
 | 
			
		||||
                    DynamicObject cloneTargetTrip = (DynamicObject) OrmUtils.clone(entryEntity.get(i), false, true);
 | 
			
		||||
                    entry.add(cloneTargetTrip);
 | 
			
		||||
                    SaveServiceHelper.save(new DynamicObject[]{projectProgress});
 | 
			
		||||
                    this.getModel().deleteEntryRow("qeug_entryentity", i);
 | 
			
		||||
                }
 | 
			
		||||
                this.getView().showMessage("数据已拆分显示,请退出查看!");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void afterAddRow(AfterAddRowEventArgs e) {
 | 
			
		||||
        super.afterAddRow(e);
 | 
			
		||||
        if (StringUtils.equals("qeug_entryentity",e.getEntryProp().getName())){
 | 
			
		||||
            RowDataEntity[] rowDataEntities = e.getRowDataEntities();
 | 
			
		||||
            for (int i = 0; i < rowDataEntities.length; i++) {
 | 
			
		||||
                RowDataEntity rowDataEntity = rowDataEntities[i];
 | 
			
		||||
                int rowIndex = rowDataEntity.getRowIndex();
 | 
			
		||||
                int number=rowIndex+1;
 | 
			
		||||
                this.getModel().setValue("qeug_number","GCJD-"+getNumber()+"-"+number,rowIndex);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getNumber(){
 | 
			
		||||
        Date currentDate = new Date();
 | 
			
		||||
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 | 
			
		||||
 | 
			
		||||
        return sdf.format(currentDate);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue