浏览代码

成品综合库存、打印发货单、零售单删除接口

xuezizhuo 1 年之前
父节点
当前提交
fb211441a3
共有 16 个文件被更改,包括 224 次插入2 次删除
  1. 70 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInventoryController.java
  2. 9 0
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java
  3. 11 1
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleOrderController.java
  4. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java
  5. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceVO.java
  6. 5 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordMapper.java
  7. 3 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductionMapper.java
  8. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInventoryService.java
  9. 8 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInvoiceService.java
  10. 16 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java
  11. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java
  12. 2 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java
  13. 24 1
      zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml
  14. 22 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml
  15. 5 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductionMapper.xml
  16. 1 0
      zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/CommonServiceImpl.java

+ 70 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInventoryController.java

@@ -1,10 +1,17 @@
 package com.zkqy.business.controller;
 
+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import javax.servlet.http.HttpServletResponse;
 
+import com.zkqy.business.domain.Customer;
 import com.zkqy.business.domain.ProductInvoice;
+import com.zkqy.business.domain.Production;
 import com.zkqy.business.domain.vo.ProductCodeListVO;
+import com.zkqy.business.mapper.ProductionMapper;
+import com.zkqy.common.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -25,6 +32,7 @@ import com.zkqy.business.domain.ProductInventory;
 import com.zkqy.business.service.IProductInventoryService;
 import com.zkqy.common.utils.poi.ExcelUtil;
 import com.zkqy.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 产品库存Controller
@@ -39,6 +47,9 @@ public class ProductInventoryController extends BaseController {
     @Autowired
     private IProductInventoryService productInventoryService;
 
+    @Autowired
+    private ProductionMapper productionMapper;
+
     /**
      * 查询产品库存列表
      */
@@ -154,6 +165,65 @@ public class ProductInventoryController extends BaseController {
     }
 
 
+    /**
+     * 综合库存列表
+     */
+    @GetMapping("/comprehensiveInventoryList")
+    public TableDataInfo comprehensiveInventoryList(ProductCodeListVO productCodeListVO) {
+        startPage();
+        List<ProductCodeListVO> list = productInventoryService.comprehensiveInventoryList(productCodeListVO);
+        return getDataTable(list);
+    }
+
+
+//    @Log(title = "库存管理", businessType = BusinessType.IMPORT)
+//    //@PreAuthorize("@ss.hasPermi('system:user:import')")
+//    @PostMapping("/importData")
+//    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
+//        ExcelUtil<ProductInventory> util = new ExcelUtil<ProductInventory>(ProductInventory.class);
+//        //成品库存数据
+//        List<ProductInventory> productInventoryList = util.importExcel(file.getInputStream());
+//
+//        //未成功导入库存
+//        List<ProductInventory> errorList = new ArrayList<>();
+//        // 产品类型
+//        Set<String> productTypeList = new HashSet<>();
+//
+//        //处理excel数据,将产品名称设置为类型+品名+规格
+//        for (ProductInventory productInventory : productInventoryList){
+//            String productName = productInventory.getProductType() + productInventory.getProductName()
+//                    + productInventory.getSpecifications();
+//            Long productId = productionMapper.aaaa(productName);
+//
+//            if(productId == null){
+//                errorList.add(productInventory);
+//                continue;
+//            }
+//            //根据类型判断所属仓库
+//            if(productInventory.getProductType().trim().equals("POY")){
+//                productInventory.setWarehouseId(7L);
+//            }else if(productInventory.getProductType().trim().equals("BTS")){
+//                productInventory.setWarehouseId(6L);
+//            }else {
+//                productInventory.setWarehouseId(1L);
+//            }
+//            productInventory.setProductId(productId);
+////            productTypeList.add(productInventory.getProductType());
+//            productInventory.setCreateBy(getUsername());
+//            productInventory.setCreateById(getUserId());
+//            productInventory.setCreateTime(DateUtils.getNowDate());
+//        }
+//
+//
+//        return success(productInventoryService.batchInsertProductInventory(productInventoryList));
+////        return success(customerService.batchInsertCustomer(userList));
+//    }
+//
+//    @PostMapping("/importTemplate")
+//    public void importTemplate(HttpServletResponse response) {
+//        ExcelUtil<ProductInventory> util = new ExcelUtil<ProductInventory>(ProductInventory.class);
+//        util.importTemplateExcel(response, "库存数据");
+//    }
 
 
 }

