SplitRunCardCancelMoveInAction.java
package com.mycim.webapp.actions.splitruncardlot;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.valueobject.consts.TransactionNames;
import com.mycim.valueobject.runcard.util.RecoveryRunCardActionType;
import com.mycim.valueobject.runcard.util.RunCardConstants;
import com.mycim.valueobject.runcard.util.RunCardUtils;
import com.mycim.valueobject.wip.*;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.RunCardAction;
import com.mycim.webapp.forms.lot.LotInfoForm;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
/**
* @author pinyan.song
* @version 6.0.0
* @date 2020-1-10
**/
public class SplitRunCardCancelMoveInAction extends RunCardAction {
/**
* Action 方法: init
*/
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
cancelMoveInInit((LotInfoForm) form, request);
initLotBaseInfoForJsp(request);
return new ActionForward(mapping.getInput());
}
/**
* Action 方法: cancelmovein
*/
public ActionForward cancelmovein(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
return cancelMoveInHandle(mapping, form, request, response);
}
@Override
protected void cancelMoveInRunCardHandle(Lot lot, LotInfoForm theform, String reason, String userName,
Long facilityRrn) {
LotRunCardStore lotStore = lotRunCardQueryService.getSplitRunCardLotStore(lot.getLotRrn());
long runCardRrn = lotStore.getRuncardRrn();
LotRecoveryRunCard recoveryRunCard = lotRunCardQueryService.getLotRecoveryRunCard(runCardRrn);
if (recoveryRunCard != null) {
String runcardAction = recoveryRunCard.getRunCardAction();
if (RecoveryRunCardActionType.isCancelTrackInType(runcardAction)) {
TransReason transReason = new TransReason();
transReason.setReasonCode(theform.getReasonCode());
transReason.setReason(reason);
transReason.setResponsibility(userName);
transReason.setTransQty1(lot.getQty1());
transReason.setTransQty2(lot.getQty2());
lotRunCardService.outSplitRuncard(lot.getLotRrn(), transReason, userName);
}
}
}
@Override
protected void cancelMoveInReturn(LotInfoForm theform, HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.getRequestDispatcher("splitRunCardLotInfo.do?action=init&lotId=" + theform.getLotId())
.forward(request, response);
}
}