销售订单新增api币种取值调整,增加编码翻译等

This commit is contained in:
mzr 2025-04-11 16:56:39 +08:00
parent c133d7a555
commit dbf9c01fa4
2 changed files with 23 additions and 3 deletions

View File

@ -104,13 +104,25 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
BillVOsCheckRule checker = new BillVOsCheckRule(new SaleOrderValidator());
checker.check(vos);
Map<String, String> origcurrencyMap = new HashMap<>();
for (SaleOrderVO vo : vos) {
SaleOrderHVO hvo = vo.getParentVO();
String vbillcode = hvo.getVbillcode();
String corigcurrencyid = hvo.getCorigcurrencyid();
origcurrencyMap.put(vbillcode, corigcurrencyid);
}
// Ìî³äĬÈÏÖµ
new SaleOrderSaveFillValue().setDefValue(vos);
// 有值不覆盖
// 填充默认值的时候原币的值被覆盖重新赋值为合同平台传过来的币种
for (SaleOrderVO ordervo : vos) {
SaleOrderHVO hvo = ordervo.getParentVO();
String vbillcode = hvo.getVbillcode();
if (origcurrencyMap.get(vbillcode) != null && !"".equals(origcurrencyMap.get(vbillcode))) {
hvo.setCorigcurrencyid(origcurrencyMap.get(vbillcode));
}
calculatorPrice(ordervo);
}
// 有值不覆盖
SaleOrderVO[] combinBillVOs = (SaleOrderVO[]) AggVOUtil.combinBillVO(fillvos, vos);
// ±£´æ
SaleOrderVO[] retvos = (SaleOrderVO[]) PfServiceScmUtil.processBatch(SOConstant.WRITE,

View File

@ -23,6 +23,8 @@ import nccloud.api.rest.utils.ResultMessageUtil;
import nccloud.api.so.m30.IAPISaleOrderMaitain;
import nccloud.api.so.m30.IAPISaleOrderQuery;
import nccloud.openapi.scmpub.pub.NCCPubRestResource;
import nccloud.openapi.scmpub.pub.TransferCodeToPKTool;
import nccloud.openapi.scmpub.pub.TransferMapToVOTool;
import nccloud.openapi.scmpub.util.CallReturnBuildUtil;
import nc.bs.dao.BaseDAO;
import nc.bd.itf.tools.BFPubTools;
@ -143,9 +145,15 @@ public class SaleOrderResource extends NCCPubRestResource {
}
}
// 参数形式转换为vo并翻译
List<SaleOrderVO> vosList =
TransferMapToVOTool.transferMapToAggVO(paramList, SaleOrderVO.class);
vosList = TransferCodeToPKTool.transferAggVO(vosList);
SaleOrderVO[] vos = vosList.toArray(new SaleOrderVO[vosList.size()]);
// 调用接口保存
IAPISaleOrderMaitain service = NCLocator.getInstance().lookup(IAPISaleOrderMaitain.class);
SaleOrderVO[] results = service.save(paramList);
SaleOrderVO[] results = service.save(vos);
// 包装返回信息
return NCCRestUtils.toJSONString(CallReturnBuildUtil.buildSuccessResult(results, "销售订单保存成功"));
} catch (Exception e) {