+ 9 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java

@@ -128,4 +128,13 @@ public class ProductInvoiceController extends BaseController
         return success(productInvoiceService.saleStorageDetails(id));
     }
 
+    /**
+     * 打印发货单、送货单、财务对账单接口
+     */
+    @GetMapping("/printDocuments")
+    public AjaxResult printDocuments(@RequestParam("id") Long id)
+    {
+        return success(productInvoiceService.printDocuments(id));
+    }
+
 }

+ 11 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleOrderController.java

@@ -183,7 +183,17 @@ public class SaleOrderController extends BaseController {
         return toAjax(saleOrderService.cancelRetailOrder(productInvoice));
     }
 
-
+    /**
+     * 零售单删除
+     */
+    @PreAuthorize("@ss.hasPermi('system:order:remove')")
+    @Log(title = "销售订单", businessType = BusinessType.DELETE)
+    @DeleteMapping("/RetailOrder/{ids}")
+    @ApiOperation(value = "删除销售订单")
+    public AjaxResult removeRetailOrder(@PathVariable List<Long> ids) {
+        saleOrderService.deleteSaleOrderByIds(ids);
+        return AjaxResult.success();
+    }
 
 
 

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductCodeListVO.java

@@ -152,6 +152,9 @@ public class ProductCodeListVO extends BaseEntity
     /** 机台号 */
     private String machineToolNo;
 
+    //货品单价
+    private Double productUnitPrice;
+
     public Long getId() {
         return id;
     }
@@ -518,6 +521,14 @@ public class ProductCodeListVO extends BaseEntity
         this.machineToolNo = machineToolNo;
     }
 
+    public Double getProductUnitPrice() {
+        return productUnitPrice;
+    }
+
+    public void setProductUnitPrice(Double productUnitPrice) {
+        this.productUnitPrice = productUnitPrice;
+    }
+
     @Override
     public String toString() {
         return "ProductCodeListVO{" +

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceVO.java

@@ -108,6 +108,9 @@ public class ProductInvoiceVO extends BaseEntity
     /** 客户编号 */
     private String customerNo;
 
+    private List<ProductCodeListVO> productCodeListVOList;
+
+
     public void setId(Long id) 
     {
         this.id = id;
@@ -363,6 +366,14 @@ public class ProductInvoiceVO extends BaseEntity
         this.customerNo = customerNo;
     }
 
+    public List<ProductCodeListVO> getProductCodeListVOList() {
+        return productCodeListVOList;
+    }
+
+    public void setProductCodeListVOList(List<ProductCodeListVO> productCodeListVOList) {
+        this.productCodeListVOList = productCodeListVOList;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 5 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductOutboundRecordMapper.java

@@ -100,6 +100,11 @@ public interface ProductOutboundRecordMapper
     List<ProductCodeListVO> selectOutboundDetails(String noticeNumber);
 
 
+    /**
+     * 根据通知单号查询出库货品信息
+     */
+    List<ProductCodeListVO> selectOutboundProduct(String noticeNumber);
+
 
     /**
      * 删除成品出库记录信息

+ 3 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductionMapper.java

@@ -67,4 +67,7 @@ public interface ProductionMapper
      * @return 产品集合
      */
     List<Production> selectSaleOrderProductionList(Production production);
+
+
+//    Long aaaa(String productName);
 }

+ 13 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInventoryService.java

@@ -89,4 +89,17 @@ public interface IProductInventoryService {
      */
     Map<String,Object> getProductInventory(ProductInventory productInventory);
 
+    /**
+     * 综合库存列表
+     */
+    List<ProductCodeListVO> comprehensiveInventoryList(ProductCodeListVO productCodeListVO);
+
+    /**
+     * 批量新增产品库存
+     *
+     * @param productInventoryList 产品库存
+     * @return 结果
+     */
+    int batchInsertProductInventory(List<ProductInventory> productInventoryList);
+
 }

+ 8 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInvoiceService.java

@@ -85,4 +85,12 @@ public interface IProductInvoiceService
      */
     ProductInvoice selectProductInvoiceBySaleOrderNo(String saleOrderNo);
 
+    /**
+     * 打印发货单、送货单、财务对账单接口
+     * @return
+     */
+    ProductInvoiceVO printDocuments(Long id);
+
+
+
 }

