1.退货补货

This commit is contained in:
龚豆豆 2025-11-11 12:28:43 +08:00
parent 3d0df51d47
commit 5662240c16
7 changed files with 39 additions and 19 deletions

View File

@ -132,17 +132,20 @@ public class CasPaybillController {
cas_paybill.set("tqq9_dzhdbh", tqq9_dzhdbh); cas_paybill.set("tqq9_dzhdbh", tqq9_dzhdbh);
cas_paybill.set("tqq9_cwztfkzt", "D"); cas_paybill.set("tqq9_cwztfkzt", "D");
SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); SaveServiceHelper.save(new DynamicObject[]{cas_paybill});
OperationResult payResult_fw = OperationServiceHelper.executeOperate(Constants.PUSHPAYMENT_FW, Constants.CAS_PAYBILL, new DynamicObject[]{cas_paybill}, option);
} }
} else if (StringUtils.equals("F", billstatus) ) { } else if (StringUtils.equals("F", billstatus) ) {
cas_paybill.set("tqq9_cwztfkzt", "F"); cas_paybill.set("tqq9_cwztfkzt", "F");
SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); SaveServiceHelper.save(new DynamicObject[]{cas_paybill});
OperationResult payResult_fw = OperationServiceHelper.executeOperate(Constants.PUSHPAYMENT_FW, Constants.CAS_PAYBILL, new DynamicObject[]{cas_paybill}, option);
} else if (StringUtils.equals("E", billstatus)) { } else if (StringUtils.equals("E", billstatus)) {
cas_paybill.set("tqq9_cwztfkzt", "E"); cas_paybill.set("tqq9_cwztfkzt", "E");
SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); SaveServiceHelper.save(new DynamicObject[]{cas_paybill});
OperationResult payResult_fw = OperationServiceHelper.executeOperate(Constants.PUSHPAYMENT_FW, Constants.CAS_PAYBILL, new DynamicObject[]{cas_paybill}, option);
} else if (StringUtils.equals("G", billstatus)) { } else if (StringUtils.equals("G", billstatus)) {
cas_paybill.set("tqq9_cwztfkzt", "G"); cas_paybill.set("tqq9_cwztfkzt", "G");
SaveServiceHelper.save(new DynamicObject[]{cas_paybill}); SaveServiceHelper.save(new DynamicObject[]{cas_paybill});
OperationResult payResult_fw = OperationServiceHelper.executeOperate(Constants.PUSHPAYMENT_FW, Constants.CAS_PAYBILL, new DynamicObject[]{cas_paybill}, option);
} }
} }
int failCount = index;//失败数量 int failCount = index;//失败数量

View File

