Przeglądaj źródła

Merge branch 'master' of http://62.234.61.92:3000/wjm/mec-cloud_IntelligentManufacturing_CLIENT

lph 1 rok temu
rodzic
commit
7fcc0663ec
19 zmienionych plików z 275 dodań i 103 usunięć
  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. 1 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceFinancialExportVo.java
  6. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/SaleOrderVO.java
  7. 1 1
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductInvoiceMapper.java
  8. 15 0
      zkqy-custom-business/src/main/java/com/zkqy/business/mapper/ProductionMapper.java
  9. 1 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductInvoiceService.java
  10. 13 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/IProductionService.java
  11. 5 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/ISaleOrderService.java
  12. 3 1
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInventoryServiceImpl.java
  13. 68 74
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java
  14. 11 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductionServiceImpl.java
  15. 20 0
      zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/SaleOrderServiceImpl.java
  16. 1 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductInventoryMapper.xml
  17. 20 12
      zkqy-custom-business/src/main/resources/mapper/business/ProductInvoiceMapper.xml
  18. 37 0
      zkqy-custom-business/src/main/resources/mapper/business/ProductionMapper.xml
  19. 21 3
      zkqy-ui/src/views/orderMange/customerMange/index.vue

+ 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;
     }

+ 1 - 0
zkqy-custom-business/src/main/java/com/zkqy/business/domain/vo/ProductInvoiceFinancialExportVo.java