+ 16 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java

@@ -358,6 +358,22 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
         return map;
     }
 
+    @Override
+    public List<ProductCodeListVO> comprehensiveInventoryList(ProductCodeListVO productCodeListVO) {
+        return productInventoryMapper.selectComprehensiveInventoryList(productCodeListVO);
+    }
+
+    @Override
+    public int batchInsertProductInventory(List<ProductInventory> productInventoryList) {
+        return productInventoryMapper.batchInsertProductInventory(productInventoryList);
+    }
+
+
+
+
+
+
+
     //保留两位小数
     public Double handlingWeight(Double weight) {
         DecimalFormat df = new DecimalFormat("0.00");

+ 13 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.zkqy.business.domain.*;
+import com.zkqy.business.domain.vo.ProductCodeListVO;
 import com.zkqy.business.domain.vo.ProductInvoiceVO;
 import com.zkqy.business.mapper.*;
 import com.zkqy.common.utils.DateUtils;
@@ -350,6 +351,18 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         return productInvoiceMapper.selectProductInvoiceBySaleOrderNo(saleOrderNo);
     }
 
+    @Override
+    public ProductInvoiceVO printDocuments(Long id) {
+        ProductInvoiceVO vo = new ProductInvoiceVO();
+        // 查询发货通知单详情
+        ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceById(id);
+        BeanUtils.copyProperties(productInvoice,vo);
+        //查询发货货品详情
+        List<ProductCodeListVO> productCodeListVOS = productOutboundRecordMapper.selectOutboundProduct(productInvoice.getNoticeNumber());
+        vo.setProductCodeListVOList(productCodeListVOS);
+        return vo;
+    }
+
     //保留两位小数
     public Double handlingWeight(Double weight){
         DecimalFormat df = new DecimalFormat("0.00");

+ 2 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java

@@ -111,6 +111,7 @@ public class SaleOrderServiceImpl implements ISaleOrderService
         ids.forEach(id -> {
             //查询销售单编号
             SaleOrder saleOrder = saleOrderMapper.selectSaleOrderById(id);
+            saleOrderNos.add(saleOrder.getSaleNo());
             //删除货品明细
             List<Long> saleProductsIds = saleProductsMapper.selectSaleProductsIds(saleOrder.getSaleNo());
             if(saleProductsIds.size() > 0){
@@ -242,6 +243,7 @@ public class SaleOrderServiceImpl implements ISaleOrderService
                 saleOrder.setUpdateBy(SecurityUtils.getUsername());
                 updateSaleProductsList.add(saleProducts);
             }else {
+                saleProducts.setSaleOrderNo(saleOrder.getSaleNo());
                 saleProducts.setCreateById(SecurityUtils.getUserId());
                 saleProducts.setCreateBy(SecurityUtils.getUsername());
                 saleProducts.setCreateTime(DateUtils.getNowDate());

+ 24 - 1
zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml

@@ -218,7 +218,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="selectComprehensiveInventoryList" resultType="com.zkqy.business.domain.vo.ProductCodeListVO">
-
+        SELECT
+            pi.product_id as productId,
+            p.product_name as productName,
+            p.product_specifications as productSpecifications,
+            p.product_type productType,
+            pi.product_colour productColor,
+            TRUNCATE ( SUM( pi.total_suttle ), 2 ) AS totalSuttle,
+            SUM( pi.total_box_num ) as totalBoxNum,
+            SUM( pi.total_canister_num ) as totalCanisterNum,
+            pi.levels,
+            GROUP_CONCAT( DISTINCT pi.lot_num SEPARATOR '、' ) AS lotNum
+        FROM
+            {DBNAME}.product_inventory pi
+                LEFT JOIN {DBNAME}.production p ON pi.product_id = p.id
+        WHERE
+            pi.del_flag = '0'
+            <if test="productColor != null and productColor != ''">and pi.product_colour like concat('%', #{productColor}, '%')</if>
+            <if test="productId != null">and pi.product_id = #{productId}</if>
+            <if test="levels != null and levels != ''">and pi.levels = #{levels}</if>
+        GROUP BY
+            pi.product_id,
+            pi.product_colour,
+            pi.levels
+        <if test="lotNum != null and lotNum != ''">HAVING GROUP_CONCAT( DISTINCT pi.lot_num SEPARATOR '、' ) like concat('%', #{lotNum}, '%')</if>
     </select>
 
 

+ 22 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductOutboundRecordMapper.xml

@@ -86,6 +86,7 @@
         <result property="warehouseId" column="warehouse_id"/>
         <result property="productColour" column="product_colour"/>
         <result property="customName" column="custom_name"/>
+        <result property="productUnitPrice" column="product_unit_price"/>
     </resultMap>
 
     <sql id="selectProductOutboundRecordVo">
@@ -366,4 +367,25 @@
         where r.del_flag = '0' and r.notice_number = #{noticeNumber}
     </select>
 
+    <select id="selectOutboundProduct" parameterType="com.zkqy.business.domain.vo.ProductCodeListVO" resultMap="ProductCodeListResultVO">
+        SELECT
+            r.*,
+            p.product_name,
+            p.product_specifications,
+            r.product_colour AS product_color,
+            c.custom_name,
+            TRUNCATE ( SUM( r.suttle ), 2 ) AS totalSuttle,
+            count(r.id) AS totalBoxNum,
+            sp.product_unit_price as productUnitPrice
+        FROM
+            {DBNAME}.product_outbound_record r
+                LEFT JOIN {DBNAME}.production p ON r.product_id = p.id
+            LEFT JOIN {DBNAME}.product_invoice pi ON r.notice_number = pi.notice_number
+            AND pi.del_flag = '0'
+            LEFT JOIN {DBNAME}.customer c ON pi.customer_id = c.id
+            left join {DBNAME}.sale_products sp on p.product_no = sp.product_no and pi.sale_order_no = sp.sale_order_no and sp.del_flag = '0'
+        where r.del_flag = '0' and r.notice_number = #{noticeNumber}
+        group by r.product_id,r.product_colour,r.levels,r.lot_num
+    </select>
+
 </mapper>

+ 5 - 0
zkqy-custom-business/src/main/resources/mapper/business/ProductionMapper.xml

@@ -143,4 +143,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              order by product_name asc
     </select>
 
+
+<!--    <select id="aaaa" resultType="long">-->
+<!--        select id from {DBNAME}.production where CONCAT(product_type,product_name,product_specifications) = #{productName}-->
+<!--    </select>-->
+
 </mapper>

+ 1 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/CommonServiceImpl.java

@@ -456,6 +456,7 @@ public class CommonServiceImpl implements ICommonService {
             String columnValue1 = commonEntity.getConditionMap().get("columnValue1").toString();
             sqlString = sqlString + " and sale_order." + columnName1 + " " + columnValue1;
         }
+        sqlString += " and sale_order.sale_order_technology_no != 'retailOrder' ";
         List<CommonEntity> commonEntities = commonMapper.queryTableList(sqlString);
         //根据sqlKey查询表格数据
         commonEntities.forEach(item -> {