فهرست منبع

修改删除通知单接口、销售单产品去重获取规格默认信息、修改订单接口

xuezizhuo 1 سال پیش
والد
کامیت
856d4be23b
17فایلهای تغییر یافته به همراه175 افزوده شده و 22 حذف شده
  1. 6 1
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java
  2. 19 8
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductionController.java
  3. 10 1
      zkqy-custom-business/src/main/java/com/zkqy/business/controller/SaleOrderController.java
  4. 12 1
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/Production.java
  5. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleOrderVO.java
  6. 1 1
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductInvoiceMapper.java
  7. 15 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductionMapper.java
  8. 1 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInvoiceService.java
  9. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductionService.java
  10. 5 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java
  11. 3 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java
  12. 2 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java
  13. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductionServiceImpl.java
  14. 20 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java
  15. 1 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml
  16. 8 7
      zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml
  17. 37 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductionMapper.xml

+ 6 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductInvoiceController.java

@@ -9,7 +9,11 @@ import javax.servlet.http.HttpServletResponse;
 import com.zkqy.business.domain.vo.ProductInvoiceFinancialExportVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.User;
 import org.springframework.web.bind.annotation.*;
 import com.zkqy.common.annotation.Log;
 import com.zkqy.common.core.controller.BaseController;
@@ -97,7 +101,8 @@ public class ProductInvoiceController extends BaseController {
     @Log(title = "产品发货单", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "删除产品发货单")
-    public AjaxResult remove(@PathVariable Long[] ids) {
+    public AjaxResult remove(@PathVariable List<Long> ids)
+    {
         return toAjax(productInvoiceService.deleteProductInvoiceByIds(ids));
     }
 

+ 19 - 8
zkqy-custom-business/src/main/java/com/zkqy/business/controller/ProductionController.java

@@ -6,14 +6,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import com.zkqy.common.annotation.Log;
 import com.zkqy.common.core.controller.BaseController;
 import com.zkqy.common.core.domain.AjaxResult;
@@ -119,4 +112,22 @@ public class ProductionController extends BaseController
     {
         return success(productionService.selectSaleOrderProductionList(new Production()));
     }
+
+    /**
+     * 销售单产品列表(根据品名去重排序)
+     */
+    @GetMapping("/getSaleOrderProductionListDistinct")
+    public AjaxResult getSaleOrderProductionListDistinct()
+    {
+        return success(productionService.getSaleOrderProductionListDistinct(new Production()));
+    }
+
+    /**
+     * 根据品名获取对应规格信息和是否有默认规格信息
+     */
+    @GetMapping("/getProductSpecificationsByProductName")
+    public AjaxResult getProductSpecificationsByProductName(@RequestParam("productName") String productName){
+        return success(productionService.getProductSpecificationsByProductName(productName));
+    }
+
 }

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

@@ -148,7 +148,7 @@ public class SaleOrderController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:RetailOrder:insert')")
     @PostMapping("/addRetailOrder")
     public AjaxResult addRetailOrder(@RequestBody SaleOrderVO vo) {
-        return success(saleOrderService.addRetailOrder(vo));
+        return toAjax(saleOrderService.addRetailOrder(vo));
     }
 
 
@@ -201,5 +201,14 @@ public class SaleOrderController extends BaseController {
     }
 
 
+    /**
+     * 修改订单
+     */
+    @PutMapping("/updateOrder")
+    public AjaxResult updateOrder(@RequestBody SaleOrder saleOrder)
+    {
+        return toAjax(saleOrderService.updateOrder(saleOrder));
+    }
+
 
 }

+ 12 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/domain/Production.java

@@ -65,7 +65,18 @@ public class Production extends BaseEntity
     /** 任务节点编码 */
     private String taskNodeKey;
 
-    public void setId(Long id) 
+    //是否默认规格
+    private String isDefaultSpecifications;
+
+    public String getIsDefaultSpecifications() {
+        return isDefaultSpecifications;
+    }
+
+    public void setIsDefaultSpecifications(String isDefaultSpecifications) {
+        this.isDefaultSpecifications = isDefaultSpecifications;
+    }
+
+    public void setId(Long id)
     {
         this.id = id;
     }

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

