1.采购建议报表下推采购订单
This commit is contained in:
parent
e45ef4505f
commit
6bcecdcd09
|
|
@ -1,11 +1,15 @@
|
||||||
package tqq9.lc123.cloud.app.plugin.form.pm;
|
package tqq9.lc123.cloud.app.plugin.form.pm;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import kd.bos.bill.AbstractBillPlugIn;
|
import kd.bos.bill.AbstractBillPlugIn;
|
||||||
import kd.bos.bill.BillShowParameter;
|
import kd.bos.bill.BillShowParameter;
|
||||||
import kd.bos.bill.OperationStatus;
|
import kd.bos.bill.OperationStatus;
|
||||||
|
import kd.bos.coderule.api.CodeRuleInfo;
|
||||||
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.utils.ObjectUtils;
|
import kd.bos.dataentity.utils.ObjectUtils;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
import kd.bos.entity.datamodel.IDataModel;
|
import kd.bos.entity.datamodel.IDataModel;
|
||||||
import kd.bos.entity.datamodel.ListSelectedRow;
|
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||||
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||||
|
|
@ -25,9 +29,12 @@ import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.query.QCP;
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.coderule.CodeRuleServiceHelper;
|
||||||
|
import kd.bos.servicehelper.user.UserServiceHelper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -37,6 +44,20 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implements HyperLinkClickListener {
|
public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implements HyperLinkClickListener {
|
||||||
private final static Log logger = LogFactory.getLog(PurorderEntryIntroPaybillPlugin.class);
|
private final static Log logger = LogFactory.getLog(PurorderEntryIntroPaybillPlugin.class);
|
||||||
|
private static DynamicObject BILLTYPE;
|
||||||
|
private static DynamicObject BIZTYPE;
|
||||||
|
private static DynamicObject LINETYPE;
|
||||||
|
|
||||||
|
static {
|
||||||
|
//订单
|
||||||
|
DynamicObject billtype = BusinessDataServiceHelper.loadSingle("bos_billtype", new QFilter[]{new QFilter("number", QCP.equals, "pm_PurOrderBill_STD_BT_S")});
|
||||||
|
BILLTYPE = billtype;
|
||||||
|
|
||||||
|
DynamicObject biztype = BusinessDataServiceHelper.loadSingle("bd_biztype", new QFilter[]{new QFilter("number", QCP.equals, "110")});
|
||||||
|
BIZTYPE = biztype;
|
||||||
|
DynamicObject linetype = BusinessDataServiceHelper.loadSingle("bd_linetype", new QFilter[]{new QFilter("number", QCP.equals, "010")});
|
||||||
|
LINETYPE = linetype;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerListener(EventObject e) {
|
public void registerListener(EventObject e) {
|
||||||
|
|
@ -94,7 +115,7 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
int length = entryGrid.getSelectRows()[0];//获取点击分录序号从0开始
|
int length = entryGrid.getSelectRows()[0];//获取点击分录序号从0开始
|
||||||
DynamicObject pm_purorderbill = model.getDataEntity(true);//采购订单
|
DynamicObject pm_purorderbill = model.getDataEntity(true);//采购订单
|
||||||
BigDecimal totalallamount = pm_purorderbill.getBigDecimal("totalallamount");//价税合计
|
BigDecimal totalallamount = pm_purorderbill.getBigDecimal("totalallamount");//价税合计
|
||||||
if (totalallamount.compareTo(BigDecimal.ZERO)<0) {
|
if (totalallamount.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
this.getView().showMessage("价税合计不能为空");
|
this.getView().showMessage("价税合计不能为空");
|
||||||
evt.setCancel(true);
|
evt.setCancel(true);
|
||||||
}
|
}
|
||||||
|
|
@ -155,8 +176,9 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点击付款单字段跳转至付款单
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
|
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
|
||||||
int rowIndex = hyperLinkClickEvent.getRowIndex();
|
int rowIndex = hyperLinkClickEvent.getRowIndex();
|
||||||
|
|
@ -185,9 +207,107 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
view.showForm(lsp);
|
view.showForm(lsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点击下推付款申请单跳转至付款申请单
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
|
public void afterCreateNewData(EventObject e) {
|
||||||
super.afterDoOperation(afterDoOperationEventArgs);
|
super.afterCreateNewData(e);
|
||||||
OperationResult operationResult = afterDoOperationEventArgs.getOperationResult();
|
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
|
||||||
|
JSONObject tqq9_pursuggestrpt = (JSONObject) formShowParameter.getCustomParam("pm_purorderbill");
|
||||||
|
if (tqq9_pursuggestrpt != null) {
|
||||||
|
IDataModel model = this.getModel();
|
||||||
|
DynamicObjectCollection billentry = model.getDataEntity(true).getDynamicObjectCollection("billentry");
|
||||||
|
billentry.clear();
|
||||||
|
//采购建议报表
|
||||||
|
JSONArray tqq9_pursuggestrptentry = tqq9_pursuggestrpt.getJSONArray("tqq9_pursuggestrptentry");
|
||||||
|
|
||||||
|
long currentUserId = UserServiceHelper.getCurrentUserId();
|
||||||
|
DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{new QFilter("id", QCP.equals, currentUserId)});
|
||||||
|
DynamicObjectCollection entryentity = user.getDynamicObjectCollection("entryentity");
|
||||||
|
DynamicObject dept = null;//部门
|
||||||
|
for (DynamicObject dynamicObject : entryentity) {
|
||||||
|
boolean ispartjob = dynamicObject.getBoolean("ispartjob");
|
||||||
|
if (!ispartjob) {
|
||||||
|
dept = dynamicObject.getDynamicObject("dpt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObject currency = BusinessDataServiceHelper.loadSingle("bd_currency",
|
||||||
|
new QFilter[]{new QFilter("number", QCP.equals, "CNY")});//币别
|
||||||
|
DynamicObject taxrate = BusinessDataServiceHelper.loadSingle("bd_taxrate",
|
||||||
|
new QFilter[]{new QFilter("number", QCP.equals, "V13")});//税率
|
||||||
|
Date date = new Date();
|
||||||
|
DynamicObject org = null;//组织
|
||||||
|
int i = 0;
|
||||||
|
for (Object dynamicObject : tqq9_pursuggestrptentry) {
|
||||||
|
JSONObject entry = (JSONObject) dynamicObject;
|
||||||
|
if (entry.getBoolean("tqq9_ischange")) {
|
||||||
|
billentry.addNew();
|
||||||
|
if (i == 0) {
|
||||||
|
JSONObject tqq9_org = entry.getJSONObject("tqq9_org");
|
||||||
|
org = BusinessDataServiceHelper.loadSingle(tqq9_org.getLong("id"), "bos_org");//组织
|
||||||
|
model.setValue("org", org);//申请组织
|
||||||
|
model.setValue("dept", dept);//申请部门
|
||||||
|
model.setValue("creator", user);//创建人
|
||||||
|
model.setValue("lastupdateuser", user);//修改人
|
||||||
|
model.setValue("currency", currency);//币别
|
||||||
|
model.setValue("lastupdatetime", date);//修改时间
|
||||||
|
model.setValue("billtype", BILLTYPE);//单据类型
|
||||||
|
model.setValue("biztype", BIZTYPE);//业务类型
|
||||||
|
model.setValue("biztime", date);//申请日期
|
||||||
|
model.setValue("billstatus", "A");//单据状态
|
||||||
|
model.setValue("closestatus", "A");//关闭状态
|
||||||
|
model.setValue("cancelstatus", "A");//作废状态
|
||||||
|
model.setValue("changestatus", "A");//变更状态
|
||||||
|
model.setValue("subversion", "1");//子版本号
|
||||||
|
model.setValue("version", "1");//版本号
|
||||||
|
model.setValue("tqq9_sfsyhf", "false");//是否使用货返
|
||||||
|
model.setValue("tqq9_hshfsysl", taxrate);//含税货返使用税率
|
||||||
|
model.setValue("tqq9_hshfsygs", "A");//含税货返使用归属
|
||||||
|
model.setValue("tqq9_sfsyxf", "false");//是否使用现返
|
||||||
|
model.setValue("tqq9_hsxfsysl", taxrate);//含税现返使用税率
|
||||||
|
model.setValue("tqq9_hsxfsygs", "A");//含税现返使用归属
|
||||||
|
}
|
||||||
|
JSONObject material = entry.getJSONObject("tqq9_material");//物料
|
||||||
|
DynamicObject tqq9_material = BusinessDataServiceHelper.loadSingle(material.getLong("id"), "bd_material");//物料
|
||||||
|
DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo", new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息
|
||||||
|
BigDecimal tqq9_saledates = entry.getBigDecimal("tqq9_saledates");
|
||||||
|
// model.setValue("seq", i + 1);//分录号
|
||||||
|
model.setValue("material", materialpurchaseinfo, i);//物料
|
||||||
|
model.setValue("materialname", tqq9_material.getString("name"), i);//物料名称
|
||||||
|
model.setValue("unit", tqq9_material.getDynamicObject("baseunit"), i);//计量单位
|
||||||
|
model.setValue("baseunit", tqq9_material.getDynamicObject("baseunit"), i);//基本单位
|
||||||
|
model.setValue("tqq9_brand", tqq9_material.getDynamicObject("tqq9_brand"), i);//品牌
|
||||||
|
model.setValue("entrycreator", user, i);//创建人
|
||||||
|
model.setValue("rowclosestatus", "A", i);//行关闭状态
|
||||||
|
model.setValue("rowterminatestatus", "A", i);//行终止状态
|
||||||
|
model.setValue("entrychangetype", "B",i);//变更方式
|
||||||
|
model.setValue("entryrecorg", org, i);//收货组织
|
||||||
|
model.setValue("entryreqorg", org, i);//需求组织
|
||||||
|
model.setValue("entryreqdept", dept, i);//需求部门
|
||||||
|
model.setValue("entryrecdept", org, i);//收货部门
|
||||||
|
model.setValue("entrysettleorg", org, i);//结算组织
|
||||||
|
model.setValue("entrypayorg", org, i);//付款组织
|
||||||
|
model.setValue("deliverdate", date, i);//交货日期
|
||||||
|
model.setValue("linetype", LINETYPE, i);//行类型
|
||||||
|
model.setValue("entryrecdept", org, i);//收货部门
|
||||||
|
model.setValue("discounttype", "C", i);//折扣方式
|
||||||
|
model.setValue("tqq9_expectsaletime", tqq9_saledates, i);//预计销售时间(月)
|
||||||
|
if (StringUtils.equals(org.getString("number"), "SHLC")) {
|
||||||
|
model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"), i);//最高采购限价
|
||||||
|
model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"), i);//含税单价
|
||||||
|
} else if (StringUtils.equals(org.getString("number"), "BJLC")) {
|
||||||
|
model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"), i);//最高采购限价
|
||||||
|
model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"), i);//含税单价
|
||||||
|
} else if (StringUtils.equals(org.getString("number"), "GZLC")) {
|
||||||
|
model.setValue("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"), i);//最高采购限价
|
||||||
|
model.setValue("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"), i);//含税单价
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue