parent
b15b2a5d2b
commit
d0dd9b3890
|
@ -4,9 +4,15 @@ import com.google.common.collect.Lists;
|
|||
import kd.bos.bill.OperationStatus;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.entity.ILocaleString;
|
||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||
import kd.bos.entity.BasedataEntityType;
|
||||
import kd.bos.entity.datamodel.IDataModel;
|
||||
import kd.bos.entity.datamodel.events.BeforeDeleteEntryEventArgs;
|
||||
import kd.bos.entity.datamodel.events.IDataModelChangeListener;
|
||||
import kd.bos.entity.property.BasedataProp;
|
||||
import kd.bos.entity.property.EntryProp;
|
||||
import kd.bos.entity.property.MulBasedataProp;
|
||||
import kd.bos.form.*;
|
||||
import kd.bos.form.control.AttachmentPanel;
|
||||
import kd.bos.form.control.EntryGrid;
|
||||
|
@ -14,6 +20,9 @@ import kd.bos.form.control.events.UploadEvent;
|
|||
import kd.bos.form.control.events.UploadListener;
|
||||
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.events.AfterBindingDataEvent;
|
||||
import kd.bos.form.field.events.BasedataEditListener;
|
||||
import kd.bos.form.operate.FormOperate;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.list.ListFilterParameter;
|
||||
|
@ -49,7 +58,86 @@ import java.util.regex.Pattern;
|
|||
* qeug_recon_supplyconb_ext 补充合同
|
||||
* qeug_recon_temptofixb_ext 暂转固
|
||||
*/
|
||||
public class ContractFormPlugin extends AbstractFormPlugin implements UploadListener {
|
||||
public class ContractFormPlugin extends AbstractFormPlugin implements UploadListener, BasedataEditListener, IDataModelChangeListener {
|
||||
|
||||
|
||||
|
||||
private static final String BASEDATA_FIELD = "multitypepartya";
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
super.initialize();
|
||||
this.getModel().addDataModelChangeListener(this);
|
||||
BasedataEdit mulEdit = this.getControl(BASEDATA_FIELD);
|
||||
mulEdit.addBasedataEditListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterBindingData(AfterBindingDataEvent afterBindingDataEvent) {
|
||||
BasedataEdit edit = (BasedataEdit) afterBindingDataEvent.getSource();
|
||||
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
||||
DynamicObject basedata_field = dataEntity.getDynamicObject(BASEDATA_FIELD);
|
||||
if (!basedata_field.getDynamicObjectType().getName().equals("bos_org")){
|
||||
return;
|
||||
}
|
||||
Object v = afterBindingDataEvent.getDataEntity();
|
||||
Object displayProp = "";
|
||||
|
||||
if (v == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
BasedataEntityType dt;
|
||||
if (((DynamicObject) v).getDataEntityType() instanceof BasedataEntityType) {
|
||||
dt = (BasedataEntityType) ((DynamicObject) v).getDataEntityType();
|
||||
} else {
|
||||
dt = (BasedataEntityType) ((BasedataProp) edit.getProperty()).getComplexType();
|
||||
}
|
||||
|
||||
//获取数据包中的名称字段值
|
||||
String nameKey = dt.getNameProperty();
|
||||
IDataEntityProperty p2 = dt.findProperty(nameKey);
|
||||
if (p2 != null) {
|
||||
displayProp = p2.getValueFast(v);
|
||||
if (displayProp instanceof ILocaleString) {
|
||||
displayProp = displayProp.toString();
|
||||
}
|
||||
}
|
||||
if (BASEDATA_FIELD.equals(edit.getKey())) {
|
||||
nameKey = "ffirmname";
|
||||
}
|
||||
|
||||
//动态修改基础资料的显示属性为公司名称
|
||||
Object pkValue = basedata_field.getPkValue();
|
||||
String name = dt.getName();
|
||||
DynamicObject single = BusinessDataServiceHelper.loadSingle(pkValue, name);
|
||||
if (!single.getString(nameKey).isEmpty()){
|
||||
displayProp = String.format("%s", single.getString(nameKey));
|
||||
}
|
||||
//设置显示属性
|
||||
afterBindingDataEvent.setDisplayProp(displayProp.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取配置的编辑显示属性
|
||||
*
|
||||
* @param property
|
||||
* @return
|
||||
*/
|
||||
private String getEditSearchProp(IDataEntityProperty property) {
|
||||
BasedataProp basedataProp = null;
|
||||
|
||||
if ((property instanceof BasedataProp)) {
|
||||
basedataProp = (BasedataProp) property;
|
||||
} else if (property instanceof MulBasedataProp) {
|
||||
basedataProp = (BasedataProp) ((MulBasedataProp) property).getRefBaseProp();
|
||||
}
|
||||
|
||||
return basedataProp.getEditSearchProp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
|
@ -466,6 +554,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadList
|
|||
this.getView().showForm(parameter);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// case "newentry1":
|
||||
|
|
|
@ -2,23 +2,46 @@ package shkd.repc.recon.listplugin;
|
|||
|
||||
import kd.bos.form.events.ExportFileEvent;
|
||||
import kd.bos.form.events.FlexBeforeClosedEvent;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.list.plugin.IListPlugin;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
/**
|
||||
* 合同明细清单列表插件
|
||||
* qeug_contractsummarylist
|
||||
*/
|
||||
public class ContractSummaryListPlugin implements IListPlugin {
|
||||
|
||||
public class ContractSummaryListPlugin extends AbstractListPlugin implements IListPlugin {
|
||||
|
||||
/** 导出文件后事件,可以用来修改导出的文件内容,比如修改excel数据、格式、加密等 */
|
||||
public void afterExportFile(ExportFileEvent e) {
|
||||
File file = e.getFile();
|
||||
|
||||
// if (file != null) {
|
||||
// try (FileInputStream fis = new FileInputStream(file);) {
|
||||
// Workbook wb = new XSSFWorkbook(fis);
|
||||
// Sheet sheet = wb.getSheetAt(0);
|
||||
// // 修改背景颜色(示例写死,自行修改)
|
||||
// for (int i = 0; i < 3; i++) {
|
||||
// CellStyle cs = wb.createCellStyle();
|
||||
// cs.setFillForegroundColor(IndexedColors.RED.getIndex());
|
||||
// cs.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
// cs.setLocked(true);
|
||||
// sheet.getRow(i).getCell(1).setCellStyle(cs);
|
||||
// }
|
||||
// // 保存
|
||||
// FileOutputStream out = new FileOutputStream(file);
|
||||
// wb.write(out);
|
||||
// wb.close();
|
||||
// out.close();
|
||||
// } catch (Throwable ex) {
|
||||
// ex.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPluginName() {
|
||||
return null;
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package shkd.repc.recon.opplugin;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import kd.bos.entity.api.ApiResult;
|
||||
import kd.bos.entity.plugin.ImportLogger;
|
||||
import kd.bos.form.plugin.impt.BatchImportPlugin;
|
||||
import kd.bos.form.plugin.impt.ImportBillData;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class IntroduceContractPlugin extends BatchImportPlugin {
|
||||
@Override
|
||||
protected ApiResult save(List<ImportBillData> rowdatas, ImportLogger logger) {
|
||||
Iterator<ImportBillData> iterator = rowdatas.iterator();
|
||||
while (iterator.hasNext()){
|
||||
ImportBillData importBillData = iterator.next();
|
||||
JSONObject data = importBillData.getData();
|
||||
String qeug_bcdecimalqty = (String) data.get("qeug_bcdecimalqty");//本次完工量
|
||||
String qeug_decimalqty = (String) data.get("qeug_decimalqty");//工程量
|
||||
double bcdecimalqty = 0;
|
||||
double decimalqty =0;
|
||||
try {
|
||||
bcdecimalqty = Double.parseDouble(qeug_bcdecimalqty);
|
||||
decimalqty = Double.parseDouble(qeug_decimalqty);
|
||||
} catch (NumberFormatException e) {
|
||||
logger.log(importBillData.getStartIndex(),"工程量数据格式有误").fail();
|
||||
iterator.remove();
|
||||
}
|
||||
if (bcdecimalqty>decimalqty){
|
||||
logger.log(importBillData.getStartIndex(),"本次完工量不能大于工程量").fail();
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
return super.save(rowdatas, logger);
|
||||
}
|
||||
}
|
|
@ -94,7 +94,7 @@ public class RecosMeasurecosFormPlugin extends AbstractFormPlugin implements Upl
|
|||
}
|
||||
String res = updateRecosMeasurecos(arrayList, sheetName);
|
||||
if (!"success".equals(res)){
|
||||
this.getView().showSuccessNotification("功能失败");
|
||||
this.getView().showSuccessNotification("功能失败:"+res);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -146,7 +146,7 @@ public class TycQzSupplierFormPlugin extends AbstractFormPlugin {
|
|||
} else {
|
||||
DynamicObjectCollection dynamicObjects=new DynamicObjectCollection();
|
||||
dynamicObjects.add(this.getModel().getDataEntity(true));
|
||||
ListSelectedRowCollection listSelectedData = args.getListSelectedData();
|
||||
// ListSelectedRowCollection listSelectedData = args.getListSelectedData();
|
||||
// Set<Object> selectRowSet = (Set)listSelectedData.stream().map((item) -> {
|
||||
// return item.getPrimaryKeyValue();
|
||||
// }).collect(Collectors.toSet());
|
||||
|
|
Loading…
Reference in New Issue