代码提交

提交人:陈绍鑫
时间:2024/11/07
内容:
This commit is contained in:
陈绍鑫 2024-11-07 17:31:20 +08:00
parent b15b2a5d2b
commit d0dd9b3890
5 changed files with 156 additions and 7 deletions

View File

@ -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":

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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());