parent
e7e7682a23
commit
92059e36b1
|
@ -60,20 +60,19 @@ 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, BasedataEditListener, IDataModelChangeListener {
|
public class ContractFormPlugin extends AbstractFormPlugin implements UploadListener, BasedataEditListener, IDataModelChangeListener {
|
||||||
|
|
||||||
private static final Log logger = LogFactory.getLog(ContractFormPlugin.class);
|
private static final Log logger = LogFactory.getLog(ContractFormPlugin.class);
|
||||||
|
|
||||||
private static final String BASEDATA_FIELD = "multitypepartya";
|
private static final String BASEDATA_FIELD = "multitypepartya";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
super.initialize();
|
super.initialize();
|
||||||
this.getModel().addDataModelChangeListener(this);
|
this.getModel().addDataModelChangeListener(this);
|
||||||
BasedataEdit mulEdit = this.getControl(BASEDATA_FIELD);
|
BasedataEdit mulEdit = this.getControl(BASEDATA_FIELD);
|
||||||
if (mulEdit!=null){
|
if (mulEdit != null) {
|
||||||
mulEdit.addBasedataEditListener(this);
|
mulEdit.addBasedataEditListener(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,7 +82,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
BasedataEdit edit = (BasedataEdit) afterBindingDataEvent.getSource();
|
BasedataEdit edit = (BasedataEdit) afterBindingDataEvent.getSource();
|
||||||
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
||||||
DynamicObject basedata_field = dataEntity.getDynamicObject(BASEDATA_FIELD);
|
DynamicObject basedata_field = dataEntity.getDynamicObject(BASEDATA_FIELD);
|
||||||
if (!basedata_field.getDynamicObjectType().getName().equals("bos_org")){
|
if (!basedata_field.getDynamicObjectType().getName().equals("bos_org")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Object v = afterBindingDataEvent.getDataEntity();
|
Object v = afterBindingDataEvent.getDataEntity();
|
||||||
|
@ -117,8 +116,8 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
Object pkValue = basedata_field.getPkValue();
|
Object pkValue = basedata_field.getPkValue();
|
||||||
String name = dt.getName();
|
String name = dt.getName();
|
||||||
DynamicObject single = BusinessDataServiceHelper.loadSingle(pkValue, name);
|
DynamicObject single = BusinessDataServiceHelper.loadSingle(pkValue, name);
|
||||||
if (!single.getString(nameKey).isEmpty()){
|
if (!single.getString(nameKey).isEmpty()) {
|
||||||
displayProp = String.format("%s", single.getString(nameKey));
|
displayProp = String.format("%s", single.getString(nameKey));
|
||||||
}
|
}
|
||||||
//设置显示属性
|
//设置显示属性
|
||||||
afterBindingDataEvent.setDisplayProp(displayProp.toString());
|
afterBindingDataEvent.setDisplayProp(displayProp.toString());
|
||||||
|
@ -164,15 +163,16 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除汇总明细并且删除清单明细
|
* 删除汇总明细并且删除清单明细
|
||||||
*/
|
*/
|
||||||
private boolean deleteList(){
|
private boolean deleteList() {
|
||||||
boolean result = true;
|
boolean result = true;
|
||||||
//合同清单汇总分录
|
//合同清单汇总分录
|
||||||
DynamicObjectCollection qeug_invoiceentryinfos = this.getView().getModel().getEntryEntity("qeug_invoiceentryinfo");
|
DynamicObjectCollection qeug_invoiceentryinfos = this.getView().getModel().getEntryEntity("qeug_invoiceentryinfo");
|
||||||
//删除对应明细数据
|
//删除对应明细数据
|
||||||
long pkValue = (long)this.getModel().getDataEntity().getPkValue();
|
long pkValue = (long) this.getModel().getDataEntity().getPkValue();
|
||||||
if (0 == pkValue) {
|
if (0 == pkValue) {
|
||||||
result = false;
|
result = false;
|
||||||
return result;
|
return result;
|
||||||
|
@ -182,9 +182,9 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
for (DynamicObject qeug_invoiceentryinfo : qeug_invoiceentryinfos) {
|
for (DynamicObject qeug_invoiceentryinfo : qeug_invoiceentryinfos) {
|
||||||
String qeugSummarycontent = qeug_invoiceentryinfo.getString("qeug_summarycontent");//分录中的汇总内容(sheet名字)
|
String qeugSummarycontent = qeug_invoiceentryinfo.getString("qeug_summarycontent");//分录中的汇总内容(sheet名字)
|
||||||
q2 = new QFilter("qeug_sheetname", QCP.equals, qeugSummarycontent);
|
q2 = new QFilter("qeug_sheetname", QCP.equals, qeugSummarycontent);
|
||||||
DynamicObject qeug_contractsummarylist = BusinessDataServiceHelper.loadSingle("qeug_contractsummarylist", new QFilter[]{q1,q2});
|
DynamicObject qeug_contractsummarylist = BusinessDataServiceHelper.loadSingle("qeug_contractsummarylist", new QFilter[]{q1, q2});
|
||||||
if (null != qeug_contractsummarylist) {
|
if (null != qeug_contractsummarylist) {
|
||||||
int qeug_contractsummarylist1 = DeleteServiceHelper.delete("qeug_contractsummarylist", new QFilter[]{q1,q2});
|
int qeug_contractsummarylist1 = DeleteServiceHelper.delete("qeug_contractsummarylist", new QFilter[]{q1, q2});
|
||||||
//失败
|
//失败
|
||||||
if (0 == qeug_contractsummarylist1) {
|
if (0 == qeug_contractsummarylist1) {
|
||||||
this.getView().showTipNotification("删除失败:请联系管理员");
|
this.getView().showTipNotification("删除失败:请联系管理员");
|
||||||
|
@ -196,7 +196,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
int size = qeug_invoiceentryinfos.size();
|
int size = qeug_invoiceentryinfos.size();
|
||||||
//删除单据体数据
|
//删除单据体数据
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
this.getView().getModel().deleteEntryRow("qeug_invoiceentryinfo",0);
|
this.getView().getModel().deleteEntryRow("qeug_invoiceentryinfo", 0);
|
||||||
}
|
}
|
||||||
// SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)});
|
// SaveServiceHelper.save(new DynamicObject[]{this.getModel().getDataEntity(true)});
|
||||||
this.getView().invokeOperation("save");
|
this.getView().invokeOperation("save");
|
||||||
|
@ -211,7 +211,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
|
|
||||||
super.propertyChanged(e);
|
super.propertyChanged(e);
|
||||||
String name = e.getProperty().getName();//字段名称
|
String name = e.getProperty().getName();//字段名称
|
||||||
if("qeug_chmentpanel_f".equals(name)){
|
if ("qeug_chmentpanel_f".equals(name)) {
|
||||||
Object qeugChmentpanelF = this.getModel().getValue("qeug_chmentpanel_f");
|
Object qeugChmentpanelF = this.getModel().getValue("qeug_chmentpanel_f");
|
||||||
if (qeugChmentpanelF instanceof Number) {
|
if (qeugChmentpanelF instanceof Number) {
|
||||||
int pkLongValue = ((Number) qeugChmentpanelF).intValue(); // 转换为 long
|
int pkLongValue = ((Number) qeugChmentpanelF).intValue(); // 转换为 long
|
||||||
|
@ -220,14 +220,14 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
this.getView().updateView("qeug_invoiceentryinfo");
|
this.getView().updateView("qeug_invoiceentryinfo");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if("qeug_marginlevel".equals(name)){
|
} else if ("qeug_marginlevel".equals(name)) {
|
||||||
int qeug_bondentry = this.getModel().getEntryCurrentRowIndex("qeug_bondentry");
|
int qeug_bondentry = this.getModel().getEntryCurrentRowIndex("qeug_bondentry");
|
||||||
BigDecimal qeug_marginlevel = (BigDecimal)this.getModel().getValue("qeug_marginlevel", qeug_bondentry);
|
BigDecimal qeug_marginlevel = (BigDecimal) this.getModel().getValue("qeug_marginlevel", qeug_bondentry);
|
||||||
DynamicObjectCollection qeugBondentrys = this.getModel().getEntryEntity("qeug_bondentry");//保证金明细
|
DynamicObjectCollection qeugBondentrys = this.getModel().getEntryEntity("qeug_bondentry");//保证金明细
|
||||||
BigDecimal qeugMarginlevel = BigDecimal.ZERO;
|
BigDecimal qeugMarginlevel = BigDecimal.ZERO;
|
||||||
if (qeugBondentrys.size() > 0) {
|
if (qeugBondentrys.size() > 0) {
|
||||||
for (DynamicObject qeugBondentry : qeugBondentrys) {
|
for (DynamicObject qeugBondentry : qeugBondentrys) {
|
||||||
qeugMarginlevel = qeugMarginlevel.add(qeugBondentry.getBigDecimal("qeug_marginlevel")) ;
|
qeugMarginlevel = qeugMarginlevel.add(qeugBondentry.getBigDecimal("qeug_marginlevel"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (qeugMarginlevel.compareTo(BigDecimal.valueOf(100)) > 0) {
|
if (qeugMarginlevel.compareTo(BigDecimal.valueOf(100)) > 0) {
|
||||||
|
@ -287,6 +287,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
InputStream in = urlConnection.getInputStream();
|
InputStream in = urlConnection.getInputStream();
|
||||||
// FileInputStream in = new FileInputStream(fileUrl);
|
// FileInputStream in = new FileInputStream(fileUrl);
|
||||||
Workbook workbook = WorkbookFactory.create(in);
|
Workbook workbook = WorkbookFactory.create(in);
|
||||||
|
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* --------------------------------------明细------------------------------------------------
|
* --------------------------------------明细------------------------------------------------
|
||||||
|
@ -296,7 +297,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
ArrayList<DynamicObject> dynamicObjects = new ArrayList<>();
|
ArrayList<DynamicObject> dynamicObjects = new ArrayList<>();
|
||||||
Map<String, BigDecimal> amounttotalMap = new HashMap<>();
|
Map<String, BigDecimal> amounttotalMap = new HashMap<>();
|
||||||
for (Sheet sheet : workbook) {
|
for (Sheet sheet : workbook) {
|
||||||
int rowNum = 0;
|
int rowNum = 0;
|
||||||
// 获取总行数
|
// 获取总行数
|
||||||
int rowCountsheet = sheet.getPhysicalNumberOfRows();//总行数
|
int rowCountsheet = sheet.getPhysicalNumberOfRows();//总行数
|
||||||
for (Row cells : sheet) {
|
for (Row cells : sheet) {
|
||||||
|
@ -310,7 +311,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BigDecimal amounttotal =BigDecimal.ZERO;
|
BigDecimal amounttotal = BigDecimal.ZERO;
|
||||||
for (int j = rowNum; j <= rowCountsheet - 2; j++) {
|
for (int j = rowNum; j <= rowCountsheet - 2; j++) {
|
||||||
Row row = sheet.getRow(j);
|
Row row = sheet.getRow(j);
|
||||||
//第一列断号
|
//第一列断号
|
||||||
|
@ -329,121 +330,118 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
//合同明细清单 qeug_contractsummarylist
|
//合同明细清单 qeug_contractsummarylist
|
||||||
// 存合同id,sheet名字
|
// 存合同id,sheet名字
|
||||||
DynamicObject contractsummarylist = BusinessDataServiceHelper.newDynamicObject("qeug_contractsummarylist");
|
DynamicObject contractsummarylist = BusinessDataServiceHelper.newDynamicObject("qeug_contractsummarylist");
|
||||||
contractsummarylist.set("enable","1");//使用状态
|
contractsummarylist.set("enable", "1");//使用状态
|
||||||
contractsummarylist.set("status","A");//数据状态
|
contractsummarylist.set("status", "A");//数据状态
|
||||||
contractsummarylist.set("qeug_contractid",this.getModel().getDataEntity().getPkValue().toString());//合同id
|
contractsummarylist.set("qeug_contractid", this.getModel().getDataEntity().getPkValue().toString());//合同id
|
||||||
contractsummarylist.set("qeug_sheetname",sheet.getSheetName());//sheet名字
|
contractsummarylist.set("qeug_sheetname", sheet.getSheetName());//sheet名字
|
||||||
for (Cell cell : row) {
|
for (Cell cell : row) {
|
||||||
int columnIndex = cell.getColumnIndex();
|
int columnIndex = cell.getColumnIndex();
|
||||||
switch (columnIndex){
|
switch (columnIndex) {
|
||||||
case 0:
|
case 0:
|
||||||
double num = Double.parseDouble(cell.toString());
|
double num = Double.parseDouble(cell.toString());
|
||||||
int result = (int)num;
|
int result = (int) num;
|
||||||
contractsummarylist.set("qeug_seqs",result);//序号
|
contractsummarylist.set("qeug_seqs", result);//序号
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
contractsummarylist.set("qeug_projectnumber",cell);//项目编码
|
contractsummarylist.set("qeug_projectnumber", cell);//项目编码
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
contractsummarylist.set("qeug_projectname",cell);//项目名称
|
contractsummarylist.set("qeug_projectname", cell);//项目名称
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
contractsummarylist.set("qeug_featuredescript",cell);//项目特征描述
|
contractsummarylist.set("qeug_featuredescript", cell);//项目特征描述
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
contractsummarylist.set("qeug_engincontent",cell);//工程内容
|
contractsummarylist.set("qeug_engincontent", cell);//工程内容
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
contractsummarylist.set("qeug_unit",cell);//计量单位
|
contractsummarylist.set("qeug_unit", cell);//计量单位
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value6 = getCellValueAsString(cell, evaluator);
|
||||||
String expression = cell.toString();
|
if (StringUtils.isNotEmpty(value6)) {
|
||||||
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
|
|
||||||
try {
|
try {
|
||||||
BigDecimal results =BigDecimal.valueOf(Double.parseDouble(engine.eval(expression).toString()));
|
BigDecimal results = new BigDecimal(value6);
|
||||||
contractsummarylist.set("qeug_decimalqty", results);
|
contractsummarylist.set("qeug_decimalqty", results);
|
||||||
} catch (Exception e) {
|
} catch (NumberFormatException e) {
|
||||||
this.getView().showErrorNotification("清单汇总识别--生成明细失败:"+e.getMessage());
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 数量列格式错误");
|
||||||
return ;
|
return;
|
||||||
// 处理计算失败的情况
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value7 = getCellValueAsString(cell, evaluator);
|
||||||
String expression = cell.toString();
|
if (StringUtils.isNotEmpty(value7)) {
|
||||||
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
|
|
||||||
try {
|
try {
|
||||||
BigDecimal results =BigDecimal.valueOf(Double.parseDouble(engine.eval(expression).toString()));
|
BigDecimal results = new BigDecimal(value7);
|
||||||
contractsummarylist.set("qeug_unitprice",results);//综合单价
|
contractsummarylist.set("qeug_unitprice", results);// 综合单价
|
||||||
} catch (Exception e) {
|
} catch (NumberFormatException e) {
|
||||||
this.getView().showErrorNotification("清单汇总识别--生成明细失败:"+e.getMessage());
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 单价列格式错误");
|
||||||
return ;
|
return;
|
||||||
// 处理计算失败的情况
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
//todo:保留几位有效数字
|
String value8 = getCellValueAsString(cell, evaluator);
|
||||||
Cell cell1 = row.getCell(6);
|
if (StringUtils.isNotEmpty(value8)) {
|
||||||
Cell cell2 = row.getCell(7);
|
|
||||||
if (cell1 != null && cell2 != null && StringUtils.isNotEmpty(cell1.toString()) && StringUtils.isNotEmpty(cell2.toString())) {
|
|
||||||
BigDecimal results = BigDecimal.ZERO;
|
|
||||||
try {
|
try {
|
||||||
double value1 = cell1.getNumericCellValue();
|
BigDecimal results = new BigDecimal(value8);
|
||||||
double value2 = cell2.getNumericCellValue();
|
// 保留三位小数,采用四舍五入的舍入模式
|
||||||
results = BigDecimal.valueOf(value1 * value2).setScale(3, RoundingMode.HALF_UP);
|
results = results.setScale(3, RoundingMode.HALF_UP);
|
||||||
contractsummarylist.set("qeug_amounttotal", results); // 合计金额
|
contractsummarylist.set("qeug_amounttotal", results); // 合计金额
|
||||||
} catch (Exception e) {
|
amounttotal = amounttotal.add(results);
|
||||||
this.getView().showErrorNotification("清单汇总识别--生成明细失败:" + e.getMessage());
|
} catch (NumberFormatException e) {
|
||||||
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 合计金额列格式错误");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
amounttotal = amounttotal.add(results);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
// case 8:
|
|
||||||
// Cell cell1 = row.getCell(6);
|
|
||||||
// Cell cell2 = row.getCell(7);
|
|
||||||
// if (StringUtils.isNotEmpty(cell.toString())) {
|
|
||||||
// String expression = cell.toString();
|
|
||||||
// ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
|
|
||||||
// BigDecimal results = BigDecimal.ZERO;
|
|
||||||
// try {
|
|
||||||
// results =BigDecimal.valueOf(Double.parseDouble(engine.eval(expression).toString()));
|
|
||||||
// contractsummarylist.set("qeug_amounttotal",results);//综合单价
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// this.getView().showErrorNotification("清单汇总识别--生成明细失败:"+e.getMessage());
|
|
||||||
// return ;
|
|
||||||
// // 处理计算失败的情况
|
|
||||||
// }
|
|
||||||
// amounttotal = amounttotal.add(results);
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
case 9:
|
case 9:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value9 = getCellValueAsString(cell, evaluator);
|
||||||
contractsummarylist.set("qeug_artificial",BigDecimal.valueOf(Double.parseDouble(cell.toString())));//人工单价
|
if (StringUtils.isNotEmpty(value9)) {
|
||||||
|
try {
|
||||||
|
contractsummarylist.set("qeug_artificial", new BigDecimal(value9));// 人工单价
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 人工单价列格式错误");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value10 = getCellValueAsString(cell, evaluator);
|
||||||
contractsummarylist.set("qeug_provisional",BigDecimal.valueOf(Double.parseDouble(cell.toString())));//辅材单价
|
if (StringUtils.isNotEmpty(value10)) {
|
||||||
|
try {
|
||||||
|
contractsummarylist.set("qeug_provisional", new BigDecimal(value10));// 辅材单价
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 辅材单价列格式错误");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value11 = getCellValueAsString(cell, evaluator);
|
||||||
contractsummarylist.set("qeug_unitpriceofmainmater",BigDecimal.valueOf(Double.parseDouble(cell.toString())));//主材单价
|
if (StringUtils.isNotEmpty(value11)) {
|
||||||
|
try {
|
||||||
|
contractsummarylist.set("qeug_unitpriceofmainmater", new BigDecimal(value11));// 主材单价
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 主材单价列格式错误");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
String value12 = getCellValueAsString(cell, evaluator);
|
||||||
contractsummarylist.set("qeug_mechanicalunitprice",BigDecimal.valueOf(Double.parseDouble(cell.toString())));//机械,设备单价
|
if (StringUtils.isNotEmpty(value12)) {
|
||||||
|
try {
|
||||||
|
contractsummarylist.set("qeug_mechanicalunitprice", new BigDecimal(value12));// 机械,设备单价
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
this.getView().showErrorNotification("清单汇总识别--生成明细失败: 机械设备单价列格式错误");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
if (StringUtils.isNotEmpty(cell.toString())) {
|
contractsummarylist.set("qeug_remarks", getCellValueAsString(cell, evaluator));// 备注
|
||||||
contractsummarylist.set("qeug_remarks",cell);//备注
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -451,7 +449,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
}
|
}
|
||||||
dynamicObjects.add(contractsummarylist);
|
dynamicObjects.add(contractsummarylist);
|
||||||
}
|
}
|
||||||
amounttotalMap.put(sheet.getSheetName(),amounttotal);//一个sheet一个总金额
|
amounttotalMap.put(sheet.getSheetName(), amounttotal);//一个sheet一个总金额
|
||||||
// this.getView().showSuccessNotification("清单汇总识别--生产明细成功");
|
// this.getView().showSuccessNotification("清单汇总识别--生产明细成功");
|
||||||
}
|
}
|
||||||
for (DynamicObject dynamicObject : dynamicObjects) {
|
for (DynamicObject dynamicObject : dynamicObjects) {
|
||||||
|
@ -469,15 +467,15 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
Sheet sheet = workbook.getSheetAt(i);
|
Sheet sheet = workbook.getSheetAt(i);
|
||||||
|
|
||||||
qeugInvoiceentryinfo.addNew();
|
qeugInvoiceentryinfo.addNew();
|
||||||
this.getModel().setValue("qeug_seq", i+1,i);//序号
|
this.getModel().setValue("qeug_seq", i + 1, i);//序号
|
||||||
this.getModel().setValue("qeug_summarycontent", sheet.getSheetName(),i);//汇总内容
|
this.getModel().setValue("qeug_summarycontent", sheet.getSheetName(), i);//汇总内容
|
||||||
BigDecimal bigDecimal = amounttotalMap.get(sheet.getSheetName());
|
BigDecimal bigDecimal = amounttotalMap.get(sheet.getSheetName());
|
||||||
this.getModel().setValue("qeug_amount", bigDecimal,i);//金额(元)
|
this.getModel().setValue("qeug_amount", bigDecimal, i);//金额(元)
|
||||||
this.getModel().setValue("qeug_isnew", false,i);//是否新增行
|
this.getModel().setValue("qeug_isnew", false, i);//是否新增行
|
||||||
DynamicObject bd_currency = BusinessDataServiceHelper.loadSingle("bd_currency",
|
DynamicObject bd_currency = BusinessDataServiceHelper.loadSingle("bd_currency",
|
||||||
new QFilter[]{new QFilter("number", QCP.equals, "CNY")});
|
new QFilter[]{new QFilter("number", QCP.equals, "CNY")});
|
||||||
if (null != bd_currency) {
|
if (null != bd_currency) {
|
||||||
this.getModel().setValue("qeug_currencylist", bd_currency,i);//清单币别
|
this.getModel().setValue("qeug_currencylist", bd_currency, i);//清单币别
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -491,7 +489,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//下载清单模板
|
//下载清单模板
|
||||||
case "downloadlist":
|
case "downloadlist":
|
||||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("qeug_downloadlist", new QFilter[]{new QFilter("number", QCP.equals, "MB-0001")});
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("qeug_downloadlist", new QFilter[]{new QFilter("number", QCP.equals, "MB-0001")});
|
||||||
if (null != dynamicObject) {
|
if (null != dynamicObject) {
|
||||||
|
@ -510,12 +508,45 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getCellValueAsString(Cell cell, FormulaEvaluator evaluator) {
|
||||||
|
if (cell == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
switch (cell.getCellType()) {
|
||||||
|
case STRING:
|
||||||
|
return cell.getStringCellValue();
|
||||||
|
case NUMERIC:
|
||||||
|
if (DateUtil.isCellDateFormatted(cell)) {
|
||||||
|
// 如果是日期格式,可根据需要进行处理
|
||||||
|
return cell.getDateCellValue().toString();
|
||||||
|
} else {
|
||||||
|
return String.valueOf(cell.getNumericCellValue());
|
||||||
|
}
|
||||||
|
case BOOLEAN:
|
||||||
|
return String.valueOf(cell.getBooleanCellValue());
|
||||||
|
case FORMULA:
|
||||||
|
CellValue cellValue = evaluator.evaluate(cell);
|
||||||
|
switch (cellValue.getCellType()) {
|
||||||
|
case NUMERIC:
|
||||||
|
return String.valueOf(cellValue.getNumberValue());
|
||||||
|
case STRING:
|
||||||
|
return cellValue.getStringValue();
|
||||||
|
case BOOLEAN:
|
||||||
|
return String.valueOf(cellValue.getBooleanValue());
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean isRowEmpty(Row row) {
|
private static boolean isRowEmpty(Row row) {
|
||||||
if (row == null) {
|
if (row == null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
for (Cell cell : row) {
|
for (Cell cell : row) {
|
||||||
if (cell!= null && cell.getCellType()!= CellType.BLANK) {
|
if (cell != null && cell.getCellType() != CellType.BLANK) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -525,7 +556,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
private static String[] getRowData(Row row) {
|
private static String[] getRowData(Row row) {
|
||||||
List<String> rowDataList = new ArrayList<>();
|
List<String> rowDataList = new ArrayList<>();
|
||||||
for (Cell cell : row) {
|
for (Cell cell : row) {
|
||||||
if (cell!= null) {
|
if (cell != null) {
|
||||||
if (cell.getCellType() == CellType.STRING) {
|
if (cell.getCellType() == CellType.STRING) {
|
||||||
rowDataList.add(cell.getStringCellValue());
|
rowDataList.add(cell.getStringCellValue());
|
||||||
} else if (cell.getCellType() == CellType.NUMERIC) {
|
} else if (cell.getCellType() == CellType.NUMERIC) {
|
||||||
|
@ -562,7 +593,7 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
//分录--查看合同清单明细按钮
|
//分录--查看合同清单明细按钮
|
||||||
case "operationcolumnap":
|
case "operationcolumnap":
|
||||||
int index = this.getModel().getEntryCurrentRowIndex("qeug_invoiceentryinfo");
|
int index = this.getModel().getEntryCurrentRowIndex("qeug_invoiceentryinfo");
|
||||||
boolean qeugIsnew = (boolean)this.getModel().getValue("qeug_isnew", index);
|
boolean qeugIsnew = (boolean) this.getModel().getValue("qeug_isnew", index);
|
||||||
if (qeugIsnew) {
|
if (qeugIsnew) {
|
||||||
this.getView().showTipNotification("新增行无法查看明细");
|
this.getView().showTipNotification("新增行无法查看明细");
|
||||||
return;
|
return;
|
||||||
|
@ -571,22 +602,22 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
break;
|
break;
|
||||||
case "deleteentry1":
|
case "deleteentry1":
|
||||||
//用户在删除汇总明细时,如果当前汇总已经生成清单,一并删除掉
|
//用户在删除汇总明细时,如果当前汇总已经生成清单,一并删除掉
|
||||||
EntryGrid qeug_invoiceentryinfo = (EntryGrid)this.getView().getControl("qeug_invoiceentryinfo");
|
EntryGrid qeug_invoiceentryinfo = (EntryGrid) this.getView().getControl("qeug_invoiceentryinfo");
|
||||||
int[] selectRows = qeug_invoiceentryinfo.getSelectRows();
|
int[] selectRows = qeug_invoiceentryinfo.getSelectRows();
|
||||||
if (selectRows.length > 0) {
|
if (selectRows.length > 0) {
|
||||||
for (int i = 0; i < selectRows.length; i++) {
|
for (int i = 0; i < selectRows.length; i++) {
|
||||||
int selectRow = selectRows[i];
|
int selectRow = selectRows[i];
|
||||||
long pkValue = (long)this.getModel().getDataEntity().getPkValue();
|
long pkValue = (long) this.getModel().getDataEntity().getPkValue();
|
||||||
if (0 == pkValue) {
|
if (0 == pkValue) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String qeug_summarycontent = (String)this.getModel().getValue("qeug_summarycontent",selectRow);//分录中的汇总内容(sheet名字)
|
String qeug_summarycontent = (String) this.getModel().getValue("qeug_summarycontent", selectRow);//分录中的汇总内容(sheet名字)
|
||||||
QFilter q1 = new QFilter("qeug_sheetname", QCP.equals, qeug_summarycontent);
|
QFilter q1 = new QFilter("qeug_sheetname", QCP.equals, qeug_summarycontent);
|
||||||
QFilter q2 = new QFilter("qeug_contractid", QCP.equals, String.valueOf(pkValue));
|
QFilter q2 = new QFilter("qeug_contractid", QCP.equals, String.valueOf(pkValue));
|
||||||
DynamicObject qeug_contractsummarylist = BusinessDataServiceHelper.loadSingle("qeug_contractsummarylist", new QFilter[]{q1,q2});
|
DynamicObject qeug_contractsummarylist = BusinessDataServiceHelper.loadSingle("qeug_contractsummarylist", new QFilter[]{q1, q2});
|
||||||
if (null != qeug_contractsummarylist) {
|
if (null != qeug_contractsummarylist) {
|
||||||
int qeug_contractsummarylist1 = DeleteServiceHelper.delete("qeug_contractsummarylist", new QFilter[]{q1,q2});
|
int qeug_contractsummarylist1 = DeleteServiceHelper.delete("qeug_contractsummarylist", new QFilter[]{q1, q2});
|
||||||
//失败
|
//失败
|
||||||
if (0 == qeug_contractsummarylist1) {
|
if (0 == qeug_contractsummarylist1) {
|
||||||
this.getView().showTipNotification("删除失败:请联系管理员");
|
this.getView().showTipNotification("删除失败:请联系管理员");
|
||||||
|
@ -604,8 +635,9 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打开列表展示清单详情页
|
* 打开列表展示清单详情页
|
||||||
|
*
|
||||||
* @param formView 页面
|
* @param formView 页面
|
||||||
* @param model 模型
|
* @param model 模型
|
||||||
*/
|
*/
|
||||||
private void getListShowParamer(IFormView formView, IDataModel model) {
|
private void getListShowParamer(IFormView formView, IDataModel model) {
|
||||||
|
|
||||||
|
@ -624,8 +656,8 @@ public class ContractFormPlugin extends AbstractFormPlugin implements UploadLis
|
||||||
Object pkValue = formView.getModel().getDataEntity().getPkValue();//合同ID
|
Object pkValue = formView.getModel().getDataEntity().getPkValue();//合同ID
|
||||||
|
|
||||||
QFilter q1 = new QFilter("qeug_sheetname", QCP.equals, qeug_summarycontent);
|
QFilter q1 = new QFilter("qeug_sheetname", QCP.equals, qeug_summarycontent);
|
||||||
QFilter q2 = new QFilter("qeug_contractid",QCP.equals, String.valueOf(pkValue));
|
QFilter q2 = new QFilter("qeug_contractid", QCP.equals, String.valueOf(pkValue));
|
||||||
QFilter q3 = new QFilter("qeug_workloadcfmid",QCP.equals, "");
|
QFilter q3 = new QFilter("qeug_workloadcfmid", QCP.equals, "");
|
||||||
List<QFilter> listQF = Lists.newArrayList();
|
List<QFilter> listQF = Lists.newArrayList();
|
||||||
listQF.add(q1.and(q2).and(q3));
|
listQF.add(q1.and(q2).and(q3));
|
||||||
parameter.setListFilterParameter(new ListFilterParameter(listQF, null));
|
parameter.setListFilterParameter(new ListFilterParameter(listQF, null));
|
||||||
|
|
Loading…
Reference in New Issue