283 lines
16 KiB
Java
283 lines
16 KiB
Java
package tqq9.lc123.cloud.app.plugin.form.im;
|
|
|
|
import kd.bos.bill.AbstractBillPlugIn;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
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.field.BasedataEdit;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.util.Date;
|
|
import java.util.EventObject;
|
|
|
|
/**
|
|
* 其他出库申请界面插件
|
|
*/
|
|
public class OtherOutApplyBillPlugin extends AbstractBillPlugIn {
|
|
@Override
|
|
public void registerListener(EventObject e) {
|
|
super.registerListener(e);
|
|
this.addItemClickListeners("tbmain");
|
|
BasedataEdit control = this.getControl("tqq9_lot");
|
|
// control.addBeforeF7SelectListener(this);
|
|
// this.addClickListeners("tqq9_xsddh");
|
|
|
|
|
|
}
|
|
|
|
// /**
|
|
// * 出库批号根据了做筛选
|
|
// */
|
|
|
|
// @Override
|
|
// public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
|
// int index = this.getModel().getEntryCurrentRowIndex("entryentity");
|
|
// DynamicObjectCollection entryentity = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");
|
|
// DynamicObject dynamicObject = entryentity.get(index);
|
|
// DynamicObject tqq9_materiel = dynamicObject.getDynamicObject("tqq9_materiel");
|
|
// if (tqq9_materiel == null) {
|
|
// beforeF7SelectEvent.setCancel(true);
|
|
// this.getView().showMessage("请先填物料信息");
|
|
// } else {
|
|
// DynamicObject materiel = tqq9_materiel.getDynamicObject("masterid");//物料
|
|
// Boolean enablelot = tqq9_materiel.getBoolean("enablelot");//是否启用批号管理
|
|
// if (enablelot) {
|
|
// ListShowParameter param = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
|
// QFilter qF1 = new QFilter("material.number", QCP.equals, materiel.getString("number"));
|
|
// param.getListFilterParameter().getQFilters().add(qF1);
|
|
// } else {
|
|
// beforeF7SelectEvent.setCancel(true);
|
|
// this.getView().showMessage("该物料未启用批号管理");
|
|
// }
|
|
//
|
|
// }
|
|
// }
|
|
|
|
|
|
/**
|
|
* 售后单号带出售后信息
|
|
*/
|
|
|
|
@Override
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
super.propertyChanged(e);
|
|
String name = e.getProperty().getName();
|
|
IDataModel model = this.getModel();
|
|
if (StringUtils.equals("tqq9_returnapply", name)) {
|
|
ChangeData[] changeSet = e.getChangeSet();
|
|
DynamicObject newValue = (DynamicObject) changeSet[0].getNewValue();//销售退货申请单
|
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("sm_returnapply", new QFilter[]{new QFilter("billno", QCP.equals, newValue.getString("billno"))});
|
|
DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry");
|
|
if (billentry.size() > 0) {
|
|
DynamicObject entry = billentry.get(0);
|
|
String mainbillnumber = entry.getString("mainbillnumber");//核心单据编号
|
|
String tqq9_kddh = dynamicObject.getString("tqq9_kddh");//快递单号
|
|
DynamicObject tqq9_sskf = dynamicObject.getDynamicObject("tqq9_sskf");//所属客服
|
|
DynamicObject operator = dynamicObject.getDynamicObject("operator");//所属销售
|
|
DynamicObject customer = dynamicObject.getDynamicObject("customer");//订货客户
|
|
DynamicObject sm_salorder = BusinessDataServiceHelper.loadSingle("sm_salorder", new QFilter[]{new QFilter("billno", QCP.equals, mainbillnumber)});
|
|
model.setValue("tqq9_saleorderbill", sm_salorder);//对应销售订单号
|
|
model.setValue("tqq9_dpdh", tqq9_kddh);//DP单号
|
|
model.setValue("tqq9_sskf", tqq9_sskf);//所属客服
|
|
model.setValue("tqq9_ssxs", operator);//所属销售
|
|
model.setValue("tqq9_kufptt", customer);//客户发票抬头
|
|
}
|
|
}
|
|
//物料带出最近价格
|
|
if (StringUtils.equals("tqq9_materiel", name)) {
|
|
ChangeData[] changeSet = e.getChangeSet();
|
|
DynamicObject newValue = (DynamicObject) changeSet[0].getNewValue();//物料库存信息
|
|
if (newValue != null) {
|
|
DynamicObject masterid = newValue.getDynamicObject("masterid");//物料
|
|
if (masterid != null) {
|
|
QFilter purinbillF = new QFilter("billentry.material.id", QCP.equals, newValue.getLong("id"));
|
|
purinbillF = purinbillF.and("billstatus", QCP.equals, "C");
|
|
//price
|
|
DynamicObject[] purinbills = BusinessDataServiceHelper.load("im_purinbill", "id,billno,billentry.material,billentry.price", purinbillF.toArray(), "auditdate desc");
|
|
if (purinbills != null && purinbills.length > 0) {
|
|
DynamicObject purinbill = purinbills[0];
|
|
DynamicObjectCollection billentry = purinbill.getDynamicObjectCollection("billentry");
|
|
for (DynamicObject dynamicObject : billentry) {
|
|
String number = dynamicObject.getString("material.masterid.number");
|
|
if (StringUtils.equals(number, masterid.getString("number"))) {
|
|
BigDecimal price = dynamicObject.getBigDecimal("price");
|
|
this.getModel().setValue("tqq9_price", price);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (StringUtils.equals("tqq9_lotnumber", name)) {
|
|
ChangeData[] changeSet = e.getChangeSet();
|
|
int rowIndex = changeSet[0].getRowIndex();
|
|
String lotNumber = (String) changeSet[0].getNewValue();
|
|
DynamicObject tqq9_materiel = (DynamicObject) this.getModel().getValue("tqq9_materiel");
|
|
if (StringUtils.isNotBlank(lotNumber) && null != tqq9_materiel) {
|
|
DynamicObject[] objects = BusinessDataServiceHelper.load("im_inv_realbalance",
|
|
"id,keycol,material,lotnum,producedate,expirydate,tqq9_goods,tqq9_registration"
|
|
, new QFilter[]{new QFilter("lotnum", QCP.equals, lotNumber), new QFilter("material", QCP.equals, tqq9_materiel.getDynamicObject("masterid").getLong("id"))});
|
|
if (null != objects && objects.length > 0) {
|
|
if (objects.length == 1) {
|
|
DynamicObject object = objects[0];
|
|
Date producedate = object.getDate("producedate");
|
|
Date expirydate = object.getDate("expirydate");
|
|
DynamicObject tqq9_registration = object.getDynamicObject("tqq9_registration");
|
|
StringBuilder tqq9_cs = new StringBuilder();
|
|
StringBuilder tqq9_licenseno = new StringBuilder();
|
|
if (null != tqq9_registration) {
|
|
tqq9_registration = BusinessDataServiceHelper.loadSingle("tqq9_registration",
|
|
"id,number,tqq9_entry.tqq9_e_supplier,tqq9_entry.tqq9_e_supno,tqq9_proxy,tqq9_proxyno"
|
|
, new QFilter[]{new QFilter("id", QCP.equals, tqq9_registration.getLong("id"))});
|
|
DynamicObjectCollection tqq9_entry = tqq9_registration.getDynamicObjectCollection("tqq9_entry");
|
|
for (int i = 0; i < tqq9_entry.size(); i++) {
|
|
DynamicObject dynamicObject = tqq9_entry.get(i);
|
|
DynamicObject tqq9_e_supplier = dynamicObject.getDynamicObject("tqq9_e_supplier");
|
|
if (null != tqq9_e_supplier) {
|
|
tqq9_cs.append(tqq9_e_supplier.getString("name"));
|
|
if (i != tqq9_entry.size() - 1) {
|
|
tqq9_cs.append("#");
|
|
}
|
|
}
|
|
String tqq9_e_supno = dynamicObject.getString("tqq9_e_supno");
|
|
if (StringUtils.isNotBlank(tqq9_e_supno)) {
|
|
tqq9_licenseno.append(tqq9_e_supno);
|
|
if (i != tqq9_entry.size() - 1) {
|
|
tqq9_licenseno.append("#");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.getModel().setValue("tqq9_producedate", producedate, rowIndex);
|
|
this.getModel().setValue("tqq9_expirydate", expirydate, rowIndex);
|
|
this.getModel().setValue("tqq9_cs", tqq9_cs.toString(), rowIndex);
|
|
this.getModel().setValue("tqq9_licenseno", tqq9_licenseno.toString(), rowIndex);
|
|
this.getModel().setValue("tqq9_zczh", tqq9_registration, rowIndex);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// /**
|
|
// * 点击退出回传其他出库单编号
|
|
// *
|
|
// * @param afterDoOperationEventArgs
|
|
// */
|
|
// @Override
|
|
// public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
|
|
// super.afterDoOperation(afterDoOperationEventArgs);
|
|
// String itemKey = afterDoOperationEventArgs.getOperateKey();
|
|
// if (StringUtils.equals("donothing", itemKey)) {
|
|
// Object billno = this.getModel().getValue("billno");
|
|
// HashMap<String, Object> map = new HashMap<>();
|
|
// map.put("billno", billno);
|
|
// this.getView().returnDataToParent(map);
|
|
// this.getView().close();
|
|
// }else if(StringUtils.equals("submit", itemKey)){
|
|
// DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
// DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("entryentity");
|
|
// for (DynamicObject dynamicObject : entryentity) {
|
|
// String tqq9_lotnumber = dynamicObject.getString("tqq9_lotnumber");//批号
|
|
// DynamicObject bd_lot= BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("number", QCP.equals, tqq9_lotnumber)});
|
|
// dynamicObject.set("tqq9_lot",bd_lot);
|
|
// SaveServiceHelper.save(new DynamicObject[]{dataEntity});
|
|
// this.getView().updateView();
|
|
//
|
|
//
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
// /**
|
|
// * 采购退货未异地退货保存跳转到其他出库申请
|
|
// */
|
|
// @Override
|
|
// public void afterCreateNewData(EventObject e) {
|
|
// super.afterCreateNewData(e);
|
|
// FormShowParameter formShowParameter = this.getView().getFormShowParameter();
|
|
// String billno = formShowParameter.getCustomParam("tqq9_otheroutapplybillno");
|
|
// if (StringUtils.isNotBlank(billno)) {
|
|
// DynamicObject pm_purrefundapplybill = BusinessDataServiceHelper.loadSingle("pm_purrefundapplybill", new QFilter[]{new QFilter("billno", QCP.equals, billno)});
|
|
// DynamicObject org = pm_purrefundapplybill.getDynamicObject("org");//采购组织
|
|
// DynamicObjectCollection billentry = pm_purrefundapplybill.getDynamicObjectCollection("billentry");//采购退货分录
|
|
// DynamicObject dataEntity = this.getModel().getDataEntity(true);
|
|
// //业务类型
|
|
// DynamicObject bd_biztype = BusinessDataServiceHelper.loadSingle("bd_biztype", new QFilter[]{new QFilter("number", QCP.equals, "612")});
|
|
// dataEntity.set("tqq9_biztype", bd_biztype);
|
|
// //库存事务
|
|
// DynamicObject im_invscheme = BusinessDataServiceHelper.loadSingle("im_invscheme", new QFilter[]{new QFilter("number", QCP.equals, "612.1")});
|
|
// dataEntity.set("tqq9_kcsw", im_invscheme);
|
|
// //业务日期
|
|
// Date date = new Date();
|
|
// dataEntity.set("tqq9_bizdate", date);
|
|
// dataEntity.set("tqq9_dblx", "A");//调拨类型
|
|
// dataEntity.set("tqq9_dbckfl", "G");//调拨出库分类
|
|
// dataEntity.set("org", org);//组织
|
|
// dataEntity.set("tqq9_dczz1", org);//调出组织
|
|
// dataEntity.set("tqq9_drck2", org);//调入组织
|
|
// DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("entryentity");
|
|
// entryentity.clear();
|
|
//
|
|
// //库存类型-普通
|
|
// DynamicObject bd_invtype = BusinessDataServiceHelper.loadSingle("bd_invtype", new QFilter[]{new QFilter("number", QCP.equals, "110")});
|
|
// //库存类型-普通
|
|
// DynamicObject bd_invstatus = BusinessDataServiceHelper.loadSingle("bd_invstatus", new QFilter[]{new QFilter("number", QCP.equals, "110")});
|
|
// //出库货主类型
|
|
// String tqq9_outownertype = "bos_org";
|
|
// //出库保管者类型
|
|
// String tqq9_outkeepertype = "bos_org";
|
|
// for (DynamicObject entry : billentry) {
|
|
// DynamicObject dynamicObject = entryentity.addNew();
|
|
// dynamicObject.set("tqq9_linetype", entry.getDynamicObject("linetype"));//行类型
|
|
// DynamicObject material = entry.getDynamicObject("material");//物料采购信息
|
|
// if (material != null) {
|
|
// DynamicObject masterid = material.getDynamicObject("masterid");//物料信息
|
|
// //物料库存信息
|
|
// DynamicObject bd_materialinventoryinfo = BusinessDataServiceHelper.loadSingle("bd_materialinventoryinfo", new QFilter[]{new QFilter("masterid", QCP.equals, masterid.getLong("id"))});
|
|
// //商城商品
|
|
// DynamicObject tqq9_goodspackage = BusinessDataServiceHelper.loadSingle("tqq9_goodspackage", new QFilter[]{new QFilter("tqq9_mater.id", QCP.equals, masterid.getLong("id"))});
|
|
// dynamicObject.set("tqq9_materiel", bd_materialinventoryinfo);//物料库存信息
|
|
// dynamicObject.set("tqq9_goods", tqq9_goodspackage);//商城商品
|
|
// dynamicObject.set("tqq9_materialname", masterid.getString("name"));//物料名称
|
|
// dynamicObject.set("tqq9_unit", masterid.getDynamicObject("baseunit"));//计量单位
|
|
// dynamicObject.set("tqq9_baseunit", masterid.getDynamicObject("baseunit"));//基本单位
|
|
// }
|
|
// dynamicObject.set("tqq9_dczz", org);//调出组织
|
|
// dynamicObject.set("tqq9_drzz", org);//调入组织
|
|
// dynamicObject.set("tqq9_zczh", entry.getDynamicObject("tqq9_registration"));//注册证号
|
|
// dynamicObject.set("tqq9_licenseno", entry.getString("tqq9_licenseno"));//许可证号
|
|
// dynamicObject.set("tqq9_producedate", entry.getDate("tqq9_createdate"));//生产日期
|
|
// dynamicObject.set("tqq9_expirydate", entry.getDate("tqq9_deadline"));//到期日期
|
|
// dynamicObject.set("tqq9_drck", entry.getDynamicObject("tqq9_thck"));//退货仓库
|
|
// dataEntity.set("tqq9_basedatafield1", entry.getDynamicObject("tqq9_thck"));//退货仓库
|
|
// dynamicObject.set("tqq9_lot", entry.getDynamicObject("tqq9_ph"));//批号
|
|
// dynamicObject.set("tqq9_qty", entry.getBigDecimal("qty"));//数量
|
|
// dynamicObject.set("tqq9_baseqty", entry.getBigDecimal("qty"));//数量
|
|
// dynamicObject.set("tqq9_price", entry.getBigDecimal("price"));//单价
|
|
// dynamicObject.set("tqq9_amount", entry.getBigDecimal("amount"));//金额
|
|
// dynamicObject.set("tqq9_outinvtype", bd_invtype);//出库库存类型
|
|
// dynamicObject.set("tqq9_outinvstatus", bd_invstatus);//出库库存状态
|
|
// dynamicObject.set("tqq9_outownertype", tqq9_outownertype);//出库货主类型
|
|
// dynamicObject.set("tqq9_outkeepertype", tqq9_outkeepertype);//出库保管者类型
|
|
// dynamicObject.set("tqq9_outowner", org);//出库货主
|
|
// dynamicObject.set("tqq9_outkeeper", org);//出库保管者
|
|
// }
|
|
// this.getView().setVisible(true, "tqq9_confirm");
|
|
// this.getView().setVisible(false, "bar_close");
|
|
// }
|
|
// }
|
|
|
|
} |