预留action
This commit is contained in:
parent
6b1ba337ff
commit
f709537079
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue