预留action

This commit is contained in:
mzr 2025-10-17 13:49:52 +08:00
parent 6b1ba337ff
commit f709537079
1 changed files with 84 additions and 0 deletions

View File

@ -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;
}
}
}