/** * @Project: emis * @Title: EmisWarehouseInController.java * @author linfso * @date 2024-05-22 00:20:31 * @Copyright: ShangHai Duta 2022 All rights reserved. * @version v1.0 * @Description:

进仓单 控制器

*/ package com.xdadan.erp.apiweb; import com.xdadan.erp.common.annotation.Log; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; import com.xdadan.erp.common.core.controller.BaseController; import com.xdadan.erp.common.core.domain.AjaxResult; import com.xdadan.erp.common.core.page.TableDataInfo; import com.xdadan.erp.common.enums.BusinessType; import com.xdadan.erp.common.utils.poi.ExcelUtil; import com.xdadan.erp.emis.domain.EmisWarehouseIn; import com.xdadan.erp.emis.domain.EmisWarehouseInBatch; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.vo.WaybillOrder; import com.xdadan.erp.emis.service.IEmisWarehouseInBatchService; import com.xdadan.erp.emis.service.IEmisWarehouseInService; import com.xdadan.erp.emis.service.IEmisWaybillService; import com.xdadan.erp.emis.utils.WaybillHelper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; /** * 进仓单Controller * * @author linfso * @date 2024-05-22 00:20:31 */ @RestController @RequestMapping("/apiweb/emisWarehouseIn") public class WarehouseInController extends BaseController { @Autowired private IEmisWarehouseInService emisWarehouseInService; @Autowired private IEmisWarehouseInBatchService emisWarehouseInBatchService; @Autowired private IEmisWaybillService emisWaybillService; /** * 查询进仓单列表 */ @GetMapping("/list") public TableDataInfo list(EmisWarehouseIn emisWarehouseIn) { startPage(); if(!StringUtils.isEmpty(emisWarehouseIn.getBillCode())){ emisWarehouseIn.setBillCode( WaybillHelper.formatQueryValue(emisWarehouseIn.getBillCode())); String[] billCodeSortList = emisWarehouseIn.getBillCode().split(","); if(billCodeSortList.length>1){ emisWarehouseIn.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); } } if(!StringUtils.isEmpty(emisWarehouseIn.getInNo())){ emisWarehouseIn.setInNo(WaybillHelper.formatQueryValue(emisWarehouseIn.getInNo())); String[] inNoSortList = emisWarehouseIn.getInNo().split(","); if(inNoSortList.length>1){ emisWarehouseIn.getParams().put("inNoSortList",Arrays.asList(inNoSortList)); } } List list = emisWarehouseInService.selectEmisWarehouseInList(emisWarehouseIn); return getDataTable(list); } @Log(title = "进仓单查询", businessType = BusinessType.OTHER) @JacksonFilter(include= { "inNo", "orderSn", "billCode", "createTime", "entryDate", "confirmStatus", "confirmDate", "usedStatus", "stockInFlag", "status", "intoWarehouseCode", "intoWarehouseName", "intoWarehouseAddress", "intoWarehouseContact", "intoWarehousePhone", "goodsInfo", "receiveCountryName", "receiveProvinceName", "sendCountryName", "sendProvinceName", "transLineTypeName", "productTypeName", "sendSiteName", "dispatchUnderlingSiteName", "waybillDetail" },value= EmisWarehouseIn.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @GetMapping("/listSimpleByOms") public TableDataInfo listSimpleByOms(EmisWarehouseIn emisWarehouseIn) { startPage(); if(!StringUtils.isEmpty(emisWarehouseIn.getBillCode())){ emisWarehouseIn.setBillCode( WaybillHelper.formatQueryValue(emisWarehouseIn.getBillCode())); String[] billCodeSortList = emisWarehouseIn.getBillCode().split(","); if(billCodeSortList.length>1){ emisWarehouseIn.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); } } if(!StringUtils.isEmpty(emisWarehouseIn.getInNo())){ emisWarehouseIn.setInNo(WaybillHelper.formatQueryValue(emisWarehouseIn.getInNo())); String[] inNoSortList = emisWarehouseIn.getInNo().split(","); if(inNoSortList.length>1){ emisWarehouseIn.getParams().put("inNoSortList",Arrays.asList(inNoSortList)); } } List list = emisWarehouseInService.selectEmisWarehouseInListByOms(emisWarehouseIn); return getDataTable(list); } /** * 获取进仓单详细信息 */ @GetMapping(value = "/getWarehouseInByInNo") public AjaxResult getWarehouseInByInNo(EmisWarehouseIn emisWarehouseIn) { try{ return AjaxResult.success(emisWarehouseInService.selectEmisWarehouseInByInNo(emisWarehouseIn.getInNo())); } catch(EmisBizError ex){ ex.printStackTrace(); return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage()); } catch (Exception ex){ ex.printStackTrace(); // 返回子定义异常 if(ex instanceof EmisBizError){ return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); } return AjaxResult.error("服务器异常,联系客服"); } } /** * 导出进仓单模板 * @param response * @return */ @Log(title = "导出进仓单", businessType = BusinessType.EXPORT) @PostMapping("/exportWarehouseInTpl") public AjaxResult exportWarehouseInTpl(HttpServletResponse response,String orderSn,String fileType) { try{ emisWaybillService.genWarehouseInTplFile(response,orderSn,fileType); return AjaxResult.success("下载成功"); } catch(EmisBizError ex){ ex.printStackTrace(); return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage()); } catch (Exception ex){ ex.printStackTrace(); // 返回子定义异常 if(ex instanceof EmisBizError){ return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode()); } return AjaxResult.error("服务器异常,联系客服"); } } @Log(title = "客户进仓单确认", businessType = BusinessType.UPDATE) @RequestMapping("/cusConfirmWsIn") public AjaxResult cusConfirmWsIn(@RequestBody EmisWarehouseInBatch emisWarehouseInBatch) { try { // 部分确认 if(!StringUtils.isEmpty(emisWarehouseInBatch.getSerialNo())) { emisWarehouseInBatchService.cusConfirmAllWsInByOms(emisWarehouseInBatch); emisWarehouseInBatch.setConfirmStatus("1"); return toAjax(emisWarehouseInBatchService.cusConfirmBatchWsInByOms(emisWarehouseInBatch)); } // 全部确认 else{ return toAjax(emisWarehouseInBatchService.cusConfirmAllWsInByOms(emisWarehouseInBatch)); } } catch (Exception ex) { ex.printStackTrace(); return AjaxResult.error(ex.getMessage()); } } @Log(title = "异常上报", businessType = BusinessType.UPDATE) @RequestMapping("/reportBatchWsInError") public AjaxResult reportBatchWsInError(@RequestBody EmisWarehouseInBatch emisWarehouseInBatch) { try { return toAjax(emisWarehouseInBatchService.updateAbnormalByOms(emisWarehouseInBatch)); } catch (Exception ex) { ex.printStackTrace(); return AjaxResult.error(ex.getMessage()); } } }