package com.huaheng.api.general.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.huaheng.api.general.domain.ReceiptDomain; import com.huaheng.api.general.domain.ShipmentDomain; import com.huaheng.api.general.domain.WmsReceipt; import com.huaheng.api.general.service.ReceiptApiService; import com.huaheng.api.general.service.ReceiptService; import com.huaheng.api.general.service.ShipmentApiService; import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.framework.aspectj.lang.annotation.ApiLogger; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.config.location.domain.Location; import com.huaheng.pc.config.location.domain.LocationStatus; import com.huaheng.pc.config.location.service.LocationService; import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail; import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService; import com.huaheng.pc.receipt.detail.domain.Detail; import com.huaheng.pc.receipt.detail.service.DetailServcie; import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; import com.huaheng.pc.receipt.receiptContainerHeader.controller.ReceiptContainerHeaderController; import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService; import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail; import com.huaheng.pc.shipment.shipmentContainerDetail.service.ShipmentContainerDetailService; import com.huaheng.pc.shipment.shipmentContainerHeader.controller.ShipmentContainerHeaderController; import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader; import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; import com.huaheng.pc.task.taskDetail.domain.TaskDetail; import com.huaheng.pc.task.taskDetail.service.TaskDetailService; import com.huaheng.pc.task.taskHeader.controller.TaskHeaderController; import com.huaheng.pc.task.taskHeader.domain.TaskHeader; import com.huaheng.pc.task.taskHeader.service.ReceiptTaskService; import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Transformer; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @RestController @RequestMapping("/api/receiptApi") @Api(tags = {"入库单接口"}, value = "入库单接口receipt") public class ReceiptApiController { @Resource private ReceiptApiService receiptApiService; @Resource private ReceiptContainerDetailService receiptContainerDetailService; @Resource private ReceiptService receiptService; @Resource private ReceiptDetailService receiptDetailService; @Resource private ShipmentApiService shipmentApiService; @Resource private DetailServcie detailServcie; @Resource private LocationService locationService; @Resource private InventoryDetailService inventoryDetailService; @Resource private TaskHeaderService taskHeaderService; @Resource private ReceiptContainerHeaderService receiptContainerHeaderService; @Resource private ReceiptTaskService receiptTaskService; @Resource private ReceiptHeaderService receiptHeaderService; @Resource private TaskDetailService taskDetailService; @Resource private TaskHeaderController taskHeaderController; @Resource private ShipmentHeaderService shipmentHeaderService; @Resource private ReceiptContainerHeaderController receiptContainerHeaderController; @Resource private ShipmentContainerHeaderService shipmentContainerHeaderService; @Resource private ShipmentContainerDetailService shipmentContainerDetailService; @Resource private ShipmentContainerHeaderController shipmentContainerHeaderController; @Resource private ShipmentDetailService shipmentDetailService; /** * 查询库位列表 */ @Log(title = "配置-库存资料-库位管理", operating = "查看库位列表", action = BusinessType.GRANT) @PostMapping("/getAllLocation") @ResponseBody public AjaxResult getAllLocation() { String type = "L"; if (StringUtils.isEmpty(type)) { return AjaxResult.error("type不能为空"); } String warehouseCode = "CS0001"; String row = null, line = null, layer = null; /* 查询库位信息*/ LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); locationLambdaQueryWrapper.eq(StringUtils.isNotEmpty(row), Location::getIRow, row) .eq(StringUtils.isNotEmpty(line), Location::getIColumn, line) .eq(StringUtils.isNotEmpty(layer), Location::getILayer, layer) .eq(Location::getIGrid, 1) // .eq(StringUtils.isNotEmpty(type), Location::getLocationType, type) .eq(Location::getWarehouseCode, warehouseCode) .eq(StringUtils.isNotEmpty(type), Location::getZoneCode, type); List<Location> locations = locationService.list(locationLambdaQueryWrapper); List<Location> locationList = new ArrayList<>(); /* 查询库存明细*/ LambdaQueryWrapper<InventoryDetail> inventoryDetailLambda = Wrappers.lambdaQuery(); inventoryDetailLambda.eq(InventoryDetail::getWarehouseCode, warehouseCode); List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambda); for (Location location1 : locations) { InventoryDetail inventoryDetail = null; String materialName = null; for (InventoryDetail inventoryDetail2 : inventoryDetailList) { if (location1.getCode().equals(inventoryDetail2.getLocationCode())) { inventoryDetail = inventoryDetail2; } } List<InventoryDetail> inventoryDetails = inventoryDetailList.stream().filter(inventoryDetail1 -> inventoryDetail1.getLocationCode().equals(location1.getCode())).collect(Collectors.toList()); int userDef3 = 0; String status = location1.getStatus(); String containerCode = location1.getContainerCode(); List<String> materialNameList = inventoryDetails.stream().map(InventoryDetail::getMaterialName).collect(Collectors.toList()); List<String> batchList = inventoryDetails.stream().map(InventoryDetail::getBatch).collect(Collectors.toList()); List<String> materialCodeList = inventoryDetails.stream().map(InventoryDetail::getMaterialCode).collect(Collectors.toList()); List<BigDecimal> qtyList = inventoryDetails.stream().map(InventoryDetail::getQty).collect(Collectors.toList()); if (QuantityConstant.STATUS_LOCATION_EMPTY.equals(status)) { if (StringUtils.isEmpty(containerCode)) { userDef3 = LocationStatus.IDLE_EMPTY_LOCATION; } else { if (inventoryDetail == null) { userDef3 = LocationStatus.IDLE_EMPTY_CONTAINER; } else { location1.setMaterialName(materialNameList); location1.setMaterialCode(materialCodeList); location1.setBatch(batchList); location1.setQty(qtyList); userDef3 = LocationStatus.IDLE_FULL_CONTAINER; } } } else if (QuantityConstant.STATUS_LOCATION_LOCK.equals(status)) { if (StringUtils.isEmpty(containerCode)) { userDef3 = LocationStatus.LOCK_EMPTY_LOCATION; } else { if (inventoryDetail == null) { userDef3 = LocationStatus.LOCK_EMPTY_CONTAINER; } else { location1.setMaterialName(materialNameList); location1.setMaterialCode(materialCodeList); location1.setBatch(batchList); location1.setQty(qtyList); userDef3 = LocationStatus.LOCK_FULL_CONTAINER; } } } if (location1.getDeleted()) { if (StringUtils.isEmpty(containerCode)) { userDef3 = LocationStatus.DISABLE_EMPTY_LOCATION; } else { if (inventoryDetail == null) { userDef3 = LocationStatus.DISABLE_EMPTY_CONTAINER; } else { location1.setMaterialName(materialNameList); location1.setMaterialCode(materialCodeList); location1.setBatch(batchList); location1.setQty(qtyList); userDef3 = LocationStatus.DISABLE_FULL_CONTAINER; } } } location1.setUserDef3(String.valueOf(userDef3)); locationList.add(location1); } return AjaxResult.success(locations); } /** * 同步入库单 */ /*@Log(title = "入库单添加", action = BusinessType.INSERT) @PostMapping("/receipt") @ApiOperation("入库单添加公共接口") @ResponseBody @ApiLogger(apiName = "添加入库单", from="ERP") @Transactional(rollbackFor = Exception.class) public AjaxResult receipt(@RequestBody List<WmsReceipt> wmsReceipts) { String warehouseCode = "CS0001"; AjaxResult ajaxResult = new AjaxResult(); for(WmsReceipt wmsReceipt : wmsReceipts) { int operation = wmsReceipt.getOperationType(); List<Detail> detailList = wmsReceipt.getDetailList(); if (operation == 0) { ReceiptDomain receiptDomain = new ReceiptDomain(); ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setReferCode(wmsReceipt.getBillNo()); receiptHeader.setWarehouseCode(warehouseCode); receiptHeader.setCompanyCode("BHF"); receiptHeader.setUserDef1(wmsReceipt.getTaksNo()); receiptHeader.setCreatedBy("WMS"); receiptHeader.setReceiptType("DE"); receiptDomain.setReceiptHeader(receiptHeader); List<ReceiptDetail> receiptDetails = new ArrayList<>(); BigDecimal qty = wmsReceipt.getQty(); ReceiptDetail receiptDetail = new ReceiptDetail(); receiptDetail.setWarehouseCode(warehouseCode); receiptDetail.setTotalQty(qty); receiptDetail.setMaterialCode(wmsReceipt.getItemCode()); receiptDetail.setCompanyCode("BHF"); receiptDetails.add(receiptDetail); receiptDomain.setReceiptDetails(receiptDetails); ajaxResult = receiptApiService.receipt(receiptDomain); if(!ajaxResult.hasErr()) { detailServcie.saveBatch(detailList); } } else { ShipmentDomain shipmentDomain = new ShipmentDomain(); ShipmentHeader shipmentHeader = new ShipmentHeader(); shipmentHeader.setReferCode(wmsReceipt.getBillNo()); shipmentHeader.setWarehouseCode(warehouseCode); shipmentHeader.setCompanyCode("BHF"); shipmentHeader.setUserDef1(wmsReceipt.getTaksNo()); shipmentHeader.setCreatedBy("WMS"); shipmentHeader.setShipmentType("ELO"); shipmentDomain.setShipmentHeader(shipmentHeader); List<ShipmentDetail> shipmentDetails = new ArrayList<>(); String materialCode = wmsReceipt.getItemCode(); BigDecimal qty = wmsReceipt.getQty(); ShipmentDetail shipmentDetail = new ShipmentDetail(); shipmentDetail.setWarehouseCode(warehouseCode); shipmentDetail.setShipQty(qty); shipmentDetail.setMaterialCode(materialCode); shipmentDetail.setCompanyCode("BHF"); *//*创建出库单默认波次为空字符串*//* shipmentDetail.setBatch(""); shipmentDetails.add(shipmentDetail); shipmentDomain.setShipmentDetails(shipmentDetails); ajaxResult = shipmentApiService.shipment(shipmentDomain); if(!ajaxResult.hasErr()) { detailServcie.saveBatch(detailList); } } } return ajaxResult; }*/ /** * 同步入库单 */ @Log(title = "入库单添加", action = BusinessType.INSERT) @PostMapping("/receipt") @ApiOperation("入库单添加公共接口") @ResponseBody @ApiLogger(apiName = "添加入库单", from = "ERP") @Transactional(rollbackFor = Exception.class) public AjaxResult receipt(@RequestBody List<WmsReceipt> wmsReceipts) { String warehouseCode = "CS0001"; AjaxResult ajaxResult = new AjaxResult(); for (WmsReceipt wmsReceipt : wmsReceipts) { int operation = wmsReceipt.getOperationType(); List<Detail> detailList = wmsReceipt.getDetailList(); for (Detail detail : detailList) { detail.setMaterialCode(wmsReceipt.getItemCode()); } if(operation==0){ ReceiptDomain receiptDomain = new ReceiptDomain(); ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setReferCode(wmsReceipt.getBillNo()); /* 关联单号*/ receiptHeader.setWarehouseCode(warehouseCode); receiptHeader.setCompanyCode("BHF"); receiptHeader.setUserDef1(wmsReceipt.getTaksNo()); /* 上游任务号*/ receiptHeader.setCreatedBy("WMS"); receiptHeader.setReceiptType("DE"); receiptDomain.setReceiptHeader(receiptHeader); List<ReceiptDetail> receiptDetails = new ArrayList<>(); for (int i = 0; i < detailList.size(); i++) { Detail detail = detailList.get(i); ReceiptDetail receiptDetail = new ReceiptDetail(); receiptDetail.setWarehouseCode(warehouseCode); receiptDetail.setTotalQty(BigDecimal.valueOf(1)); receiptDetail.setMaterialCode(wmsReceipt.getItemCode()); receiptDetail.setUserDef1(detail.getPackLabelNo()); receiptDetail.setCompanyCode("BHF"); receiptDetail.setColor(detail.getColor()); receiptDetails.add(receiptDetail); } receiptDomain.setReceiptDetails(receiptDetails); ajaxResult = receiptApiService.receipt(receiptDomain); /* 收货*/ for (int i = 0; i < receiptDetails.size(); i++) { receiptContainerHeaderService.saveContainer(receiptHeader.getCode(), "", receiptDetails.get(i).getId(), "", receiptDetails.get(i).getTotalQty(), ""); } for (int i = 0; i < receiptDetails.size(); i++) { LambdaQueryWrapper<ReceiptContainerDetail> receiptContainerDetailLam = Wrappers.lambdaQuery(); receiptContainerDetailLam.eq(ReceiptContainerDetail::getReceiptDetailId, receiptDetails.get(i).getId()); ReceiptContainerDetail receiptContainerDetailOne = receiptContainerDetailService.getOne(receiptContainerDetailLam); LambdaQueryWrapper<ReceiptContainerHeader> receiptContainerHeaderLam = Wrappers.lambdaQuery(); receiptContainerHeaderLam.eq(ReceiptContainerHeader::getContainerCode, receiptContainerDetailOne.getContainerCode()) .eq(ReceiptContainerHeader::getStatus, 0); ReceiptContainerHeader receiptContainerHeaderOne = receiptContainerHeaderService.getOne(receiptContainerHeaderLam); if (receiptContainerHeaderOne == null) { continue; } List<ReceiptContainerHeader> list = receiptContainerHeaderService.list(receiptContainerHeaderLam); for (int j = 0; j < list.size(); j++) { /* 任务*/ List<Integer> idList = Arrays.asList(Convert.toIntArray("" + list.get(j).getId())); List<Integer> idsList = idList.stream().distinct().collect(Collectors.toList()); AjaxResult receiptTask = receiptTaskService.createReceiptTask(idsList); List<String> ids = (List<String>) receiptTask.getData(); List<Integer> integerList = new ArrayList<>(); CollectionUtils.collect(ids, new Transformer() { @Override public Object transform(Object o) { return Integer.parseInt(o.toString()); } }, integerList); TaskHeader taskHeader = taskHeaderService.getById(integerList.toArray(new Integer[0])[0]); taskHeaderService.updateById(taskHeader); //taskHeaderService.sendTaskToWcs(integerList.toArray(new Integer[0])); } } if (!ajaxResult.hasErr()) { boolean result = detailServcie.saveBatch(detailList); if (!result) { throw new ServiceException("批量保存详情失败"); } } } else { if(wmsReceipt.getIsNew().equals("0")){ ShipmentDomain shipmentDomain = new ShipmentDomain(); ShipmentHeader shipmentHeader = new ShipmentHeader(); shipmentHeader.setReferCode(wmsReceipt.getBillNo()); shipmentHeader.setWarehouseCode(warehouseCode); shipmentHeader.setCompanyCode("BHF"); shipmentHeader.setUserDef1(wmsReceipt.getTaksNo()); shipmentHeader.setCreatedBy("WMS"); shipmentHeader.setShipmentType("ELO"); shipmentDomain.setShipmentHeader(shipmentHeader); List<ShipmentDetail> shipmentDetails = new ArrayList<>(); String materialCode = wmsReceipt.getItemCode(); BigDecimal qty = wmsReceipt.getQty(); ShipmentDetail shipmentDetail = new ShipmentDetail(); shipmentDetail.setWarehouseCode(warehouseCode); shipmentDetail.setShipQty(qty); shipmentDetail.setMaterialCode(materialCode); shipmentDetail.setCompanyCode("BHF"); shipmentDetail.setColor(wmsReceipt.getColor()); if (StringUtils.isNotNull(wmsReceipt.getOrders())) { shipmentDetail.setOrders(wmsReceipt.getOrders()); } else { shipmentDetail.setOrders(0); } // 创建出库单默认波次为空字符串 shipmentDetail.setBatch(""); shipmentDetails.add(shipmentDetail); shipmentDomain.setShipmentDetails(shipmentDetails); ajaxResult = shipmentApiService.shipment(shipmentDomain); if (!ajaxResult.hasErr()) { detailServcie.saveBatch(detailList); } } else if (wmsReceipt.getIsNew().equals("1")) { ajaxResult = removeTaskAndContainerAndShipment(wmsReceipt.getBillNo()); } } } return ajaxResult; } @Transactional(rollbackFor = Exception.class) protected AjaxResult removeTaskAndContainerAndReceipt(String billNo){ String code = null; AjaxResult ajaxResult1=new AjaxResult(); AjaxResult ajaxResult2=new AjaxResult(); ReceiptHeader receiptHeader = receiptHeaderService.getOne(new LambdaQueryWrapper<ReceiptHeader>().eq(ReceiptHeader::getReferCode, billNo)); code = receiptHeader.getCode(); List<TaskDetail> taskDetailList = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, code)); if(CollectionUtils.isNotEmpty(taskDetailList)){ List<Integer> taskHeaderIds = taskDetailList.stream().map(taskDetail -> taskDetail.getTaskId()).collect(Collectors.toList()); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < taskHeaderIds.size(); i++) { if (i == taskHeaderIds.size() - 1) { stringBuilder.append(taskHeaderIds.get(i)); }else { stringBuilder.append(taskHeaderIds.get(i) + ","); } } try { ajaxResult1 = taskHeaderController.remove(stringBuilder.toString()); }catch (Exception e){ throw new ServiceException("任务已经下发,不允许取消"); } } if (ajaxResult1.getCode() == 200||CollectionUtils.isEmpty(taskDetailList)) { List<ReceiptContainerDetail> receiptContainerDetails = receiptContainerDetailService.list(new LambdaQueryWrapper<ReceiptContainerDetail>().eq(ReceiptContainerDetail::getReceiptCode, code)); if(CollectionUtils.isNotEmpty(receiptContainerDetails)){ List<Integer> receiptContainerHeaderIds = receiptContainerDetails.stream().map(receiptContainerDetail -> receiptContainerDetail.getReceiptContainerId()).collect(Collectors.toList()); StringBuilder stringBuilder2 = new StringBuilder(); for (int i = 0; i < receiptContainerHeaderIds.size(); i++) { if (i == receiptContainerHeaderIds.size() - 1) { stringBuilder2.append(receiptContainerHeaderIds.get(i)); }else { stringBuilder2.append(receiptContainerHeaderIds.get(i) + ","); } } ajaxResult2 = receiptContainerHeaderController.remove(stringBuilder2.toString()); } if(ajaxResult2.getCode()==200||CollectionUtils.isEmpty(receiptContainerDetails)){ receiptHeaderService.remove(new LambdaQueryWrapper<ReceiptHeader>().eq(ReceiptHeader::getCode,code)); receiptDetailService.remove(new LambdaQueryWrapper<ReceiptDetail>().eq(ReceiptDetail::getReceiptCode,code)); } } return AjaxResult.success("取消入库单/入库组盘/任务成功"); } @Transactional(rollbackFor = Exception.class) protected AjaxResult removeTaskAndContainerAndShipment(String billNo){ String code = null; AjaxResult ajaxResult1=new AjaxResult(); AjaxResult ajaxResult2=new AjaxResult(); List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, billNo)); for (ShipmentHeader shipmentHeader : shipmentHeaderList) { code = shipmentHeader.getCode(); List<TaskDetail> taskDetailList = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>().eq(TaskDetail::getBillCode, code)); if(CollectionUtils.isNotEmpty(taskDetailList)){ List<Integer> taskHeaderIds = taskDetailList.stream().map(taskDetail -> taskDetail.getTaskId()).collect(Collectors.toList()); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < taskHeaderIds.size(); i++) { if (i == taskHeaderIds.size() - 1) { stringBuilder.append(taskHeaderIds.get(i)); }else { stringBuilder.append(taskHeaderIds.get(i) + ","); } } try { ajaxResult1 = taskHeaderController.remove(stringBuilder.toString()); }catch (Exception e){ throw new ServiceException("任务已经下发,不允许取消"); } } if (ajaxResult1.getCode() == 200||CollectionUtils.isEmpty(taskDetailList)) { List<ShipmentContainerDetail> shipmentContainerDetails = shipmentContainerDetailService.list(new LambdaQueryWrapper<ShipmentContainerDetail>().eq(ShipmentContainerDetail::getShipmentCode, code)); if(CollectionUtils.isNotEmpty(shipmentContainerDetails)){ List<Integer> integerList = shipmentContainerDetails.stream().map(shipmentContainerDetail -> shipmentContainerDetail.getShippingContainerId()).collect(Collectors.toList()); StringBuilder stringBuilder2 = new StringBuilder(); for (int i = 0; i < integerList.size(); i++) { if (i == integerList.size() - 1) { stringBuilder2.append(integerList.get(i)); }else { stringBuilder2.append(integerList.get(i) + ","); } } ajaxResult2 = shipmentContainerHeaderController.remove(stringBuilder2.toString()); } if(ajaxResult2.getCode()==200||CollectionUtils.isEmpty(shipmentContainerDetails)){ shipmentHeaderService.remove(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode,code)); shipmentDetailService.remove(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentCode,code)); } } } return AjaxResult.success("取消出库单/出库组盘/任务成功"); } // /** // * 同步入库单 // */ // @Log(title = "入库单添加", action = BusinessType.INSERT) // @PostMapping("/receipt") // @ApiOperation("入库单添加公共接口") // @ResponseBody // @ApiLogger(apiName = "添加入库单", from="ERP") // public AjaxResult receipt(@RequestBody WmsReceipt wmsReceipt) // { // // } // /** // * 入库单下发 // */ // @Log(title = "入库单下发", action = BusinessType.INSERT) // @PostMapping("/insertReceipt") // @ApiOperation("入库单下发接口") // @ResponseBody // @ApiLogger(apiName = "下发入库单", from="ERP") // public AjaxResult MaterialApi(@RequestBody Receipt receipt) { // System.out.println("————————开始接收入库单——————————"); // System.out.println(receipt); // AjaxResult ajaxResult = receiptService.insertReceipt(receipt); // return ajaxResult; // } /** * 取消入库单 */ @Log(title = "入库-入库单 ", operating = "入库单删除", action = BusinessType.UPDATE) @PostMapping("/remove") @ResponseBody @ApiLogger(apiName = "取消入库单", from = "ERP") public AjaxResult remove(@RequestBody List<String> receiptCodeList) { if (receiptCodeList == null && receiptCodeList.size() < 1) { return AjaxResult.error("单号列表为空"); } return receiptApiService.remove(receiptCodeList); } /** * 入库单查询 */ @Log(title = "入库-入库单 ", operating = "入库单删除", action = BusinessType.UPDATE) @GetMapping("/search") @ResponseBody @ApiLogger(apiName = "查询入库单", from = "ERP") public AjaxResult search(@RequestParam String receiptCode, @RequestParam String companyCode, @RequestParam String warehouseCode) { return receiptApiService.search(receiptCode, companyCode, warehouseCode); } }