@@ -102,6 +102,17 @@ public class SaleOrderVO {
     /** 备注 */
     private String remark;
 
+    //货车登记
+    private String truckRegistration;
+
+    public String getTruckRegistration() {
+        return truckRegistration;
+    }
+
+    public void setTruckRegistration(String truckRegistration) {
+        this.truckRegistration = truckRegistration;
+    }
+
     public Long getId() {
         return id;
     }

+ 1 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductInvoiceMapper.java

@@ -59,7 +59,7 @@ public interface ProductInvoiceMapper {
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
-    public int deleteProductInvoiceByIds(Long[] ids);
+    public int deleteProductInvoiceByIds(List<Long> ids);
 
     /**
      * 查询产品发货单

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

@@ -68,6 +68,21 @@ public interface ProductionMapper
      */
     List<Production> selectSaleOrderProductionList(Production production);
 
+    /**
+     * 销售单查询产品列表(根据品名排序)
+     *
+     * @param production 产品
+     * @return 产品集合
+     */
+    List<Production> getSaleOrderProductionListDistinct(Production production);
+
+    /**
+     * 根据品名获取对应规格信息和是否有默认规格信息
+     */
+    List<Production> selectProductSpecificationsByProductName(String productName);
+
+
 
+    //导入库存数据
 //    Long aaaa(String productName);
 }

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

@@ -53,7 +53,7 @@ public interface IProductInvoiceService {
      * @param ids 需要删除的产品发货单主键集合
      * @return 结果
      */
-    public int deleteProductInvoiceByIds(Long[] ids);
+    public int deleteProductInvoiceByIds(List<Long> ids);
 
     /**
      * 删除产品发货单信息

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

@@ -67,4 +67,17 @@ public interface IProductionService
      */
     List<Production> selectSaleOrderProductionList(Production production);
 
+    /**
+     * 销售单查询产品列表(根据品名去重排序)
+     *
+     * @param production 产品
+     * @return 产品集合
+     */
+    List<Production> getSaleOrderProductionListDistinct(Production production);
+
+    /**
+     * 根据品名获取对应规格信息和是否有默认规格信息
+     */
+    List<Production> getProductSpecificationsByProductName(String productName);
+
 }

+ 5 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java

@@ -119,4 +119,9 @@ public interface ISaleOrderService {
      */
     int cancelRetailOrder(ProductInvoice productInvoice);
 
+    /**
+     * 修改订单
+     */
+    int updateOrder(SaleOrder saleOrder);
+
 }

+ 3 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java

@@ -309,7 +309,9 @@ public class ProductInventoryServiceImpl implements IProductInventoryService {
         if (saleOrder1.getSaleOrderTechnologyNo().equals("retailOrder")) {
             SaleOrder saleOrder = new SaleOrder();
             saleOrder.setSaleNo(productInvoice2.getSaleOrderNo());
-            saleOrder.setStatus("6");
+
+            //已出库状态
+            saleOrder.setStatus("9");
             saleOrderMapper.updateSaleOrderBySaleNo(saleOrder);
         }
         return AjaxResult.success();

+ 2 - 1
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java

@@ -101,7 +101,8 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService {
      * @return 结果
      */
     @Override
-    public int deleteProductInvoiceByIds(Long[] ids) {
+    public int deleteProductInvoiceByIds(List<Long> ids)
+    {
         return productInvoiceMapper.deleteProductInvoiceByIds(ids);
     }
 

+ 11 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductionServiceImpl.java

@@ -98,4 +98,15 @@ public class ProductionServiceImpl implements IProductionService
     public List<Production> selectSaleOrderProductionList(Production production) {
         return productionMapper.selectSaleOrderProductionList(production);
     }
+
+    @Override
+    public List<Production> getSaleOrderProductionListDistinct(Production production) {
+        return productionMapper.getSaleOrderProductionListDistinct(production);
+    }
+
+    @Override
+    public List<Production> getProductSpecificationsByProductName(String productName) {
+        return productionMapper.selectProductSpecificationsByProductName(productName);
+    }
+
 }

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

@@ -122,6 +122,9 @@ public class SaleOrderServiceImpl implements ISaleOrderService
             if(saleProductsIds.size() > 0){
                 saleProductsMapper.deleteSaleProductsByIds(saleProductsIds);
             }
+            //根据合同号删除通知单
+            productInvoiceMapper.deleteProductInvoiceBySaleOrderNo(saleOrder.getSaleNo());
+
         });
         //删除销售工艺
         if(saleOrderNos.size() > 0){
@@ -224,12 +227,24 @@ public class SaleOrderServiceImpl implements ISaleOrderService
         saleProducts.setSaleOrderNo(saleOrder.getSaleNo());
         List<SaleProducts> saleProductsList = saleProductsMapper.selectSaleProductsList(saleProducts);
         saleOrderVO.setSaleProductsList(saleProductsList);
+
+        // 获取通知单详情
+        ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceBySaleOrderNo(saleOrder.getSaleNo());
+        saleOrderVO.setTruckRegistration(productInvoice.getTruckRegistration());
         return saleOrderVO;
     }
 
     @Override
     @Transactional
     public int editRetailOrder(SaleOrderVO vo) {
+        //修改通知单
+        ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceBySaleOrderNo(vo.getSaleNo());
+        productInvoice.setTruckRegistration(vo.getTruckRegistration());
+        productInvoice.setCreateById(SecurityUtils.getUserId());
+        productInvoice.setUpdateTime(DateUtils.getNowDate());
+        productInvoice.setUpdateBy(SecurityUtils.getUsername());
+        productInvoiceMapper.updateProductInvoice(productInvoice);
+
         //修改零售单
         SaleOrder saleOrder = new SaleOrder();
         BeanUtils.copyBeanProp(saleOrder,vo);
@@ -304,4 +319,9 @@ public class SaleOrderServiceImpl implements ISaleOrderService
         return saleOrderMapper.updateSaleOrderBySaleNo(saleOrder);
     }
 
+    @Override
+    public int updateOrder(SaleOrder saleOrder) {
+        return saleOrderMapper.updateSaleOrder(saleOrder);
+    }
+
 }

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