@ -99,6 +99,10 @@ public class WMSPurInController {
//判断回传类型 //判断回传类型
VoucherType=billTypeMap.get(VoucherType); VoucherType=billTypeMap.get(VoucherType);
String entityType = ""; String entityType = "";
if(VoucherType==null){
errormsg = "传入参数 VoucherType 为无效值";
resultExt = ApiResultExt.errorRetrun(entityType, errormsg, error, resultExt);
}
switch (VoucherType) { switch (VoucherType) {
case "pm_receiptnotice": case "pm_receiptnotice":
entityType = "im_purinbill"; entityType = "im_purinbill";

View File

@ -99,6 +99,10 @@ public class WMSSaleOutController {
//判断回传类型 //判断回传类型
VoucherType=billTypeMap.get(VoucherType); VoucherType=billTypeMap.get(VoucherType);
String entityType = ""; String entityType = "";
if(VoucherType==null){
errormsg = "传入参数 VoucherType 为无效值";
resultExt = ApiResultExt.errorRetrun(entityType, errormsg, error, resultExt);
}
switch (VoucherType) { switch (VoucherType) {
case "sm_delivernotice": case "sm_delivernotice":
entityType = "im_saloutbill"; entityType = "im_saloutbill";

View File

@ -24,6 +24,7 @@ public class Constants {
public static final String TYPE_ADD = "add"; //新增类型 public static final String TYPE_ADD = "add"; //新增类型
public static final String TYPE_UNSETTLE = "unsettle"; //反结算类型 public static final String TYPE_UNSETTLE = "unsettle"; //反结算类型
public static final String TYPE_PAY = "pay"; //付款类型 public static final String TYPE_PAY = "pay"; //付款类型
public static final String PUSHPAYMENT_FW = "pushpayment_fw"; //付款状态推送泛微
public static final String GET = "get"; //付款类型 public static final String GET = "get"; //付款类型
public static final String POST = "post"; //付款类型 public static final String POST = "post"; //付款类型
} }

View File

@ -1,8 +1,8 @@
package tqq9.lc123.cloud.app.plugin.operate.im; package tqq9.lc123.cloud.app.plugin.operate.im;
import com.alibaba.nacos.common.utils.StringUtils;
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.StringUtils;
import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.ExtendedDataEntitySet; import kd.bos.entity.ExtendedDataEntitySet;
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
@ -16,6 +16,8 @@ import kd.sdk.plugin.Plugin;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/** /**
* 单据转换插件 * 单据转换插件
@ -58,6 +60,7 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp
BigDecimal zero = BigDecimal.ZERO; BigDecimal zero = BigDecimal.ZERO;
dynamicObjectCollection.clear(); dynamicObjectCollection.clear();
if (im_purinblil != null) { if (im_purinblil != null) {
HashMap<String, BigDecimal> map = new HashMap<>();
for (DynamicObject dynamicObject : im_purinblil) { for (DynamicObject dynamicObject : im_purinblil) {
DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry"); DynamicObjectCollection billentry = dynamicObject.getDynamicObjectCollection("billentry");
String billid = dynamicObject.getString("id"); String billid = dynamicObject.getString("id");
@ -192,23 +195,28 @@ public class PurOrderPushPurRefundConverPlugin extends AbstractConvertPlugIn imp
dynamicObject1.set("tqq9_productdate", producedate); dynamicObject1.set("tqq9_productdate", producedate);
dynamicObject1.set("tqq9_expiredate", expirydate); dynamicObject1.set("tqq9_expiredate", expirydate);
dynamicObject1.set("tqq9_shbillno", srcbillnumber); dynamicObject1.set("tqq9_shbillno", srcbillnumber);
dynamicObject1.set("tqq9_inwarebillentryid", tqq9_inwarebillentryid); } else {
}else{ map.put(tqq9_inwarebillentryid, qty);
for (DynamicObject dynamicObject1 : dynamicObjectCollection) { }
String inwarebillentryid = dynamicObject1.getString("tqq9_inwarebillentryid"); }
if (StringUtils.equals(inwarebillentryid,tqq9_inwarebillentryid)){ }
BigDecimal qty1 = dynamicObject1.getBigDecimal("qty"); for (Map.Entry<String, BigDecimal> entrySet : map.entrySet()) {
BigDecimal add = qty1.add(qty); String id = entrySet.getKey();
dynamicObject1.set("tqq9_inwarebillentryqty", add); BigDecimal qty1 = entrySet.getValue();
dynamicObject1.set("tqq9_maxqty", add); for (DynamicObject dynamicObject1 : dynamicObjectCollection) {
dynamicObject1.set("qty", add); String inwarebillentryid = dynamicObject1.getString("tqq9_inwarebillentryid");
dynamicObject1.set("baseqty", add); if (StringUtils.equals(inwarebillentryid, id)) {
BigDecimal qty2 = dynamicObject1.getBigDecimal("qty");
} BigDecimal add = qty2.add(qty1);
if (add.compareTo(BigDecimal.ZERO) > 0) {
dynamicObject1.set("tqq9_inwarebillentryqty", add);
dynamicObject1.set("tqq9_maxqty", add);
dynamicObject1.set("qty", add);
dynamicObject1.set("baseqty", add);
} else if (add.compareTo(BigDecimal.ZERO) == 0) {
dynamicObjectCollection.remove(dynamicObject1);
} }
} }
} }
} }
} }

View File

@ -35,7 +35,7 @@ public class OtherInWareSaveOpPlugin extends AbstractOperationServicePlugIn impl
DynamicObject dynamicObject = dataEntities1[0]; DynamicObject dynamicObject = dataEntities1[0];
Map<Long, List<BFRow>> id = BFTrackerServiceHelper.findDirtSourceBills(TQQ9_OTHERINAPPLY, new Long[]{dynamicObject.getLong("id")}); Map<Long, List<BFRow>> id = BFTrackerServiceHelper.findDirtSourceBills(TQQ9_OTHERINAPPLY, new Long[]{dynamicObject.getLong("id")});
if (id.size()>0) { if (dynamicObject.getBoolean("tqq9_isrebulidlink")) {
DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry"); DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry");
if (billentry1.size() > 0) { if (billentry1.size() > 0) {
DynamicObject dynamicObject1 = billentry1.get(0); DynamicObject dynamicObject1 = billentry1.get(0);

View File

@ -35,7 +35,7 @@ public class ReceiptNoticeSavePlugin extends AbstractOperationServicePlugIn impl
DynamicObject dynamicObject = dataEntities1[0]; DynamicObject dynamicObject = dataEntities1[0];
Map<Long, List<BFRow>> id = BFTrackerServiceHelper.findDirtSourceBills(PM_PURORDERBILL, new Long[]{dynamicObject.getLong("id")}); Map<Long, List<BFRow>> id = BFTrackerServiceHelper.findDirtSourceBills(PM_PURORDERBILL, new Long[]{dynamicObject.getLong("id")});
if (id.size()>0) { if (id.size()==0) {
DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry"); DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry");
if (billentry1.size() > 0) { if (billentry1.size() > 0) {
DynamicObject dynamicObject1 = billentry1.get(0); DynamicObject dynamicObject1 = billentry1.get(0);