1.采购建议报表下推采购申请单

This commit is contained in:
龚豆豆 2025-09-16 16:05:06 +08:00
parent 6bcecdcd09
commit 366920037e
2 changed files with 348 additions and 202 deletions

View File

@ -1,5 +1,7 @@
package tqq9.lc123.cloud.app.plugin.form.pm;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
@ -8,10 +10,12 @@ import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.FormShowParameter;
import kd.bos.form.IFormView;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.user.UserServiceHelper;
import kd.sdk.plugin.Plugin;
import org.springframework.http.ResponseEntity;
import tqq9.lc123.cloud.app.api.utils.Constants;
@ -22,20 +26,28 @@ import tqq9.lc123.cloud.app.plugin.utils.HttpRequestUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.ConnectException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
* 单据界面插件
*/
public class PurApplyBillPlugin extends AbstractBillPlugIn implements Plugin {
private static String URL;
private static DynamicObject BILLTYPE;
private static DynamicObject BIZTYPE;
private static DynamicObject LINETYPE;
static {
DynamicObject url = BusinessDataServiceHelper.loadSingle("tqq9_thirdconfig", "name",
new QFilter[]{new QFilter("number", QCP.equals, "FLXT_Balance_Url")});
URL = url != null ? url.getString("name") : null;
// 申请单
DynamicObject billtype = BusinessDataServiceHelper.loadSingle("bos_billtype", new QFilter[]{new QFilter("number", QCP.equals, "pm_PurApplyBill_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;
}
private final static String ENTRYENTITY = "billentry";
@ -372,5 +384,110 @@ public class PurApplyBillPlugin extends AbstractBillPlugIn implements Plugin {
}
}
@Override
public void afterCreateNewData(EventObject e) {
super.afterCreateNewData(e);
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
JSONObject tqq9_pursuggestrpt = (JSONObject) formShowParameter.getCustomParam("pm_purapplybill");
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 LCJT = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")});
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();
int i = 0;
for (Object dynamicObject : tqq9_pursuggestrptentry) {
JSONObject entry = (JSONObject) dynamicObject;
if (entry.getBoolean("tqq9_ischange")) {
billentry.addNew();
if (i == 0) {
model.setValue("org", LCJT);//申请组织
model.setValue("dept", dept);//申请部门
model.setValue("bizuser", user);//申请人
model.setValue("currency", currency);//币别
model.setValue("creator", user);//创建人
model.setValue("lastupdateuser", user);//修改人
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_sh", "false");//是否使用货返
model.setValue("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率
model.setValue("tqq9_sfsyxf_sh", "false");//是否使用现返
model.setValue("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率
model.setValue("tqq9_sfsyhf_bj", "false");//是否使用货返
model.setValue("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率
model.setValue("tqq9_sfsyxf_bj", "false");//是否使用现返
model.setValue("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率
model.setValue("tqq9_sfsyhf_gz", "false");//是否使用货返
model.setValue("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率
model.setValue("tqq9_sfsyxf_gz", "false");//是否使用现返
model.setValue("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率
}
JSONObject org = entry.getJSONObject("tqq9_org");
DynamicObject tqq9_org = BusinessDataServiceHelper.loadSingle(org.getLong("id"), "bos_org");//组织
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("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("rowclosestatus", "A");//行关闭状态
model.setValue("rowterminatestatus", "A");//行终止状态
model.setValue("entryrecorg", tqq9_org, i);//收货组织
model.setValue("entryreqorg", tqq9_org, i);//需求组织
model.setValue("entryreqdept", dept, i);//需求部门
model.setValue("reqdate", date, i);//需求日期
model.setValue("purdate", date, i);//建议采购日期
model.setValue("deliverdate", date, i);//交货日期
model.setValue("bomtime", date, i);//展BOM时间
model.setValue("linetype", LINETYPE, i);//行类型
model.setValue("linetype", LINETYPE, i);//行类型
model.setValue("entrychangetype", "B",i);//变更方式
model.setValue("entrycreator", user, i);//创建人
model.setValue("entryrecdept", tqq9_org, i);//收货部门
model.setValue("entrypurdept", tqq9_org, i);//采购部门
model.setValue("entryoperatorgroup", tqq9_org, i);//采购组
model.setValue("tqq9_expectsaletime", tqq9_saledates, i);//预计销售时间()
if (StringUtils.equals(tqq9_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(tqq9_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(tqq9_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++;
}
}
}
}
}

View File

@ -10,6 +10,7 @@ import kd.bos.dataentity.utils.StringUtils;
import kd.bos.db.DB;
import kd.bos.db.DBRoute;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.form.CloseCallBack;
import kd.bos.form.ShowType;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.form.plugin.AbstractFormPlugin;
@ -355,209 +356,237 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi
this.getView().updateView();
} else if (StringUtils.equals("tqq9_purapply", itemKey)) {
DynamicObjectCollection tqq9_pursuggestrptentry = dataEntity.getDynamicObjectCollection("tqq9_pursuggestrptentry");
DynamicObject purapplybill = BusinessDataServiceHelper.newDynamicObject("pm_purapplybill");
DynamicObjectCollection dynamicObjectCollection = purapplybill.getDynamicObjectCollection("billentry");
DynamicObject dynamicObject = tqq9_pursuggestrptentry.get(0);
DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");
if(tqq9_org==null){
this.getView().showMessage("请先进行查询操作");
return;
}
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 org = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")});
CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purapplybill",
purapplybill, org.getString("id"));
String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, purapplybill);//采购申请单编号
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();
int i = 0;
for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) {
if (dynamicObject.getBoolean("tqq9_ischange")) {
if (i == 0) {
purapplybill.set("org", org);//申请组织
purapplybill.set("dept", dept);//申请部门
purapplybill.set("bizuser", user);//申请人
purapplybill.set("currency", currency);//币别
purapplybill.set("creator", user);//创建人
purapplybill.set("lastupdateuser", user);//修改人
purapplybill.set("lastupdatetime", date);//修改时间
purapplybill.set("billno", billno);//采购申请单编号
purapplybill.set("billtype", BILLTYPE);//单据类型
purapplybill.set("biztype", BIZTYPE);//业务类型
purapplybill.set("biztime", date);//申请日期
purapplybill.set("billstatus", "A");//单据状态
purapplybill.set("closestatus", "A");//关闭状态
purapplybill.set("cancelstatus", "A");//作废状态
purapplybill.set("changestatus", "A");//变更状态
purapplybill.set("subversion", "1");//子版本号
purapplybill.set("version", "1");//版本号
purapplybill.set("tqq9_sfsyhf_sh", "false");//是否使用货返
purapplybill.set("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率
purapplybill.set("tqq9_sfsyxf_sh", "false");//是否使用现返
purapplybill.set("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率
purapplybill.set("tqq9_sfsyhf_bj", "false");//是否使用货返
purapplybill.set("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率
purapplybill.set("tqq9_sfsyxf_bj", "false");//是否使用现返
purapplybill.set("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率
purapplybill.set("tqq9_sfsyhf_gz", "false");//是否使用货返
purapplybill.set("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率
purapplybill.set("tqq9_sfsyxf_gz", "false");//是否使用现返
purapplybill.set("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率
}
DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");//组织
DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料
DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo",
new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息
BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates");
DynamicObject dynamicObject1 = dynamicObjectCollection.addNew();
dynamicObject1.set("seq", i + 1);//分录号
dynamicObject1.set("material", materialpurchaseinfo);//物料
dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称
dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位
dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位
dynamicObject1.set("rowclosestatus", "A");//行关闭状态
dynamicObject1.set("rowterminatestatus", "A");//行终止状态
dynamicObject1.set("entryrecorg", tqq9_org);//收货组织
dynamicObject1.set("entryreqorg", tqq9_org);//需求组织
dynamicObject1.set("entryreqdept", dept);//需求部门
dynamicObject1.set("reqdate", date);//需求日期
dynamicObject1.set("purdate", date);//建议采购日期
dynamicObject1.set("deliverdate", date);//交货日期
dynamicObject1.set("bomtime", date);//展BOM时间
dynamicObject1.set("entrychangetype", "B");//变更方式
dynamicObject1.set("linetype", LINETYPE);//行类型
dynamicObject1.set("linetype", LINETYPE);//行类型
dynamicObject1.set("entrycreator", user);//创建人
dynamicObject1.set("entryrecdept", tqq9_org);//收货部门
dynamicObject1.set("entrypurdept", tqq9_org);//采购部门
dynamicObject1.set("entryoperatorgroup", tqq9_org);//采购组
dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间()
if (StringUtils.equals(tqq9_org.getString("number"), "SHLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价
} else if (StringUtils.equals(tqq9_org.getString("number"), "BJLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价
} else if (StringUtils.equals(tqq9_org.getString("number"), "GZLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价
}
dynamicObjectCollection.set(i, dynamicObject1);
i++;
}
}
purapplybill.set("billentry", dynamicObjectCollection);
SaveServiceHelper.save(new DynamicObject[]{purapplybill});
BillShowParameter billShowParameter = new BillShowParameter();
billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
billShowParameter.setFormId("pm_purapplybill");
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(purapplybill.getLong("id"), "pm_purapplybill");
billShowParameter.setPkId(dynamicObject.get("id"));
this.getView().showForm(billShowParameter);
BillShowParameter param = new BillShowParameter();
param.setFormId("pm_purapplybill");
param.setCustomParam("pm_purapplybill", dataEntity);//采购建议报表单号
param.setCloseCallBack(new CloseCallBack(this, "pm_purapplybill"));
param.getOpenStyle().setShowType(ShowType.Modal);
this.getView().showForm(param);
//-------------------------
// DynamicObject purapplybill = BusinessDataServiceHelper.newDynamicObject("pm_purapplybill");
// DynamicObjectCollection dynamicObjectCollection = purapplybill.getDynamicObjectCollection("billentry");
//
// 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 org = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{new QFilter("name", QCP.equals, "励齿集团")});
// CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purapplybill",
// purapplybill, org.getString("id"));
// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, purapplybill);//采购申请单编号
// 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();
// int i = 0;
// for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) {
// if (dynamicObject.getBoolean("tqq9_ischange")) {
// if (i == 0) {
// purapplybill.set("org", org);//申请组织
// purapplybill.set("dept", dept);//申请部门
// purapplybill.set("bizuser", user);//申请人
// purapplybill.set("currency", currency);//币别
// purapplybill.set("creator", user);//创建人
// purapplybill.set("lastupdateuser", user);//修改人
// purapplybill.set("lastupdatetime", date);//修改时间
// purapplybill.set("billno", billno);//采购申请单编号
// purapplybill.set("billtype", BILLTYPE);//单据类型
// purapplybill.set("biztype", BIZTYPE);//业务类型
// purapplybill.set("biztime", date);//申请日期
// purapplybill.set("billstatus", "A");//单据状态
// purapplybill.set("closestatus", "A");//关闭状态
// purapplybill.set("cancelstatus", "A");//作废状态
// purapplybill.set("changestatus", "A");//变更状态
// purapplybill.set("subversion", "1");//子版本号
// purapplybill.set("version", "1");//版本号
// purapplybill.set("tqq9_sfsyhf_sh", "false");//是否使用货返
// purapplybill.set("tqq9_hshfsysl_sh", taxrate);//含税货返使用税率
// purapplybill.set("tqq9_sfsyxf_sh", "false");//是否使用现返
// purapplybill.set("tqq9_hsxfsysl_sh", taxrate);//含税现返使用税率
// purapplybill.set("tqq9_sfsyhf_bj", "false");//是否使用货返
// purapplybill.set("tqq9_hshfsysl_bj", taxrate);//含税货返使用税率
// purapplybill.set("tqq9_sfsyxf_bj", "false");//是否使用现返
// purapplybill.set("tqq9_hsxfsysl_bj", taxrate);//含税现返使用税率
// purapplybill.set("tqq9_sfsyhf_gz", "false");//是否使用货返
// purapplybill.set("tqq9_hshfsysl_gz", taxrate);//含税货返使用税率
// purapplybill.set("tqq9_sfsyxf_gz", "false");//是否使用现返
// purapplybill.set("tqq9_hsxfsysl_gz", taxrate);//含税现返使用税率
// }
// DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");//组织
// DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料
// DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo",
// new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息
// BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates");
// DynamicObject dynamicObject1 = dynamicObjectCollection.addNew();
// dynamicObject1.set("seq", i + 1);//分录号
// dynamicObject1.set("material", materialpurchaseinfo);//物料
// dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称
// dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位
// dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位
// dynamicObject1.set("rowclosestatus", "A");//行关闭状态
// dynamicObject1.set("rowterminatestatus", "A");//行终止状态
// dynamicObject1.set("entryrecorg", tqq9_org);//收货组织
// dynamicObject1.set("entryreqorg", tqq9_org);//需求组织
// dynamicObject1.set("entryreqdept", dept);//需求部门
// dynamicObject1.set("reqdate", date);//需求日期
// dynamicObject1.set("purdate", date);//建议采购日期
// dynamicObject1.set("deliverdate", date);//交货日期
// dynamicObject1.set("bomtime", date);//展BOM时间
// dynamicObject1.set("entrychangetype", "B");//变更方式
// dynamicObject1.set("linetype", LINETYPE);//行类型
// dynamicObject1.set("linetype", LINETYPE);//行类型
// dynamicObject1.set("entrycreator", user);//创建人
// dynamicObject1.set("entryrecdept", tqq9_org);//收货部门
// dynamicObject1.set("entrypurdept", tqq9_org);//采购部门
// dynamicObject1.set("entryoperatorgroup", tqq9_org);//采购组
// dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间()
// if (StringUtils.equals(tqq9_org.getString("number"), "SHLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价
// } else if (StringUtils.equals(tqq9_org.getString("number"), "BJLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价
// } else if (StringUtils.equals(tqq9_org.getString("number"), "GZLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价
// }
// dynamicObjectCollection.set(i, dynamicObject1);
// i++;
// }
// }
// purapplybill.set("billentry", dynamicObjectCollection);
// SaveServiceHelper.save(new DynamicObject[]{purapplybill});
// BillShowParameter billShowParameter = new BillShowParameter();
// billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
// billShowParameter.setFormId("pm_purapplybill");
// DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(purapplybill.getLong("id"), "pm_purapplybill");
// billShowParameter.setPkId(dynamicObject.get("id"));
// this.getView().showForm(billShowParameter);
} else if (StringUtils.equals("tqq9_pushcgdd", itemKey)) {
DynamicObjectCollection tqq9_pursuggestrptentry = dataEntity.getDynamicObjectCollection("tqq9_pursuggestrptentry");
DynamicObject pm_purorderbill = BusinessDataServiceHelper.newDynamicObject("pm_purorderbill");
DynamicObjectCollection dynamicObjectCollection = pm_purorderbill.getDynamicObjectCollection("billentry");
DynamicObject dynamicObject = tqq9_pursuggestrptentry.get(0);
DynamicObject tqq9_org = dynamicObject.getDynamicObject("tqq9_org");
if(tqq9_org==null){
this.getView().showMessage("请先进行查询操作");
return;
}
BillShowParameter param = new BillShowParameter();
param.setFormId("pm_purorderbill");
param.setCustomParam("pm_purorderbill", dataEntity);//采购订单号
param.setCloseCallBack(new CloseCallBack(this, "pm_purorderbill"));
param.getOpenStyle().setShowType(ShowType.Modal);
this.getView().showForm(param);
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 dynamicObject2 = tqq9_pursuggestrptentry.get(0);
DynamicObject org = dynamicObject2.getDynamicObject("tqq9_org");//组织
CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purorderbill",
pm_purorderbill, org.getString("id"));
String billno = String.valueOf(new Date().getTime());//采购申请单编号
// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, pm_purorderbill);//采购申请单编号
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();
int i = 0;
for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) {
org = dynamicObject2.getDynamicObject("tqq9_org");//组织
if (dynamicObject.getBoolean("tqq9_ischange")) {
if (i == 0) {
pm_purorderbill.set("org", org);//申请组织
pm_purorderbill.set("dept", dept);//申请部门
pm_purorderbill.set("currency", currency);//币别
pm_purorderbill.set("creator", user);//创建人
pm_purorderbill.set("lastupdateuser", user);//修改人
pm_purorderbill.set("lastupdatetime", date);//修改时间
pm_purorderbill.set("billno", billno);//采购订单编号
pm_purorderbill.set("billtype", BILLTYPE1);//单据类型
pm_purorderbill.set("biztype", BIZTYPE);//业务类型
pm_purorderbill.set("biztime", date);//申请日期
pm_purorderbill.set("billstatus", "A");//单据状态
pm_purorderbill.set("closestatus", "A");//关闭状态
pm_purorderbill.set("cancelstatus", "A");//作废状态
pm_purorderbill.set("changestatus", "A");//变更状态
pm_purorderbill.set("subversion", "1");//子版本号
pm_purorderbill.set("version", "1");//版本号
pm_purorderbill.set("tqq9_sfsyhf", "false");//是否使用货返
pm_purorderbill.set("tqq9_hshfsysl", taxrate);//含税货返使用税率
pm_purorderbill.set("tqq9_sfsyxf", "false");//是否使用现返
pm_purorderbill.set("tqq9_hsxfsysl", taxrate);//含税现返使用税率
}
DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料
DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo",
new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息
BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates");
DynamicObject dynamicObject1 = dynamicObjectCollection.addNew();
dynamicObject1.set("seq", i + 1);//分录号
dynamicObject1.set("material", materialpurchaseinfo);//物料
dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称
dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位
dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位
dynamicObject1.set("tqq9_brand", tqq9_material.getDynamicObject("tqq9_brand"));//品牌
dynamicObject1.set("rowclosestatus", "A");//行关闭状态
dynamicObject1.set("rowterminatestatus", "A");//行终止状态
dynamicObject1.set("entryrecorg", org);//收货组织
dynamicObject1.set("entryreqorg", org);//需求组织
dynamicObject1.set("entryreqdept", dept);//需求部门
dynamicObject1.set("deliverdate", date);//交货日期
dynamicObject1.set("entrychangetype", "B");//变更方式
dynamicObject1.set("linetype", LINETYPE);//行类型
dynamicObject1.set("entrycreator", user);//创建人
dynamicObject1.set("entryrecdept", org);//收货部门
dynamicObject1.set("discounttype", "C");//折扣方式
dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间()
if (StringUtils.equals(org.getString("number"), "SHLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价
} else if (StringUtils.equals(org.getString("number"), "BJLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价
} else if (StringUtils.equals(org.getString("number"), "GZLC")) {
dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价
dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价
}
dynamicObjectCollection.set(i, dynamicObject1);
i++;
}
}
pm_purorderbill.set("billentry", dynamicObjectCollection);
SaveServiceHelper.save(new DynamicObject[]{pm_purorderbill});
BillShowParameter billShowParameter = new BillShowParameter();
billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
billShowParameter.setFormId("pm_purorderbill");
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pm_purorderbill.getLong("id"), "pm_purorderbill");
billShowParameter.setPkId(dynamicObject.get("id"));
this.getView().showForm(billShowParameter);
//----------------------------
// DynamicObject pm_purorderbill = BusinessDataServiceHelper.newDynamicObject("pm_purorderbill");
// DynamicObjectCollection dynamicObjectCollection = pm_purorderbill.getDynamicObjectCollection("billentry");
//
// 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 dynamicObject2 = tqq9_pursuggestrptentry.get(0);
// DynamicObject org = dynamicObject2.getDynamicObject("tqq9_org");//组织
// CodeRuleInfo vouCodeRule = CodeRuleServiceHelper.getCodeRule("pm_purorderbill",
// pm_purorderbill, org.getString("id"));
// String billno = String.valueOf(new Date().getTime());//采购申请单编号
//// String billno = CodeRuleServiceHelper.getNumber(vouCodeRule, pm_purorderbill);//采购申请单编号
// 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();
// int i = 0;
// for (DynamicObject dynamicObject : tqq9_pursuggestrptentry) {
// org = dynamicObject2.getDynamicObject("tqq9_org");//组织
// if (dynamicObject.getBoolean("tqq9_ischange")) {
// if (i == 0) {
// pm_purorderbill.set("org", org);//申请组织
// pm_purorderbill.set("dept", dept);//申请部门
// pm_purorderbill.set("currency", currency);//币别
// pm_purorderbill.set("creator", user);//创建人
// pm_purorderbill.set("lastupdateuser", user);//修改人
// pm_purorderbill.set("lastupdatetime", date);//修改时间
// pm_purorderbill.set("billno", billno);//采购订单编号
// pm_purorderbill.set("billtype", BILLTYPE1);//单据类型
// pm_purorderbill.set("biztype", BIZTYPE);//业务类型
// pm_purorderbill.set("biztime", date);//申请日期
// pm_purorderbill.set("billstatus", "A");//单据状态
// pm_purorderbill.set("closestatus", "A");//关闭状态
// pm_purorderbill.set("cancelstatus", "A");//作废状态
// pm_purorderbill.set("changestatus", "A");//变更状态
// pm_purorderbill.set("subversion", "1");//子版本号
// pm_purorderbill.set("version", "1");//版本号
// pm_purorderbill.set("tqq9_sfsyhf", "false");//是否使用货返
// pm_purorderbill.set("tqq9_hshfsysl", taxrate);//含税货返使用税率
// pm_purorderbill.set("tqq9_sfsyxf", "false");//是否使用现返
// pm_purorderbill.set("tqq9_hsxfsysl", taxrate);//含税现返使用税率
// }
// DynamicObject tqq9_material = dynamicObject.getDynamicObject("tqq9_material");//物料
// DynamicObject materialpurchaseinfo = BusinessDataServiceHelper.loadSingle("bd_materialpurchaseinfo",
// new QFilter[]{new QFilter("masterid", QCP.equals, tqq9_material.getLong("id"))});//物料采购信息
// BigDecimal tqq9_saledates = dynamicObject.getBigDecimal("tqq9_saledates");
// DynamicObject dynamicObject1 = dynamicObjectCollection.addNew();
// dynamicObject1.set("seq", i + 1);//分录号
// dynamicObject1.set("material", materialpurchaseinfo);//物料
// dynamicObject1.set("materialname", tqq9_material.getString("name"));//物料名称
// dynamicObject1.set("unit", tqq9_material.getDynamicObject("baseunit"));//计量单位
// dynamicObject1.set("baseunit", tqq9_material.getDynamicObject("baseunit"));//基本单位
// dynamicObject1.set("tqq9_brand", tqq9_material.getDynamicObject("tqq9_brand"));//品牌
// dynamicObject1.set("rowclosestatus", "A");//行关闭状态
// dynamicObject1.set("rowterminatestatus", "A");//行终止状态
// dynamicObject1.set("entryrecorg", org);//收货组织
// dynamicObject1.set("entryreqorg", org);//需求组织
// dynamicObject1.set("entryreqdept", dept);//需求部门
// dynamicObject1.set("deliverdate", date);//交货日期
// dynamicObject1.set("entrychangetype", "B");//变更方式
// dynamicObject1.set("linetype", LINETYPE);//行类型
// dynamicObject1.set("entrycreator", user);//创建人
// dynamicObject1.set("entryrecdept", org);//收货部门
// dynamicObject1.set("discounttype", "C");//折扣方式
// dynamicObject1.set("tqq9_expectsaletime", tqq9_saledates);//预计销售时间()
// if (StringUtils.equals(org.getString("number"), "SHLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_sh"));//含税单价
// } else if (StringUtils.equals(org.getString("number"), "BJLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_bj"));//含税单价
// } else if (StringUtils.equals(org.getString("number"), "GZLC")) {
// dynamicObject1.set("tqq9_zgcgxj", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//最高采购限价
// dynamicObject1.set("priceandtax", tqq9_material.getBigDecimal("tqq9_maxprice_gz"));//含税单价
// }
// dynamicObjectCollection.set(i, dynamicObject1);
// i++;
// }
// }
// pm_purorderbill.set("billentry", dynamicObjectCollection);
// SaveServiceHelper.save(new DynamicObject[]{pm_purorderbill});
// BillShowParameter billShowParameter = new BillShowParameter();
// billShowParameter.getOpenStyle().setShowType(ShowType.Modal);
// billShowParameter.setFormId("pm_purorderbill");
// DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pm_purorderbill.getLong("id"), "pm_purorderbill");
// billShowParameter.setPkId(dynamicObject.get("id"));
// this.getView().showForm(billShowParameter);
}