diff --git a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue index 0b4c644..da6c228 100644 --- a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue +++ b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue @@ -271,6 +271,18 @@ export default { this.$refs.modalCombineForm.title = "配盘"; this.$refs.modalCombineForm.disableSubmit = false; }, + batchPrint() { + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('请选择一条记录!'); + return; + } else { + var ids = '' + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ',' + } + window.open(window._CONFIG['domianURL'] + "/jmreport/view/963962951128367104/?id=" + ids, "newWindow", "toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100"); + } + }, edit(record) { this.$refs.modalEditForm.edit(record); this.$refs.modalEditForm.title = "编辑"; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java index f0dc135..47b9ca9 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java @@ -16,8 +16,12 @@ import org.jeecg.modules.wms.api.erp.service.IErpService; import org.jeecg.modules.wms.config.address.service.IAddressService; import org.jeecg.modules.wms.config.company.entity.Company; import org.jeecg.modules.wms.config.company.service.ICompanyService; +import org.jeecg.modules.wms.config.customer.entity.Customer; +import org.jeecg.modules.wms.config.customer.service.ICustomerService; import org.jeecg.modules.wms.config.material.entity.Material; import org.jeecg.modules.wms.config.material.service.IMaterialService; +import org.jeecg.modules.wms.config.supplier.entity.Supplier; +import org.jeecg.modules.wms.config.supplier.service.ISupplierService; import org.jeecg.modules.wms.config.warehouse.entity.Warehouse; import org.jeecg.modules.wms.config.warehouse.service.IWarehouseService; import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail; @@ -68,6 +72,10 @@ public class ErpServiceImpl implements IErpService { private IInventoryDetailService inventoryDetailService; @Resource private IAddressService addressService; + @Resource + private ISupplierService supplierService; + @Resource + private ICustomerService customerService; @Override @Transactional(rollbackFor = Exception.class) @@ -115,12 +123,20 @@ public class ErpServiceImpl implements IErpService { return Result.error("入库单下发, 没有找到货主"); } } + String supplierName = null; + if (StringUtils.isNotEmpty(supplierCode)) { + Supplier supplier = supplierService.getSupplierByCode(supplierCode); + if (supplier != null) { + supplierName = supplier.getName(); + } + } ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setWarehouseCode(warehouseCode); receiptHeader.setCompanyCode(companyCode); receiptHeader.setType(receiptType); receiptHeader.setReferCode(referCode); receiptHeader.setSupplierCode(supplierCode); + receiptHeader.setSupplierName(supplierName); receiptHeader.setRemark(remark); Result result = receiptHeaderService.saveReceiptHeader(receiptHeader); if (!result.isSuccess()) { @@ -253,9 +269,18 @@ public class ErpServiceImpl implements IErpService { return Result.error("出库单下发, 没有找到货主"); } } + String customerName = null; + if (StringUtils.isNotEmpty(customerCode)) { + Customer customer = customerService.getCustomerByCode(customerCode); + if (customer == null) { + return Result.error("出库单下发, 没有找到客户信息"); + } + customerName = customer.getName(); + } ShipmentHeader shipmentHeader = new ShipmentHeader(); shipmentHeader.setWarehouseCode(warehouseCode); shipmentHeader.setCompanyCode(companyCode); + shipmentHeader.setCustomerName(customerName); shipmentHeader.setZoneCode(zoneCode); shipmentHeader.setType(shipmentType); shipmentHeader.setReferCode(referCode); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java index 0a338aa..ad2e9ea 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java @@ -1,8 +1,9 @@ package org.jeecg.modules.wms.config.customer.service; -import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.wms.config.customer.entity.Customer; +import com.baomidou.mybatisplus.extension.service.IService; + /** * @Description: 客户管理 * @Author: jeecg-boot @@ -11,4 +12,5 @@ import org.jeecg.modules.wms.config.customer.entity.Customer; */ public interface ICustomerService extends IService<Customer> { + Customer getCustomerByCode(String code); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java index 49ae735..78ae6ab 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java @@ -5,6 +5,8 @@ import org.jeecg.modules.wms.config.customer.mapper.CustomerMapper; import org.jeecg.modules.wms.config.customer.service.ICustomerService; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** @@ -16,4 +18,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService { + @Override + public Customer getCustomerByCode(String code) { + LambdaQueryWrapper<Customer> customerLambdaQueryWrapper = Wrappers.lambdaQuery(); + customerLambdaQueryWrapper.eq(Customer::getCode, code); + return getOne(customerLambdaQueryWrapper); + } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java index a7e7fa4..afb5293 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java @@ -1,8 +1,9 @@ package org.jeecg.modules.wms.config.supplier.service; -import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.wms.config.supplier.entity.Supplier; +import com.baomidou.mybatisplus.extension.service.IService; + /** * @Description: 供应商管理 * @Author: jeecg-boot @@ -11,4 +12,5 @@ import org.jeecg.modules.wms.config.supplier.entity.Supplier; */ public interface ISupplierService extends IService<Supplier> { + Supplier getSupplierByCode(String code); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java index d6781b5..5b0fd46 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java @@ -5,6 +5,8 @@ import org.jeecg.modules.wms.config.supplier.mapper.SupplierMapper; import org.jeecg.modules.wms.config.supplier.service.ISupplierService; import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** @@ -16,4 +18,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements ISupplierService { + @Override + public Supplier getSupplierByCode(String code) { + LambdaQueryWrapper<Supplier> supplierLambdaQueryWrapper = Wrappers.lambdaQuery(); + supplierLambdaQueryWrapper.eq(Supplier::getCode, code); + return getOne(supplierLambdaQueryWrapper); + } } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java index 6dacb88..a55c4bd 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java @@ -1,22 +1,22 @@ package org.jeecg.modules.wms.receipt.receiptHeader.controller; import java.io.IOException; -import java.util.*; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import cn.hutool.core.util.StrUtil; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; -import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.wms.api.erp.service.IErpService; @@ -29,7 +29,6 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService; -import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; import org.jeecg.utils.HuahengJwtUtil; import org.jeecg.utils.StringUtils; import org.jeecg.utils.constant.QuantityConstant; @@ -131,16 +130,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec @RequiresPermissions("receiptHeader:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<String> edit(@RequestBody ReceiptHeader receiptHeader) { - String companyCode = receiptHeader.getCompanyCode(); - receiptHeaderService.updateById(receiptHeader); - if (StringUtils.isNotEmpty(companyCode)) { - List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId())); - for (ReceiptDetail receiptDetail : receiptDetailList) { - receiptDetail.setCompanyCode(companyCode); - receiptDetailService.updateById(receiptDetail); - } - } - return Result.OK("编辑成功!"); + Result result = receiptHeaderService.editReceiptHeader(receiptHeader); + return result; } /** diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java index 10a549d..8b23ab2 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java @@ -47,6 +47,10 @@ public class ReceiptDetail implements Serializable { @Excel(name = "货主编码", width = 15) @ApiModelProperty(value = "货主编码") private String companyCode; + /** 供应商名称 */ + @Excel(name = "供应商名称", width = 15) + @ApiModelProperty(value = "供应商名称") + private String supplierName; /** 物料编码 */ @Excel(name = "物料编码", width = 15) @ApiModelProperty(value = "物料编码") diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java index 9bc4e71..d77d122 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java @@ -1,22 +1,20 @@ package org.jeecg.modules.wms.receipt.receiptHeader.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; import java.util.Date; + +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import org.jeecgframework.poi.excel.annotation.Excel; -import lombok.Data; -import com.fasterxml.jackson.annotation.JsonFormat; import cn.monitor4all.logRecord.annotation.LogRecordDiffField; import cn.monitor4all.logRecord.annotation.LogRecordDiffObject; - -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecg.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** * @Description: 入库表主表 @@ -70,6 +68,10 @@ public class ReceiptHeader implements Serializable { @Excel(name = "供应商编码", width = 15) @ApiModelProperty(value = "供应商编码") private String supplierCode; + /** 供应商名称 */ + @Excel(name = "供应商名称", width = 15) + @ApiModelProperty(value = "供应商名称") + private String supplierName; /** 总数量 */ @Excel(name = "总数量", width = 15) @ApiModelProperty(value = "总数量") diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java index 584db7e..58d9774 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java @@ -31,6 +31,8 @@ public interface IReceiptHeaderService extends IService<ReceiptHeader> { */ Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader); + public Result editReceiptHeader(ReceiptHeader receiptHeader); + boolean updateReceiptHeaderStatus(Integer id); boolean updateReceiptHeader(Integer id); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java index fc395ac..51106bf 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java @@ -4,12 +4,10 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Map; import javax.annotation.Resource; import javax.validation.Valid; -import cn.hutool.core.util.StrUtil; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.config.material.entity.Material; @@ -19,19 +17,18 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; import org.jeecg.modules.wms.receipt.receiptHeader.mapper.ReceiptDetailMapper; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService; import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService; -import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail; import org.jeecg.utils.StringUtils; import org.jeecg.utils.constant.QuantityConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.monitor4all.logRecord.annotation.OperationLog; import cn.monitor4all.logRecord.context.LogRecordContext; -import org.springframework.util.CollectionUtils; /** * @Description: 入库单详情 @@ -82,6 +79,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R String warehouseCode = receiptHeader.getWarehouseCode(); String companyCode = receiptHeader.getCompanyCode(); String materialCode = receiptDetail.getMaterialCode(); + String supplierName = receiptHeader.getSupplierName(); Material material = materialService.getMaterialByCode(materialCode); if (material == null) { return Result.error("添加失败,没有找到物料信息," + materialCode); @@ -92,6 +90,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R receiptDetail.setReceiptCode(receiptCode); receiptDetail.setWarehouseCode(warehouseCode); receiptDetail.setCompanyCode(companyCode); + receiptDetail.setSupplierName(supplierName); receiptDetail.setMaterialName(materialName); receiptDetail.setMaterialSpec(materialSpec); receiptDetail.setMaterialUnit(materialUnit); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java index 1cfb1bf..fe2c1bf 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java @@ -15,6 +15,8 @@ import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.audit.service.IAuditService; import org.jeecg.modules.wms.config.receiptType.entity.ReceiptType; import org.jeecg.modules.wms.config.receiptType.service.IReceiptTypeService; +import org.jeecg.modules.wms.config.supplier.entity.Supplier; +import org.jeecg.modules.wms.config.supplier.service.ISupplierService; import org.jeecg.modules.wms.flow.service.IFlowDetailService; import org.jeecg.modules.wms.inventory.inventoryTransaction.entity.InventoryTransaction; import org.jeecg.modules.wms.inventory.inventoryTransaction.service.IInventoryTransactionService; @@ -66,6 +68,8 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R private IAuditService iAuditService; @Resource private IInventoryTransactionService inventoryTransactionService; + @Resource + private ISupplierService supplierService; /** * @param id 入库单主表id @@ -120,6 +124,15 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R if (StringUtils.isEmpty(code)) { throw new JeecgBootException("根据入库单据类型" + receiptHeader.getType() + "生成单号失败"); } + String supplierCode = receiptHeader.getSupplierCode(); + String supplierName = null; + if (StringUtils.isNotEmpty(supplierCode)) { + Supplier supplier = supplierService.getSupplierByCode(supplierCode); + if (supplier != null) { + supplierName = supplier.getName(); + } + } + receiptHeader.setSupplierName(supplierName); receiptHeader.setCode(code); receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD); receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD); @@ -132,6 +145,33 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R @Override @Transactional + public Result editReceiptHeader(ReceiptHeader receiptHeader) { + String companyCode = receiptHeader.getCompanyCode(); + String supplierCode = receiptHeader.getSupplierCode(); + String supplierName = null; + if (StringUtils.isNotEmpty(supplierCode)) { + Supplier supplier = supplierService.getSupplierByCode(supplierCode); + if (supplier == null) { + return Result.error("编辑失败, 没有找到供应商信息"); + } + supplierName = supplier.getName(); + } + if (!receiptHeaderService.updateById(receiptHeader)) { + throw new JeecgBootException("编辑失败,更新表单头失败"); + } + List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId())); + for (ReceiptDetail receiptDetail : receiptDetailList) { + receiptDetail.setCompanyCode(companyCode); + receiptDetail.setSupplierName(supplierName); + if (!receiptDetailService.updateById(receiptDetail)) { + throw new JeecgBootException("编辑失败,更新表单详情失败"); + } + } + return Result.OK("编辑成功!"); + } + + @Override + @Transactional public String createReceiptCode(String receiptType) { String code = null; Date now = new Date(); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java index acdafd5..e63ae8d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java @@ -1002,12 +1002,16 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi if (!containerService.removeById(container.getId())) { throw new JeecgBootException("完成平库出库,删除容器失败"); } + } else { + if (!containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY, + QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode)) { + throw new JeecgBootException("完成平库出库,更新容器状态失败"); + } ; } // 设置库位容器编码为空值 - Location temp = new Location(); - temp.setId(fromLocation.getId()); - temp.setContainerCode(""); - locationService.updateById(temp); + if (!locationService.updateContainerCode(fromLocation.getCode(), QuantityConstant.EMPTY_STRING, warehouseCode)) { + throw new JeecgBootException("完成平库出库,设置库位容器编码为空值失败"); + } } if (!inventoryTransactionService.saveBatch(inventoryTransactionList)) { diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java index 26d2838..fedb8ba 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java @@ -56,6 +56,10 @@ public class ShipmentDetail implements Serializable { @Excel(name = "货主编码", width = 15) @ApiModelProperty(value = "货主编码") private String companyCode; + /** 客户名称 */ + @Excel(name = "客户名称", width = 15) + @ApiModelProperty(value = "客户名称") + private String customerName; /** 物料编码 */ @Excel(name = "物料编码", width = 15) @ApiModelProperty(value = "物料编码") diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java index e7bce7d..caa31c0 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java @@ -73,6 +73,10 @@ public class ShipmentHeader implements Serializable { @Excel(name = "客户编码", width = 15) @ApiModelProperty(value = "客户编码") private String customerCode; + /** 客户名称 */ + @Excel(name = "客户名称", width = 15) + @ApiModelProperty(value = "客户名称") + private String customerName; /** 总数量 */ @Excel(name = "总数量", width = 15) @ApiModelProperty(value = "总数量") diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java index c004ad4..45478a0 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java @@ -79,6 +79,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, String companyCode = shipmentHeader.getCompanyCode(); String materialCode = shipmentDetail.getMaterialCode(); String zoneCode = shipmentHeader.getZoneCode(); + String customerName = shipmentHeader.getCustomerName(); Material material = materialService.getMaterialByCode(materialCode); if (material == null) { return Result.error("添加失败,没有找到物料信息," + materialCode); @@ -86,6 +87,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, String materialName = material.getName(); String materialSpec = material.getSpec(); String materialUnit = material.getUnit(); + shipmentDetail.setCustomerName(customerName); shipmentDetail.setShipmentCode(shipmentCode); shipmentDetail.setWarehouseCode(warehouseCode); shipmentDetail.setCompanyCode(companyCode); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java index 1e82b40..6bed7ae 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java @@ -14,6 +14,8 @@ import javax.annotation.Resource; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.wms.config.container.service.IContainerService; +import org.jeecg.modules.wms.config.customer.entity.Customer; +import org.jeecg.modules.wms.config.customer.service.ICustomerService; import org.jeecg.modules.wms.config.location.entity.Location; import org.jeecg.modules.wms.config.location.service.ILocationService; import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService; @@ -125,6 +127,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, @Resource private IShipmentContainerAdviceService shipmentContainerAdviceService; + @Resource + private ICustomerService customerService; @Override @Transactional(rollbackFor = Exception.class) @@ -165,6 +169,15 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, public Result editShipmentHeader(ShipmentHeader shipmentHeader) { String companyCode = shipmentHeader.getCompanyCode(); String zoneCode = shipmentHeader.getZoneCode(); + String customerCode = shipmentHeader.getCustomerCode(); + String customerName = null; + if (StringUtils.isNotEmpty(customerCode)) { + Customer customer = customerService.getCustomerByCode(customerCode); + if (customer == null) { + return Result.error("编辑失败, 没有找到客户信息"); + } + customerName = customer.getName(); + } if (!shipmentHeaderService.updateById(shipmentHeader)) { throw new JeecgBootException("编辑失败,更新表单头失败"); } @@ -172,6 +185,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, for (ShipmentDetail shipmentDetail : shipmentDetailList) { shipmentDetail.setZoneCode(zoneCode); shipmentDetail.setCompanyCode(companyCode); + shipmentDetail.setCustomerName(customerName); if (!shipmentDetailService.updateById(shipmentDetail)) { throw new JeecgBootException("编辑失败,更新表单详情失败"); } @@ -202,6 +216,16 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, if (StringUtils.isEmpty(code)) { throw new JeecgBootException("根据出库单类型:" + shipmentHeader.getType() + ",生成单号失败"); } + String customerCode = shipmentHeader.getCustomerCode(); + String customerName = null; + if (StringUtils.isNotEmpty(customerCode)) { + Customer customer = customerService.getCustomerByCode(customerCode); + if (customer == null) { + return Result.error("出库单下发, 没有找到客户信息"); + } + customerName = customer.getName(); + } + shipmentHeader.setCustomerName(customerName); shipmentHeader.setCode(code); shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD); shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD); @@ -367,7 +391,6 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, mergeShipmentHeader.setCustomerCode(mergeShipmentHeaderList.get(0).getCustomerCode()); mergeShipmentHeader.setType(mergeShipmentHeaderList.get(0).getType()); mergeShipmentHeader.setCompanyCode(mergeShipmentHeaderList.get(0).getCompanyCode()); - mergeShipmentHeader.setCustomerCode(mergeShipmentHeaderList.get(0).getCustomerCode()); mergeShipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_BUILD); mergeShipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_BUILD); mergeShipmentHeader.setTotalQty(mergeshipmentDetailList.stream().map(ShipmentDetail::getQty).reduce(BigDecimal.ZERO, BigDecimal::add));