Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- */
- package org.jleaf.erp.purch.services.po;
- import java.util.List;
- import org.jleaf.erp.purch.services.AbstractPurchasingService;
- import org.jlego.baseservices.util.ServiceUtil;
- import org.jlego.core.Dto;
- import org.jlego.core.annotation.Info;
- import org.jlego.core.annotation.InfoIn;
- import org.jlego.core.annotation.InfoOut;
- import org.jlego.core.annotation.ServiceDoc;
- import org.jlego.util.DtoUtil;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- /**
- * @author david 11 Sep 2012
- *
- */
- //@formatter:off
- @ServiceDoc
- @InfoIn(value = {
- @Info(name = "result.header.userLoginId", description = "user login id", type = Long.class),
- @Info(name = "result.header.roleLoginId", description = "role login id", type = Long.class),
- @Info(name = "result.header.tenantLoginId", description = "tenant login id", type = Long.class),
- @Info(name = "result.header.datetime", description = "datetime", type = String.class),
- @Info(name = "result.header.sessionId", description = "session id", type = String.class),
- @Info(name = "result.header.secureKey", description = "secure key", type = String.class),
- @Info(name = "result.header.taskName", description = "task name", type = String.class),
- @Info(name = "result.payload.docNo", description = "Nomor Transaksi", type = String.class),
- @Info(name = "result.payload.docDate", description = "Tanggal Transaksi", type = String.class),
- @Info(name = "result.payload.ouId", description = "Organisasi Unit id", type = Long.class),
- @Info(name = "result.payload.extDocNo", description = "external document no", type = String.class),
- @Info(name = "result.payload.extDocDate", description = "external document date", type = String.class),
- @Info(name = "result.payload.remark", description = "remark", type = String.class),
- @Info(name = "result.payload.partnerId", description = "partner / supplier id", type = Long.class),
- @Info(name = "result.payload.purchaserId", description = "purchase officer id", type = Long.class),
- @Info(name = "result.payload.warehouseId", description = "received warehouse id", type = Long.class),
- @Info(name = "result.payload.flgDelivery", description = "flag delivery (pick up or deliver)", type = String.class),
- @Info(name = "result.payload.currCode", description = "currency code", type = String.class),
- @Info(name = "result.payload.topCode", description = "term of payment code", type = String.class),
- @Info(name = "result.payload.purchaseOrderItemList", description = "list of purchase order item (lineNo, productId, flgStock, grossPricePo, flgTaxAmount, taxId, qtyPo, poUomId, qtyInt, activityGlId, ouRcId, eta, toleranceRcvQty)", type = List.class)
- })
- @InfoOut(value = {
- @Info(name = "result.id", description = "po id", type = Long.class),
- @Info(name = "result.successList", description = "success detail list to be saved (lineNo)", type = List.class),
- @Info(name = "result.failList", description = "fail detail list to be saved (lineNo, errorKey, args)", type = List.class)
- })
- //@formatter:on
- public class AddPurchaseOrderService extends AbstractPurchasingService {
- private final static Logger LOG = LoggerFactory.getLogger(AddPurchaseOrderService.class);
- @Override
- public String getTaskName() {
- return "addPurchaseOrder";
- }
- @SuppressWarnings({"unchecked", "rawtypes"})
- @Override
- public Dto process(Dto inputDto) throws Exception {
- LOG.debug("BEGIN : process");
- // Declaring variables
- Dto inputDtoForAddPurchaseOrder;
- Dto outputDtoForAddPurchaseOrder;
- Dto outputDto;
- // Validation input variables
- ServiceUtil.valNullParams(
- inputDto,
- new String[]{"result.payload.docNo", "result.payload.docDate", "result.payload.ouId", "result.payload.extDocNo", "result.payload.extDocDate", "result.payload.remark", "result.payload.partnerId", "result.payload.purchaserId", "result.payload.warehouseId", "result.payload.flgDelivery", "result.payload.currCode", "result.payload.topCode", "result.payload.purchaseOrderItemList"});
- // Preparing input parameters
- inputDtoForAddPurchaseOrder = new Dto();
- inputDtoForAddPurchaseOrder.put("docNo", inputDto.getString("result.payload.docNo"));
- inputDtoForAddPurchaseOrder.put("docDate", inputDto.getString("result.payload.docDate"));
- inputDtoForAddPurchaseOrder.put("ouId", Long.valueOf(inputDto.getString("result.payload.ouId")));
- inputDtoForAddPurchaseOrder.put("extDocNo", inputDto.getString("result.payload.extDocNo"));
- inputDtoForAddPurchaseOrder.put("extDocDate", inputDto.getString("result.payload.extDocDate"));
- inputDtoForAddPurchaseOrder.put("remark", inputDto.getString("result.payload.remark"));
- inputDtoForAddPurchaseOrder.put("partnerId", Long.valueOf(inputDto.getString("result.payload.partnerId")));
- inputDtoForAddPurchaseOrder.put("purchaserId", Long.valueOf(inputDto.getString("result.payload.purchaserId")));
- inputDtoForAddPurchaseOrder.put("warehouseId", Long.valueOf(inputDto.getString("result.payload.warehouseId")));
- inputDtoForAddPurchaseOrder.put("flgDelivery", inputDto.getString("result.payload.flgDelivery"));
- inputDtoForAddPurchaseOrder.put("currCode", inputDto.getString("result.payload.currCode"));
- inputDtoForAddPurchaseOrder.put("topCode", inputDto.getString("result.payload.topCode"));
- inputDtoForAddPurchaseOrder.put("purchaseOrderItemList", DtoUtil.convertToArray(inputDto.get("result.payload.purchaseOrderItemList")));
- inputDtoForAddPurchaseOrder.put("tenantLoginId", Long.valueOf(inputDto.getString("result.header.tenantLoginId")));
- inputDtoForAddPurchaseOrder.put("userLoginId", Long.valueOf(inputDto.getString("result.header.userLoginId")));
- inputDtoForAddPurchaseOrder.put("roleLoginId", Long.valueOf(inputDto.getString("result.header.roleLoginId")));
- inputDtoForAddPurchaseOrder.put("datetime", inputDto.getString("result.header.datetime"));
- // Processing
- outputDtoForAddPurchaseOrder = getBusinessTransaction("addPurchaseOrder").execute(inputDtoForAddPurchaseOrder);
- // Preparing output parameters
- List successList = ServiceUtil.getFilteredList(outputDtoForAddPurchaseOrder.getList("successList"), new String[]{"lineNo"});
- List failList = ServiceUtil.getFilteredList(outputDtoForAddPurchaseOrder.getList("failList"), new String[]{"lineNo", "errorKey", "args"});
- outputDto = new Dto();
- outputDto.put("result", outputDtoForAddPurchaseOrder.strip("id"));
- outputDto.put("result.successList", successList);
- outputDto.put("result.failList", failList);
- LOG.debug("Output DTO : " + outputDto);
- LOG.debug("END : process");
- return outputDto;
- }
- }
Add Comment
Please, Sign In to add comment