ViewBarcodeAction.java
package com.mycim.webapp.actions.unit;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.BooleanUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.server.carrier.service.CarrierService;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.consts.LotInfoConstants;
import com.mycim.valueobject.wip.Lot;
import com.mycim.valueobject.wip.Unit;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.WipSetupAction;
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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
/**
* @author sandy
* @version 6.0.0
* @date 2019/9/25
**/
public class ViewBarcodeAction extends WipSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
Long facilityRrn = LocalContext.getFacilityRrn();
if(StringUtils.isNotEmpty(WebUtils.getParameter("cstId",request)) //在前端处理了.这里直接给页面就行了
|| StringUtils.isNotEmpty(WebUtils.getParameter("podId",request))
){
//业务预留,下面三个参数解除强关联报错
request.setAttribute("lotInfo", new Lot());
request.setAttribute("unitList", new ArrayList<>());
request.setAttribute("qty1", 0);
return mapping.findForward("unitlist");
}
String lotId = WebUtils.getParameterUpperCase("lotId", request);
Lot lot = lotQueryService.getLot(lotId, facilityRrn);
if (StringUtils.isNotEmpty(WebUtils.getParameter("cdwFlag",request))) {
Assert.isTrue(LotInfoConstants.isCategoryC(lot.getCreateCategory()),
Errors.create().key(MessageIdList.CDW_INVALID_CATEGORY)
.content("Current lot category is not allowed!").build());
}
//todo
/*LotRunCardStore runcardStore = getLotManager().getSplitRunCardLotStore(lot.getLotRrn());
if (runcardStore != null) {
if (StringUtils.equalsIgnoreCase(SplitRunCardConstants.STATUS_BANK_OUT, runcardStore
.getSubStatus())) {
unitList = getUnitManager().getRCStoreUnits(lot.getLotRrn());
} else {
unitList = getUnitManager().getUnitList(lot.getLotRrn());
for (Unit unit : unitList) {
if (StringUtils.startsWith(unit.getUnitId(), "RC-")) {
unit.setUnitId(StringUtils.substring(unit.getUnitId(), 3));
}
}
}
Map<String,Object> lotInfoMap = lotService.getRCLotInfoMap(lotId, facilityRrn);
lot.setCarrierId(MapUtils.getString(lotInfoMap, "carrierId"));
lot.setLotId(MapUtils.getString(lotInfoMap, "lotId"));
} else {
unitList = getUnitManager().getUnitList(lot.getLotRrn());
}*/
List<Unit> unitList = wipQueryService.getUnitList(lot.getLotRrn());
lot.setLotId(StringUtils.replace(lot.getLotId(), ".MAINRC", ""));
lot.setCarrierId(StringUtils.replace(lot.getCarrierId(), ".MAINRC", ""));
request.setAttribute("lotInfo", lot);
request.setAttribute("unitList", unitList);
request.setAttribute("qty1", lot.getQty1() != null ? lot.getQty1().intValue() : 0);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String duedate = df.format(lot.getDueDate());
request.setAttribute("duedate", duedate);
return mapping.findForward("unitlist");
}
public ActionForward viewResistBarcode(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String resistId = request.getParameter("resistId").toUpperCase().trim();
request.setAttribute("resistId", resistId);
return mapping.findForward("viewResistBarcode");
}
public ActionForward viewResistEqptBarcode(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String resistEqptBarcode = request.getParameter("resistEqptBarcode").toUpperCase().trim();
request.setAttribute("resistEqptBarcode", resistEqptBarcode);
return mapping.findForward("viewResistEqptBarcode");
}
}