parent
b15b2a5d2b
commit
d0dd9b3890
|
@ -4,9 +4,15 @@ import com.google.common.collect.Lists;
|
||||||
import kd.bos.bill.OperationStatus;
|
import kd.bos.bill.OperationStatus;
|
||||||
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.entity.ILocaleString;
|
||||||
|
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||||
|
import kd.bos.entity.BasedataEntityType;
|
||||||
import kd.bos.entity.datamodel.IDataModel;
|
import kd.bos.entity.datamodel.IDataModel;
|
||||||
import kd.bos.entity.datamodel.events.BeforeDeleteEntryEventArgs;
|
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.EntryProp;
|
||||||
|
import kd.bos.entity.property.MulBasedataProp;
|
||||||
import kd.bos.form.*;
|
import kd.bos.form.*;
|
||||||
import kd.bos.form.control.AttachmentPanel;
|
import kd.bos.form.control.AttachmentPanel;
|
||||||
import kd.bos.form.control.EntryGrid;
|
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.control.events.UploadListener;
|
||||||
import kd.bos.form.events.AfterDoOperationEventArgs;
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||||
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
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.operate.FormOperate;
|
||||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
import kd.bos.list.ListFilterParameter;
|
import kd.bos.list.ListFilterParameter;
|
||||||
|
@ -49,7 +58,86 @@ import java.util.regex.Pattern;
|
||||||
* qeug_recon_supplyconb_ext 补充合同
|
* qeug_recon_supplyconb_ext 补充合同
|
||||||
* qeug_recon_temptofixb_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
|
@Override
|
||||||
public void registerListener(EventObject e) {
|
public void registerListener(EventObject e) {
|
||||||
super.registerListener(e);
|
super.registerListener(e);
|
||||||
|
@ -466,6 +554,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadList
|
||||||
this.getView().showForm(parameter);
|
this.getView().showForm(parameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// case "newentry1":
|
// case "newentry1":
|
||||||
|
|
|
@ -2,23 +2,46 @@ package shkd.repc.recon.listplugin;
|
||||||
|
|
||||||
import kd.bos.form.events.ExportFileEvent;
|
import kd.bos.form.events.ExportFileEvent;
|
||||||
import kd.bos.form.events.FlexBeforeClosedEvent;
|
import kd.bos.form.events.FlexBeforeClosedEvent;
|
||||||
|
import kd.bos.list.plugin.AbstractListPlugin;
|
||||||
import kd.bos.list.plugin.IListPlugin;
|
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.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 合同明细清单列表插件
|
* 合同明细清单列表插件
|
||||||
* qeug_contractsummarylist
|
* qeug_contractsummarylist
|
||||||
*/
|
*/
|
||||||
public class ContractSummaryListPlugin implements IListPlugin {
|
public class ContractSummaryListPlugin extends AbstractListPlugin implements IListPlugin {
|
||||||
|
|
||||||
|
|
||||||
/** 导出文件后事件,可以用来修改导出的文件内容,比如修改excel数据、格式、加密等 */
|
/** 导出文件后事件,可以用来修改导出的文件内容,比如修改excel数据、格式、加密等 */
|
||||||
public void afterExportFile(ExportFileEvent e) {
|
public void afterExportFile(ExportFileEvent e) {
|
||||||
File file = e.getFile();
|
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
|
@Override
|
||||||
public String getPluginName() {
|
public String getPluginName() {
|
||||||
return null;
|
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);
|
String res = updateRecosMeasurecos(arrayList, sheetName);
|
||||||
if (!"success".equals(res)){
|
if (!"success".equals(res)){
|
||||||
this.getView().showSuccessNotification("功能失败");
|
this.getView().showSuccessNotification("功能失败:"+res);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ public class TycQzSupplierFormPlugin extends AbstractFormPlugin {
|
||||||
} else {
|
} else {
|
||||||
DynamicObjectCollection dynamicObjects=new DynamicObjectCollection();
|
DynamicObjectCollection dynamicObjects=new DynamicObjectCollection();
|
||||||
dynamicObjects.add(this.getModel().getDataEntity(true));
|
dynamicObjects.add(this.getModel().getDataEntity(true));
|
||||||
ListSelectedRowCollection listSelectedData = args.getListSelectedData();
|
// ListSelectedRowCollection listSelectedData = args.getListSelectedData();
|
||||||
// Set<Object> selectRowSet = (Set)listSelectedData.stream().map((item) -> {
|
// Set<Object> selectRowSet = (Set)listSelectedData.stream().map((item) -> {
|
||||||
// return item.getPrimaryKeyValue();
|
// return item.getPrimaryKeyValue();
|
||||||
// }).collect(Collectors.toSet());
|
// }).collect(Collectors.toSet());
|
||||||
|
|
Loading…
Reference in New Issue