From f709537079ecb2872b38443c537e99a7aaa657a8 Mon Sep 17 00:00:00 2001 From: mzr Date: Fri, 17 Oct 2025 13:49:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E7=95=99action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../billreserve/action/SaveAction.java | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 mmpac/src/client/nccloud/web/ic/reserve/billreserve/action/SaveAction.java diff --git a/mmpac/src/client/nccloud/web/ic/reserve/billreserve/action/SaveAction.java b/mmpac/src/client/nccloud/web/ic/reserve/billreserve/action/SaveAction.java new file mode 100644 index 00000000..11fb4b5c --- /dev/null +++ b/mmpac/src/client/nccloud/web/ic/reserve/billreserve/action/SaveAction.java @@ -0,0 +1,84 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nccloud.web.ic.reserve.billreserve.action; + +import nc.itf.ic.reserve.IReserveMaintenance; +import nc.vo.ic.reserve.entity.ReserveBillVO; +import nc.vo.pub.BusinessException; +import nc.vo.scmpub.util.AppInfoContext; +import nc.vo.scmpub.util.ArrayUtil; +import nccloud.framework.core.exception.ExceptionUtils; +import nccloud.framework.core.json.IJson; +import nccloud.framework.service.ServiceLocator; +import nccloud.framework.web.action.itf.ICommonAction; +import nccloud.framework.web.container.IRequest; +import nccloud.framework.web.json.JsonFactory; +import nccloud.framework.web.processor.template.ExtBillCardConvertProcessor; +import nccloud.framework.web.ui.pattern.extbillcard.ExtBillCard; +import nccloud.web.ic.reserve.entity.BillReserveSaveInfo; +import nccloud.web.ic.reserve.precision.ReserveCardPrecisionHandler; +import nccloud.web.scmpub.pub.operator.SCMExtBillCardOperator; + +public class SaveAction implements ICommonAction { + public SaveAction() { + } + + public Object doAction(IRequest request) { + String read = request.read(); + IJson json = JsonFactory.create(); + BillReserveSaveInfo saveInfo = (BillReserveSaveInfo)json.fromJson(read, BillReserveSaveInfo.class); + ExtBillCard[] newCards = saveInfo.getNewCards(); + ExtBillCard[] updateCards = saveInfo.getUpdateCards(); + ExtBillCardConvertProcessor processor = new ExtBillCardConvertProcessor(); + ReserveBillVO[] newBillVOs = new ReserveBillVO[newCards.length]; + + for(int i = 0; i < newCards.length; ++i) { + newCards[i].setTempletid("1001Z8100000000067SR"); + newBillVOs[i] = (ReserveBillVO)processor.fromExtBillCard(newCards[i]); + } + + ReserveBillVO[] updateBillVOs = new ReserveBillVO[updateCards.length]; + + for(int i = 0; i < updateCards.length; ++i) { + updateCards[i].setTempletid("1001Z8100000000067SR"); + updateBillVOs[i] = (ReserveBillVO)processor.fromExtBillCard(updateCards[i]); + } + + ReserveBillVO[] retBillVOs = null; + + try { + AppInfoContext.setBtnCode("BillReserveSave"); + if (ArrayUtil.isEmpty(updateBillVOs)) { + retBillVOs = ((IReserveMaintenance)ServiceLocator.find(IReserveMaintenance.class)).insert(newBillVOs); + } else { + retBillVOs = ((IReserveMaintenance)ServiceLocator.find(IReserveMaintenance.class)).apply(updateBillVOs, newBillVOs); + } + } catch (BusinessException e) { + ExceptionUtils.wrapException(e); + } + + if (null != retBillVOs && retBillVOs.length > 0) { + SCMExtBillCardOperator operator = new SCMExtBillCardOperator("1001Z81000000000IE1V", "400802028_card"); + ExtBillCard[] retcards = new ExtBillCard[retBillVOs.length]; + + for(int i = 0; i < retBillVOs.length; ++i) { + ExtBillCard resultCard = null; + if ("4B36".equals(saveInfo.getBillType())) { + resultCard = operator.toNoTransCard(retBillVOs[i]); + } else { + resultCard = operator.toCard(retBillVOs[i]); + } + + (new ReserveCardPrecisionHandler(resultCard)).process(); + retcards[i] = resultCard; + } + + return retcards; + } else { + return null; + } + } +}