1.退货补货调整

2.异地退货调整
This commit is contained in:
龚豆豆 2025-09-15 12:32:43 +08:00
parent 335cc99415
commit 1ff1495d29
6 changed files with 92 additions and 9 deletions

View File

@ -192,9 +192,10 @@ public class OtherOutApplyBillPlugin extends AbstractBillPlugIn implements Befor
dynamicObject.set("tqq9_drzz",org);//调入组织
dynamicObject.set("tqq9_zczh",entry.getDynamicObject("tqq9_registration"));//注册证号
dynamicObject.set("tqq9_licensenoxkzh",entry.getString("tqq9_ykzno"));//许可证号
// dynamicObject.set("tqq9_lot",entry.getDynamicObject("lot"));//批号主档
dynamicObject.set("tqq9_producedate",entry.getDate("tqq9_createdate"));//生产日期
dynamicObject.set("tqq9_expirydate",entry.getDate("tqq9_deadline"));//到期日期
dynamicObject.set("tqq9_dcck",entry.getDynamicObject("tqq9_thck"));//退货仓库
dynamicObject.set("tqq9_lot",entry.getDynamicObject("tqq9_ph"));//批号
if(bd_materialinventoryinfo!=null){
QFilter purinbillF=new QFilter("billentry.material.id", QCP.equals,bd_materialinventoryinfo.getLong("id"));
purinbillF=purinbillF.and("billstatus", QCP.equals,"C");

View File

@ -39,7 +39,6 @@ public class PurRefundApplyBillPlugin extends AbstractBillPlugIn implements Plug
BillShowParameter param = new BillShowParameter();
param.setFormId("tqq9_otheroutapply");
param.setCustomParam("tqq9_otheroutapplybillno", this.getModel().getValue("billno"));//采购退货申请单号
param.setCloseCallBack(new CloseCallBack(this, "tqq9_otheroutapply"));
param.getOpenStyle().setShowType(ShowType.Modal);
this.getView().showForm(param);

View File

@ -0,0 +1,80 @@
package tqq9.lc123.cloud.app.plugin.operate.im;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.sdk.plugin.Plugin;
import java.util.Date;
import java.util.HashMap;
/**
* 单据操作插件
*/
public class OtherInIotManagePlugin extends AbstractOperationServicePlugIn implements Plugin {
private final static Log logger = LogFactory.getLog(OtherInIotManagePlugin.class);
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
super.afterExecuteOperationTransaction(e);
//物料Map
DynamicObject[] materials = BusinessDataServiceHelper.load("bd_material", "id,number,name,tqq9_brand,baseunit,tqq9_brand", null);
HashMap<Long, DynamicObject> materialMap = new HashMap<Long, DynamicObject>();
for (DynamicObject dynamicObject : materials) {
materialMap.put(dynamicObject.getLong("id"), dynamicObject);
}
for (DynamicObject dataEntity : e.getDataEntities()) {
String billno = dataEntity.getString("billno");
QFilter qFilter = new QFilter("billno", QCP.equals, billno);
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_otherinbill",qFilter.toArray());
DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry");
DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()];
boolean falg=false;
for (int i = 0; i < billentry.size(); i++) {
DynamicObject entry = billentry.get(i);
DynamicObject tqq9_goodlotmanage = BusinessDataServiceHelper.newDynamicObject("tqq9_goodlotmanage");
Date producedate = entry.getDate("producedate");//生产日期
Date expirydate = entry.getDate("expirydate");//到期日期
String lotnumber = entry.getString("lotnumber");//批号
DynamicObject tqq9_registration = entry.getDynamicObject("tqq9_registration");//商品注册证
DynamicObject materialpurch = entry.getDynamicObject("material");//物料采购信息
DynamicObject masterid = materialpurch.getDynamicObject("masterid");//物料id
DynamicObject material = materialMap.get(masterid.getLong("id"));//物料
DynamicObject tqq9_brand = material.getDynamicObject("tqq9_brand");//商品品牌
String number = material.getString("number");//商品编码
String name = null;
if(tqq9_registration!=null){
name=tqq9_registration.getString("name");
}
tqq9_goodlotmanage.set("number",number);//商品编码
tqq9_goodlotmanage.set("tqq9_lot",lotnumber);//批号
tqq9_goodlotmanage.set("name",name);//商品注册证名称
tqq9_goodlotmanage.set("tqq9_brand",tqq9_brand);//商品品牌
tqq9_goodlotmanage.set("tqq9_crreatdate",producedate);//生产日期
tqq9_goodlotmanage.set("tqq9_invaliddate",expirydate);//到期日期
tqq9_goodlotmanage.set("status","C");//数据状态
tqq9_goodlotmanage.set("enable","1");//使用状态
QFilter goodlotmanageF = new QFilter("number", QCP.equals,number);
goodlotmanageF=goodlotmanageF.and(new QFilter("tqq9_lot", QCP.equals,lotnumber));
DynamicObject tqq9_goodlotmanage1 = BusinessDataServiceHelper.loadSingle("tqq9_goodlotmanage",goodlotmanageF.toArray());
if(tqq9_goodlotmanage1==null){
falg=true;
tqq9_goodlotmanages[i]=tqq9_goodlotmanage;
}
}
if(falg){
SaveServiceHelper.save(tqq9_goodlotmanages);
}
}
}
}

