|
@ -2,39 +2,27 @@ package com.win.module.wms.service.issueRequest; |
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.exceptions.UtilException; |
|
|
import cn.hutool.core.exceptions.UtilException; |
|
|
import cn.hutool.json.JSONArray; |
|
|
|
|
|
import cn.hutool.json.JSONObject; |
|
|
import cn.hutool.json.JSONObject; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
import com.win.framework.common.pojo.CustomConditions; |
|
|
import com.win.framework.common.pojo.CustomConditions; |
|
|
import com.win.framework.common.util.validation.ValidationUtils; |
|
|
import com.win.framework.common.util.validation.ValidationUtils; |
|
|
import com.win.framework.dict.core.util.DictFrameworkUtils; |
|
|
import com.win.framework.dict.core.util.DictFrameworkUtils; |
|
|
|
|
|
import com.win.module.infra.api.trends.TrendsApi; |
|
|
|
|
|
import com.win.module.infra.enums.TrendsTypeEnum; |
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
import com.win.module.system.api.serialnumber.SerialNumberApi; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
import com.win.module.system.enums.serialNumber.RuleCodeEnum; |
|
|
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestImportErrorVO; |
|
|
|
|
|
import com.win.module.wms.controller.inspectRequest.vo.InspectRequestMainCreateReqVO; |
|
|
|
|
|
import com.win.module.wms.controller.issueRequest.vo.*; |
|
|
import com.win.module.wms.controller.issueRequest.vo.*; |
|
|
import com.win.module.wms.controller.purchaseclaimRequest.vo.PurchaseclaimRequestDetailCreateReqVO; |
|
|
|
|
|
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestDetailCreateReqVO; |
|
|
|
|
|
import com.win.module.wms.controller.purchasereceiptRequest.vo.PurchasereceiptRequestMainImportErrorVO; |
|
|
|
|
|
import com.win.module.wms.controller.rule.vo.RuleRespVO; |
|
|
import com.win.module.wms.controller.rule.vo.RuleRespVO; |
|
|
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert; |
|
|
import com.win.module.wms.convert.issueRequest.IssueRequestDetailConvert; |
|
|
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestDetailConvert; |
|
|
|
|
|
import com.win.module.wms.convert.purchaseclaimRequest.PurchaseclaimRequestMainConvert; |
|
|
|
|
|
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestDetailConvert; |
|
|
|
|
|
import com.win.module.wms.convert.purchasereceiptRequest.PurchasereceiptRequestMainConvert; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
import com.win.module.wms.dal.dataobject.inspectRequest.InspectRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.issueRequest.IssueRequestDetailDO; |
|
|
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; |
|
|
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; |
|
|
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; |
|
|
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO; |
|
|
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestDetailDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; |
|
|
|
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; |
|
|
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; |
|
|
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO; |
|
|
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper; |
|
|
import com.win.module.wms.dal.mysql.issueRequest.IssueRequestDetailMapper; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
import com.win.module.wms.enums.DictTypeConstants; |
|
|
|
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
import com.win.module.wms.service.itembasic.ItembasicService; |
|
|
import com.win.module.wms.service.productionline.ProductionlineService; |
|
|
import com.win.module.wms.service.productionline.ProductionlineService; |
|
|
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; |
|
|
import com.win.module.wms.service.productionlineitem.ProductionlineitemService; |
|
@ -96,23 +84,31 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
private RuleService ruleService; |
|
|
private RuleService ruleService; |
|
|
@Resource |
|
|
@Resource |
|
|
private RequestsettingService requestsettingService; |
|
|
private RequestsettingService requestsettingService; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private TrendsApi trendsApi; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) { |
|
|
public Long createIssueRequestMain(IssueRequestMainCreateReqVO createReqVO) { |
|
|
// 插入
|
|
|
RequestsettingDO requestsettingDO = new RequestsettingDO(); |
|
|
IssueRequestMainDO issueRequestMain = IssueRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
IssueRequestMainDO issueRequestMainDO = validatorToCreate(createReqVO,requestsettingDO); |
|
|
issueRequestMainMapper.insert(issueRequestMain); |
|
|
//调用自动执行方法
|
|
|
// 返回
|
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(issueRequestMainDO.getStatus())) { |
|
|
return issueRequestMain.getId(); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "IssueRequest", "增加了发料申请", TrendsTypeEnum.CREATE); |
|
|
|
|
|
return issueRequestMainDO.getId(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void updateIssueRequestMain(IssueRequestMainUpdateReqVO updateReqVO) { |
|
|
public void updateIssueRequestMain(IssueRequestMainUpdateReqVO updateReqVO) { |
|
|
|
|
|
RequestsettingDO requestsettingDO = new RequestsettingDO(); |
|
|
// 校验存在
|
|
|
// 校验存在
|
|
|
validateIssueRequestMainExists(updateReqVO.getId()); |
|
|
validateIssueRequestMainExists(updateReqVO.getId()); |
|
|
// 更新
|
|
|
IssueRequestMainDO issueRequestMainDO = validatorToUpdate(updateReqVO, requestsettingDO); |
|
|
IssueRequestMainDO updateObj = IssueRequestMainConvert.INSTANCE.convert(updateReqVO); |
|
|
if(RequestStatusEnum.HANDLING.getCode().equals(issueRequestMainDO.getStatus())) { |
|
|
issueRequestMainMapper.updateById(updateObj); |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "IssueRequest", "增加了发料申请", TrendsTypeEnum.CREATE); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
@ -247,79 +243,62 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//新增校验
|
|
|
//新增校验
|
|
|
private void validatorToCreate(IssueRequestMainCreateReqVO createReqVO) { |
|
|
private IssueRequestMainDO validatorToCreate(IssueRequestMainCreateReqVO createReqVO,RequestsettingDO requestsettingDO) { |
|
|
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(createReqVO); |
|
|
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); |
|
|
//主表校验
|
|
|
IssueRequestMainDO issueRequestMainDO = validateMainMethod(createReqVO,businesstypeDO,requestsettingDO); |
|
|
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode()); |
|
|
|
|
|
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
|
|
|
issueRequestMainDO.setRequestTime(LocalDateTime.now()); |
|
|
|
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest"); |
|
|
|
|
|
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
|
|
|
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
|
|
|
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
|
|
|
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); |
|
|
|
|
|
issueRequestMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
|
|
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
|
|
|
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
|
|
|
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
|
|
|
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
|
|
|
issueRequestMainDO.setNumber(number); |
|
|
|
|
|
issueRequestMainMapper.insert(issueRequestMainDO); |
|
|
|
|
|
//子表校验
|
|
|
//子表校验
|
|
|
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
List<IssueRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { |
|
|
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { |
|
|
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode()); |
|
|
validateDetailMethod(issueRequestDetailDO,businesstypeDO,issueRequestMainDO); |
|
|
this.validatorIfInType(itembasicDO.getType(), businesstypeDO); |
|
|
|
|
|
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom()); |
|
|
|
|
|
ProductionlineDO productionlineDO = validatorProductionLineCode(issueRequestDetailDO.getProductionLineCode()); |
|
|
|
|
|
issueRequestDetailDO.setToLocationCode(productionlineDO.getRawLocationCode()); |
|
|
|
|
|
WorkstationDO workstationDO = validatorWorkstation(issueRequestDetailDO.getWorkStationCode(), issueRequestMainDO.getWorkshopCode(), issueRequestDetailDO.getProductionLineCode()); |
|
|
|
|
|
issueRequestDetailDO.setToLocationCode(workstationDO.getRawLocationCode()); |
|
|
|
|
|
this.validatorProductionLineCodeAndpItemCodeExist(issueRequestDetailDO.getProductionLineCode(), issueRequestDetailDO.getItemCode()); |
|
|
|
|
|
RuleRespVO grounding = ruleService.grounding(null, null, null, null, null, null, issueRequestDetailDO.getItemCode(), null, null, null, null, null, null); |
|
|
|
|
|
if (grounding == null) { |
|
|
|
|
|
throw exception(555, "未查找到该条上架策略"); |
|
|
|
|
|
} else { |
|
|
|
|
|
JSONObject json = JSONUtil.parseObj(grounding); |
|
|
|
|
|
String locationCode = json.get("LocationCode").toString(); |
|
|
|
|
|
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
|
|
|
issueRequestMainDO.setNumber(number); |
|
|
|
|
|
issueRequestMainMapper.insert(issueRequestMainDO); |
|
|
|
|
|
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { |
|
|
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId()); |
|
|
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId()); |
|
|
issueRequestDetailDO.setNumber(number); |
|
|
issueRequestDetailDO.setNumber(issueRequestMainDO.getNumber()); |
|
|
issueRequestDetailMapper.insertBatch(subDOList); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
issueRequestDetailMapper.insertBatch(subDOList); |
|
|
|
|
|
return issueRequestMainDO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//修改校验
|
|
|
//修改校验
|
|
|
private void validatorToUpdate(IssueRequestMainUpdateReqVO updateReqVO) { |
|
|
private IssueRequestMainDO validatorToUpdate(IssueRequestMainUpdateReqVO updateReqVO,RequestsettingDO requestsettingDO) { |
|
|
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(updateReqVO); |
|
|
BusinesstypeDO businesstypeDO = new BusinesstypeDO(); |
|
|
//主表校验
|
|
|
IssueRequestMainDO issueRequestMainDO = validateMainMethod(updateReqVO,businesstypeDO,requestsettingDO); |
|
|
validateIssueRequestMainExists(updateReqVO.getId()); |
|
|
//子表校验
|
|
|
|
|
|
List<IssueRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); |
|
|
|
|
|
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList05(subList); |
|
|
|
|
|
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { |
|
|
|
|
|
validateDetailMethod(issueRequestDetailDO,businesstypeDO,issueRequestMainDO); |
|
|
|
|
|
} |
|
|
|
|
|
issueRequestMainMapper.updateById(issueRequestMainDO); |
|
|
|
|
|
issueRequestDetailMapper.updateBatch(subDOList); |
|
|
|
|
|
return issueRequestMainDO; |
|
|
|
|
|
} |
|
|
|
|
|
//校验主表公共方法(适用于新增/修改)
|
|
|
|
|
|
private IssueRequestMainDO validateMainMethod(IssueRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO,RequestsettingDO requestsettingDO){ |
|
|
|
|
|
IssueRequestMainDO issueRequestMainDO = IssueRequestMainConvert.INSTANCE.convert(baseVO); |
|
|
|
|
|
validateIssueRequestMainExists(baseVO.getId()); |
|
|
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode()); |
|
|
this.validatorWorkshop(issueRequestMainDO.getWorkshopCode()); |
|
|
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
issueRequestMainDO.setStatus(DictFrameworkUtils.parseDictDataValue(DictTypeConstants.REQUEST_STATUS, "新增")); |
|
|
issueRequestMainDO.setRequestTime(LocalDateTime.now()); |
|
|
issueRequestMainDO.setRequestTime(LocalDateTime.now()); |
|
|
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest"); |
|
|
requestsettingDO = requestsettingService.selectRequestsettingExist("IssueRequest"); |
|
|
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
issueRequestMainDO.setAutoAgree(requestsettingDO.getAutoAgree()); |
|
|
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
issueRequestMainDO.setAutoCommit(requestsettingDO.getAutoCommit()); |
|
|
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
issueRequestMainDO.setAutoExecute(requestsettingDO.getAutoExecute()); |
|
|
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
issueRequestMainDO.setDirectCreateRecord(requestsettingDO.getDirectCreateRecord()); |
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); |
|
|
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("IssueRequest"); |
|
|
issueRequestMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
issueRequestMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
issueRequestMainDO.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); |
|
|
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
issueRequestMainDO.setToLocationTypes(businesstypeDO.getInLocationTypes()); |
|
|
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
issueRequestMainDO.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); |
|
|
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
issueRequestMainDO.setToAreaCodes(businesstypeDO.getInAreaCodes()); |
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_CLAIM_RECORD.getCode()); |
|
|
return issueRequestMainDO; |
|
|
issueRequestMainDO.setNumber(number); |
|
|
} |
|
|
issueRequestMainMapper.insert(issueRequestMainDO); |
|
|
//校验子表公共方法(适用于新增/修改)
|
|
|
//子表校验
|
|
|
private void validateDetailMethod(IssueRequestDetailDO issueRequestDetailDO,BusinesstypeDO businesstypeDO,IssueRequestMainDO issueRequestMainDO) { |
|
|
List<IssueRequestDetailCreateReqVO> subList = updateReqVO.getSubList(); |
|
|
|
|
|
List<IssueRequestDetailDO> subDOList = IssueRequestDetailConvert.INSTANCE.convertList03(subList); |
|
|
|
|
|
for (IssueRequestDetailDO issueRequestDetailDO : subDOList) { |
|
|
|
|
|
validateIssueRequestDetailExists(issueRequestDetailDO.getId()); |
|
|
|
|
|
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode()); |
|
|
ItembasicDO itembasicDO = validatorItembasic(issueRequestDetailDO.getItemCode()); |
|
|
this.validatorIfInType(itembasicDO.getType(), businesstypeDO); |
|
|
this.validatorIfInType(itembasicDO.getType(), businesstypeDO); |
|
|
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom()); |
|
|
this.ifUomSuccess(itembasicDO.getUom(), issueRequestDetailDO.getUom()); |
|
@ -336,12 +315,7 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
String locationCode = json.get("LocationCode").toString(); |
|
|
String locationCode = json.get("LocationCode").toString(); |
|
|
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode); |
|
|
this.ifLocationCodeInRule(issueRequestDetailDO.getItemCode(), issueRequestDetailDO.getToLocationCode(), locationCode); |
|
|
} |
|
|
} |
|
|
issueRequestDetailDO.setMasterId(issueRequestMainDO.getId()); |
|
|
|
|
|
issueRequestDetailDO.setNumber(number); |
|
|
|
|
|
issueRequestDetailMapper.insertBatch(subDOList); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 校验导入,并赋值一些参数 |
|
|
* 校验导入,并赋值一些参数 |
|
|
* |
|
|
* |
|
@ -408,13 +382,13 @@ public class IssueRequestMainServiceImpl implements IssueRequestMainService { |
|
|
message.append(ex.getMessage()).append(","); |
|
|
message.append(ex.getMessage()).append(","); |
|
|
} |
|
|
} |
|
|
try { |
|
|
try { |
|
|
ProductionlineDO productionlineDO = validatorProductionLineCode(detailDo.getProductionLineCode()); |
|
|
ProductionlineDO productionlineDO = this.validatorProductionLineCode(detailDo.getProductionLineCode()); |
|
|
detailDo.setToLocationCode(productionlineDO.getRawLocationCode()); |
|
|
detailDo.setToLocationCode(productionlineDO.getRawLocationCode()); |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
|
message.append(ex.getMessage()).append(","); |
|
|
message.append(ex.getMessage()).append(","); |
|
|
} |
|
|
} |
|
|
try { |
|
|
try { |
|
|
WorkstationDO workstationDO = validatorWorkstation(detailDo.getWorkStationCode(), mainDo.getWorkshopCode(), detailDo.getProductionLineCode()); |
|
|
WorkstationDO workstationDO = this.validatorWorkstation(detailDo.getWorkStationCode(), mainDo.getWorkshopCode(), detailDo.getProductionLineCode()); |
|
|
detailDo.setToLocationCode(workstationDO.getRawLocationCode()); |
|
|
detailDo.setToLocationCode(workstationDO.getRawLocationCode()); |
|
|
} catch (Exception ex) { |
|
|
} catch (Exception ex) { |
|
|
message.append(ex.getMessage()).append(","); |
|
|
message.append(ex.getMessage()).append(","); |
|
|