@@ -41,6 +41,7 @@ public class ProductInvoiceFinancialExportVo extends BaseEntity {
      */
     @Excel(name = "色泽")
     private String productColour;
+
     /**
      * 重量
      */

+ 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();

+ 68 - 74
zkqy-custom-business/src/main/java/com/zkqy/business/service/impl/ProductInvoiceServiceImpl.java

@@ -20,13 +20,12 @@ import com.zkqy.business.service.IProductInvoiceService;
 
 /**
  * 产品发货单Service业务层处理
- * 
+ *
  * @author zkqy
  * @date 2024-04-11
  */
 @Service
-public class ProductInvoiceServiceImpl implements IProductInvoiceService 
-{
+public class ProductInvoiceServiceImpl implements IProductInvoiceService {
     @Autowired
     private ProductInvoiceMapper productInvoiceMapper;
 
@@ -47,37 +46,34 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
 
     /**
      * 查询产品发货单
-     * 
+     *
      * @param id 产品发货单主键
      * @return 产品发货单
      */
     @Override
-    public ProductInvoice selectProductInvoiceById(Long id)
-    {
+    public ProductInvoice selectProductInvoiceById(Long id) {
         return productInvoiceMapper.selectProductInvoiceById(id);
     }
 
     /**
      * 查询产品发货单列表
-     * 
+     *
      * @param productInvoice 产品发货单
      * @return 产品发货单
      */
     @Override
-    public List<ProductInvoice> selectProductInvoiceList(ProductInvoice productInvoice)
-    {
+    public List<ProductInvoice> selectProductInvoiceList(ProductInvoice productInvoice) {
         return productInvoiceMapper.selectProductInvoiceList(productInvoice);
     }
 
     /**
      * 新增产品发货单
-     * 
+     *
      * @param productInvoice 产品发货单
      * @return 结果
      */
     @Override
-    public int insertProductInvoice(ProductInvoice productInvoice)
-    {
+    public int insertProductInvoice(ProductInvoice productInvoice) {
         productInvoice.setCreateTime(DateUtils.getNowDate());
         productInvoice.setCreateBy(SecurityUtils.getUsername());
         productInvoice.setCreateById(SecurityUtils.getUserId());
@@ -86,13 +82,12 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
 
     /**
      * 修改产品发货单
-     * 
+     *
      * @param productInvoice 产品发货单
      * @return 结果
      */
     @Override
-    public int updateProductInvoice(ProductInvoice productInvoice)
-    {
+    public int updateProductInvoice(ProductInvoice productInvoice) {
         productInvoice.setUpdateTime(DateUtils.getNowDate());
         productInvoice.setUpdateById(SecurityUtils.getUserId());
         productInvoice.setUpdateBy(SecurityUtils.getUsername());
@@ -101,25 +96,24 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
 
     /**
      * 批量删除产品发货单
-     * 
+     *
      * @param ids 需要删除的产品发货单主键
      * @return 结果
      */
     @Override
-    public int deleteProductInvoiceByIds(Long[] ids)
+    public int deleteProductInvoiceByIds(List<Long> ids)
     {
         return productInvoiceMapper.deleteProductInvoiceByIds(ids);
     }
 
     /**
      * 删除产品发货单信息
-     * 
+     *
      * @param id 产品发货单主键
      * @return 结果
      */
     @Override
-    public int deleteProductInvoiceById(Long id)
-    {
+    public int deleteProductInvoiceById(Long id) {
         return productInvoiceMapper.deleteProductInvoiceById(id);
     }
 
@@ -129,66 +123,66 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         ProductInvoiceVO vo = new ProductInvoiceVO();
         // 顶部数据回显
         ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceBySaleOrderNo(saleOrderNo);
-        if(productInvoice != null){
+        if (productInvoice != null) {
             BeanUtils.copyProperties(productInvoice, vo);
-        }else {
+        } else {
             SaleOrder saleOrder = saleOrderMapper.selectSaleOrderBySaleNo(saleOrderNo);
             vo.setCustomerNo(saleOrder.getSaleCustomNo());
         }
 
-            //表格数据
-
-            //查询所有订单货品信息
-            List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList = saleProductsMapper.selectSaleProductsInfo1(saleOrderNo);
+        //表格数据
 
-            if(productInvoice != null){
-                //根据通知单号查询货品信息
-                List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList1 = saleProductsMapper.selectSaleProductsInfo2(productInvoice.getNoticeNumber());
+        //查询所有订单货品信息
+        List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList = saleProductsMapper.selectSaleProductsInfo1(saleOrderNo);
 
-                List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList2 = new ArrayList<>();
-                saleProductInfoList2.addAll(saleProductInfoList);
+        if (productInvoice != null) {
+            //根据通知单号查询货品信息
+            List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList1 = saleProductsMapper.selectSaleProductsInfo2(productInvoice.getNoticeNumber());
 
-                for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList2){
-                    for (ProductInvoiceVO.SaleProductInfo saleProductInfo1 : saleProductInfoList1){
-                        if(saleProductInfo1.getProductId().equals(saleProductInfo.getProductId()) && saleProductInfo1.getProductColor().equals(saleProductInfo.getProductColor())){
-                            saleProductInfoList.remove(saleProductInfo);
-                        }
-                    }
-                }
-                if(saleProductInfoList.size() > 0){
-                    saleProductInfoList.forEach(saleProductInfo -> {
-                        saleProductInfo.setBoxNum(0);
-                        saleProductInfo.setWeight(0.0);
-                    });
-                    saleProductInfoList1.addAll(saleProductInfoList);
-                }
+            List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList2 = new ArrayList<>();
+            saleProductInfoList2.addAll(saleProductInfoList);
 
-                vo.setSaleProductInfoList(saleProductInfoList1);
-                if(saleProductInfoList1.size() > 0){
-                    ProductInventory productInventory1 = new ProductInventory();
-                    productInventory1.setProductId(saleProductInfoList1.get(0).getProductId());
-                    productInventory1.setLotNum(saleProductInfoList1.get(0).getLotNum());
-                    ProductInventory productInventory = productInventoryMapper.selectProductInventoryByLotNumAndProductId(productInventory1);
-                    if(productInventory != null){
-                        vo.setInventoryBoxNum(productInventory.getTotalBoxNum());
-                        vo.setInventoryWeight(handlingWeight(productInventory.getTotalSuttle()));
-                    }else {
-                        vo.setInventoryBoxNum(0);
-                        vo.setInventoryWeight(0.0);
+            for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList2) {
+                for (ProductInvoiceVO.SaleProductInfo saleProductInfo1 : saleProductInfoList1) {
+                    if (saleProductInfo1.getProductId().equals(saleProductInfo.getProductId()) && saleProductInfo1.getProductColor().equals(saleProductInfo.getProductColor())) {
+                        saleProductInfoList.remove(saleProductInfo);
                     }
                 }
-
-            }else {
-                for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList){
+            }
+            if (saleProductInfoList.size() > 0) {
+                saleProductInfoList.forEach(saleProductInfo -> {
                     saleProductInfo.setBoxNum(0);
                     saleProductInfo.setWeight(0.0);
+                });
+                saleProductInfoList1.addAll(saleProductInfoList);
+            }
+
+            vo.setSaleProductInfoList(saleProductInfoList1);
+            if (saleProductInfoList1.size() > 0) {
+                ProductInventory productInventory1 = new ProductInventory();
+                productInventory1.setProductId(saleProductInfoList1.get(0).getProductId());
+                productInventory1.setLotNum(saleProductInfoList1.get(0).getLotNum());
+                ProductInventory productInventory = productInventoryMapper.selectProductInventoryByLotNumAndProductId(productInventory1);
+                if (productInventory != null) {
+                    vo.setInventoryBoxNum(productInventory.getTotalBoxNum());
+                    vo.setInventoryWeight(handlingWeight(productInventory.getTotalSuttle()));
+                } else {
+                    vo.setInventoryBoxNum(0);
+                    vo.setInventoryWeight(0.0);
                 }
-                vo.setInventoryBoxNum(0);
-                vo.setInventoryWeight(0.0);
-                vo.setSaleProductInfoList(saleProductInfoList);
             }
-            //客户编号
-            vo.setCustomerId(saleOrderMapper.selectCustomerIdBySaleNo(saleOrderNo));
+
+        } else {
+            for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList) {
+                saleProductInfo.setBoxNum(0);
+                saleProductInfo.setWeight(0.0);
+            }
+            vo.setInventoryBoxNum(0);
+            vo.setInventoryWeight(0.0);
+            vo.setSaleProductInfoList(saleProductInfoList);
+        }
+        //客户编号
+        vo.setCustomerId(saleOrderMapper.selectCustomerIdBySaleNo(saleOrderNo));
 
         return vo;
     }
@@ -212,14 +206,14 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         List<ProductInvoiceVO.SaleProductInfo> saleProductInfoList2 = new ArrayList<>();
         saleProductInfoList2.addAll(saleProductInfoList);
 
-        for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList2){
-            for (ProductInvoiceVO.SaleProductInfo saleProductInfo1 : saleProductInfoList1){
-                if(saleProductInfo1.getProductId().equals(saleProductInfo.getProductId()) && saleProductInfo1.getProductColor().equals(saleProductInfo.getProductColor())){
+        for (ProductInvoiceVO.SaleProductInfo saleProductInfo : saleProductInfoList2) {
+            for (ProductInvoiceVO.SaleProductInfo saleProductInfo1 : saleProductInfoList1) {
+                if (saleProductInfo1.getProductId().equals(saleProductInfo.getProductId()) && saleProductInfo1.getProductColor().equals(saleProductInfo.getProductColor())) {
                     saleProductInfoList.remove(saleProductInfo);
                 }
             }
         }
-        if(saleProductInfoList.size() > 0){
+        if (saleProductInfoList.size() > 0) {
             saleProductInfoList.forEach(saleProductInfo -> {
                 saleProductInfo.setBoxNum(0);
                 saleProductInfo.setWeight(0.0);
@@ -233,7 +227,7 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         vo.setSaleProductInfoList(saleProductInfoList1);
         return vo;
     }
-    
+
 
     @Override
     public ProductInvoice selectProductInvoiceBySaleOrderNo(String saleOrderNo) {
@@ -245,7 +239,7 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
         ProductInvoiceVO vo = new ProductInvoiceVO();
         // 查询发货通知单详情
         ProductInvoice productInvoice = productInvoiceMapper.selectProductInvoiceById(id);
-        BeanUtils.copyProperties(productInvoice,vo);
+        BeanUtils.copyProperties(productInvoice, vo);
         //查询发货货品详情
         List<ProductCodeListVO> productCodeListVOS = productOutboundRecordMapper.selectOutboundProduct(productInvoice.getNoticeNumber());
         vo.setProductCodeListVOList(productCodeListVOS);
@@ -253,17 +247,17 @@ public class ProductInvoiceServiceImpl implements IProductInvoiceService
     }
 
     @Override
-    public List<Map<String, Object>>  financialStatementList(ProductInvoiceFinancialExportVo productInvoiceFinancialExportVo) {
+    public List<Map<String, Object>> financialStatementList(ProductInvoiceFinancialExportVo productInvoiceFinancialExportVo) {
         return productInvoiceMapper.financialStatementList(productInvoiceFinancialExportVo);
     }
 
     @Override
     public List<ProductInvoiceFinancialExportVo> financialStatementExportList(ProductInvoiceFinancialExportVo productInvoiceFinancialExportVo) {
-        return null;
+        return productInvoiceMapper.financialStatementExportList(productInvoiceFinancialExportVo);
     }
 
     //保留两位小数
-    public Double handlingWeight(Double weight){
+    public Double handlingWeight(Double weight) {
         DecimalFormat df = new DecimalFormat("0.00");
         return Double.parseDouble(df.format(weight));
     }

+ 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">

+ 20 - 12
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,26 +200,34 @@ 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>
         <if test="noticeDate != null ">and so.notice_date = #{noticeDate}</if>
+        <if test="orderType == 'contractOrder'">
+            and so.sale_order_technology_no != 'retailOrder'
+        </if>
+        <if test="orderType == 'retailOrder'">
+            and so.sale_order_technology_no = 'retailOrder'
+        </if>
         order by so.id desc
     </select>
-    <select id="financialStatementExportList" resultType="com.zkqy.business.domain.vo.ProductInvoiceFinancialExportVo">
+    <select id="financialStatementExportList" resultType="com.zkqy.business.domain.vo.ProductInvoiceFinancialExportVo" parameterType="com.zkqy.business.domain.vo.ProductInvoiceFinancialExportVo">
         select
         pi2.notice_number ,
         c.custom_name,
+        p.product_name ,
         p.product_specifications ,
         por.levels ,
         por.lot_num ,
-        por.tube_color ,
+        por.product_colour,
         sum(por.suttle) as suttle
         from
         {DBNAME}.product_invoice pi2
@@ -236,11 +244,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join {DBNAME}.sale_order so on
         so.sale_no = pi2.sale_order_no
         and so.del_flag = 0 and so.status = 6
-        <if test="orderType == 'contractOrder'   ">
+        <if test="orderType == 'contractOrder'">
             and so.sale_order_technology_no != 'retailOrder'
         </if>
-        <if test="orderType == 'retailOrder'   ">
-            and so.sale_order_technology_no == 'retailOrder'
+        <if test="orderType == 'retailOrder'">
+            and so.sale_order_technology_no = 'retailOrder'
         </if>
         where pi2.del_flag = 0
         and pi2.status = 2

+ 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}-->

+ 21 - 3
zkqy-ui/src/views/orderMange/customerMange/index.vue

@@ -224,7 +224,7 @@
         <el-form ref="form" :model="form" :rules="rules" label-width="80px">
           <el-col :span="12">
             <el-form-item label="客户编号" prop="customNo">
-              <el-input v-model="form.customNo" placeholder="请输入客户编号" />
+              <el-input v-model="form.customNo" placeholder="请输入客户编号" disabled="true"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -346,7 +346,7 @@
               <el-input v-model="form.remark" placeholder="请输入备注" />
             </el-form-item>
           </el-col>
-          <!--           
+          <!--
           <el-form-item label="创建者id" prop="createById">
             <el-input v-model="form.createById" placeholder="请输入创建者id" />
           </el-form-item>
@@ -412,6 +412,8 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      //
+      clientId:'',
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -457,6 +459,21 @@ export default {
     this.getList();
   },
   methods: {
+    generateClientId() {
+      // 获取当前日期,格式化为YYYYMMDD
+      const currentDate = new Date().toISOString().slice(0, 10).replace(/-/g, '');
+
+      // 获取当前时间的小时和分钟,格式化为HHMM,并确保小时和分钟都是两位数
+      const currentTime = ('0' + new Date().getHours()).slice(-2) + ('0' + new Date().getMinutes()).slice(-2);
+
+      // 获取当前时间的时间戳,取最后六位
+      const timestampSixDigits = Math.floor(Date.now() / 100).toString().slice(-5);
+
+      // 拼接字符串
+      const customId = `CN-${currentDate}${currentTime}${timestampSixDigits}`;
+
+      return customId;
+    },
     // 文件上传成功处理
     handleFileSuccess(response, file, fileList) {
       this.upload.open = false;
@@ -586,7 +603,8 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "添加客户";
+      this.title = "添加客户11111";
+      this.form.customNo=this.generateClientId();
     },
     /** 修改按钮操作 */
     handleUpdate(row) {