View File

@ -35,7 +35,7 @@ public class PurInIotManagePlugin extends AbstractOperationServicePlugIn impleme
for (DynamicObject dataEntity : e.getDataEntities()) {
String billno = dataEntity.getString("billno");
QFilter qFilter = new QFilter("billno", QCP.equals, billno);
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_otherinbill",qFilter.toArray());
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("im_purinbill",qFilter.toArray());
DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry");
DynamicObject[] tqq9_goodlotmanages=new DynamicObject[billentry.size()];
boolean falg=false;

View File

@ -96,11 +96,13 @@ public class PurInlotReceiptPlugin extends AbstractOperationServicePlugIn implem
while (iterator.hasNext()){
DynamicObject lot = iterator.next();
DynamicObject bd_lot = lot.getDynamicObject("fbasedataId");
bd_lot = BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("id", QCP.equals, bd_lot.getLong("id"))});
String lotstatus = bd_lot.getString("lotstatus");
if (lotstatus.equals("B")) {
logger.info("删除成功");
iterator.remove();
if(bd_lot!=null){
bd_lot = BusinessDataServiceHelper.loadSingle("bd_lot", new QFilter[]{new QFilter("id", QCP.equals, bd_lot.getLong("id"))});
String lotstatus = bd_lot.getString("lotstatus");
if (lotstatus.equals("B")) {
logger.info("删除成功");
iterator.remove();
}
}
}
}

View File

@ -22,6 +22,7 @@ import kd.sdk.plugin.Plugin;
import tqq9.lc123.cloud.app.api.utils.Constants;
import tqq9.lc123.cloud.app.plugin.utils.BotpParamUtils;
import java.math.BigDecimal;
import java.util.*;
/**
@ -57,7 +58,7 @@ public class ReturnStockSyncNotifierPlugin extends AbstractOperationServicePlugI
for (DynamicObject entry : billentry) {
String mainbillnumber = entry.getString("mainbillnumber");//核心单据编号
String mainbillentryid = entry.getString("mainbillentryid");//核心单据行id
String qty = entry.getString("qty");//数量
BigDecimal qty = entry.getBigDecimal("qty");//数量
//查询采购订单
DynamicObject pm_purorderbill = BusinessDataServiceHelper.loadSingle("pm_purorderbill", new QFilter[]{new QFilter("billno", QCP.equals, mainbillnumber)});
DynamicObjectCollection billentry1 = pm_purorderbill.getDynamicObjectCollection("billentry");