@@ -215,6 +215,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where del_flag = '0'
         <if test="lotNum != null and lotNum != '' ">and lot_num = #{lotNum}</if>
         <if test="productId != null">and product_id = #{productId}</if>
+        <if test="productColour != null and productColour != ''"> and product_colour = #{productColour}</if>
     </select>
 
     <select id="selectComprehensiveInventoryList" resultType="com.zkqy.business.domain.vo.ProductCodeListVO">

+ 8 - 7
zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml

@@ -167,8 +167,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from product_invoice where id = #{id}
     </delete>
 
-    <delete id="deleteProductInvoiceByIds" parameterType="String">
-        delete from product_invoice where id in 
+    <delete id="deleteProductInvoiceByIds" >
+        update {DBNAME}.product_invoice set del_flag = '0' where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
@@ -200,12 +200,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         so.status,
         so.order_type,
         so.delivery_date,
-        so.remark
-        from `huaxian`.sale_order so
-        left join `huaxian`.customer c on
-        so.sale_custom_no = c.custom_no
+        so.remark,
+        pi.id as product_invoice_id
+        from {DBNAME}.sale_order so
+        left join {DBNAME}.customer c on
+        so.sale_custom_no = c.custom_no and c.del_flag = '0'
+        left join {DBNAME}.product_invoice pi on pi.sale_order_no = so.sale_no and pi.del_flag = '0'
         where so.del_flag = '0'
-        and c.del_flag = '0'
         and so.status = 6
         <if test="noticeNumber != null  and noticeNumber != ''">and so.notice_number = #{noticeNumber}</if>
         <if test="customerId != null  and customerId != ''">and c.id = #{customerId}</if>

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

@@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="delFlag"    column="del_flag"    />
         <result property="taskProcessKey"    column="task_process_key"    />
         <result property="taskNodeKey"    column="task_node_key"    />
+        <result property="isDefaultSpecifications" column="is_default_specifications"/>
     </resultMap>
 
     <sql id="selectProductionVo">
@@ -140,9 +141,45 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="productDescribe != null  and productDescribe != ''"> and product_describe = #{productDescribe}</if>
             <if test="productUnit != null  and productUnit != ''"> and product_unit = #{productUnit}</if>
             <if test="productTypeNo != null "> and product_type_no = #{productTypeNo}</if>
+--              group by product_name
              order by product_name asc
     </select>
 
+    <select id="getSaleOrderProductionListDistinct" parameterType="com.zkqy.business.domain.Production" resultMap="ProductionResult">
+        <include refid="selectProductionVo"/>
+        where del_flag = '0'
+        <if test="productNo != null  and productNo != ''"> and product_no = #{productNo}</if>
+        <if test="productName != null  and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
+        <if test="productSpecifications != null  and productSpecifications != ''"> and product_specifications = #{productSpecifications}</if>
+        <if test="productColor != null  and productColor != ''"> and product_color = #{productColor}</if>
+        <if test="productType != null  and productType != ''"> and product_type = #{productType}</if>
+        <if test="productDescribe != null  and productDescribe != ''"> and product_describe = #{productDescribe}</if>
+        <if test="productUnit != null  and productUnit != ''"> and product_unit = #{productUnit}</if>
+        <if test="productTypeNo != null "> and product_type_no = #{productTypeNo}</if>
+        group by product_name
+        order by product_name asc
+    </select>
+
+    <select id="selectProductSpecificationsByProductName" parameterType="string" resultMap="ProductionResult">
+        SELECT
+            p.*,
+            CASE
+                WHEN pc.default_specifications = p.product_specifications THEN 1
+                ELSE null
+                END AS is_default_specifications
+        FROM
+            {DBNAME}.production p
+                LEFT JOIN
+            {DBNAME}.product_code pc
+            ON p.product_name = pc.code_name
+                AND pc.code_type = 'product_name'
+        WHERE
+            p.del_flag = '0'
+          AND pc.del_flag = '0'
+          AND p.product_name = #{productName}
+
+    </select>
+
 
 <!--    <select id="aaaa" resultType="long">-->
 <!--        select id from {DBNAME}.production where CONCAT(product_type,product_name,product_specifications) = #{productName}-->