From c26e400f6e83774286243b7210686a96d7cdcde3 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 19 一月 2026 14:52:01 +0800
Subject: [PATCH] feat(production): 新增工艺/bom/工艺路线内容
---
src/main/java/com/ruoyi/production/controller/ProductProcessController.java | 6 -
src/main/java/com/ruoyi/basic/controller/ProductController.java | 7 +
src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java | 6 +
src/main/java/com/ruoyi/basic/service/IProductService.java | 5 +
src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java | 9 +
src/main/java/com/ruoyi/production/dto/ProductionReportDto.java | 12 ++
src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java | 2
src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java | 34 ++++++
src/main/java/com/ruoyi/production/controller/ProcessRouteController.java | 10 -
/dev/null | 37 -------
src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java | 1
src/main/resources/mapper/basic/ProductModelMapper.xml | 37 +++++++
src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java | 4
src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java | 23 ++++
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java | 7 +
src/main/resources/mapper/production/ProcessRouteItemMapper.xml | 1
src/main/java/com/ruoyi/production/controller/ProductBomController.java | 10 +
src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java | 15 +++
src/main/java/com/ruoyi/production/service/ProcessRouteService.java | 4
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java | 21 ++++
src/main/java/com/ruoyi/production/service/ProductProcessService.java | 4
src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java | 2
22 files changed, 187 insertions(+), 70 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/controller/ProductController.java b/src/main/java/com/ruoyi/basic/controller/ProductController.java
index a586d4b..b48bbb2 100644
--- a/src/main/java/com/ruoyi/basic/controller/ProductController.java
+++ b/src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -12,6 +12,7 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -102,4 +103,10 @@
public AjaxResult importProduct(MultipartFile file) {
return AjaxResult.success(productModelService.importProduct(file));
}
+
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈変骇鍝佸瀷鍙�")
+ @GetMapping("/pageModel")
+ public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
+ return productService.listPageProductModel(page, productModel);
+ }
}
diff --git a/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java b/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
index 2248421..2ff5acb 100644
--- a/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
+++ b/src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
@@ -1,7 +1,10 @@
package com.ruoyi.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.pojo.ProductModel;
+import org.apache.ibatis.annotations.Param;
/**
@@ -11,5 +14,6 @@
* @date 2025-05-19
*/
public interface ProductModelMapper extends BaseMapper<ProductModel> {
-
+ IPage<ProductModel> listPageProductModel(Page<ProductModel> page, @Param("c") ProductModel productModel);
+
}
diff --git a/src/main/java/com/ruoyi/basic/service/IProductService.java b/src/main/java/com/ruoyi/basic/service/IProductService.java
index cd9bdff..8635121 100644
--- a/src/main/java/com/ruoyi/basic/service/IProductService.java
+++ b/src/main/java/com/ruoyi/basic/service/IProductService.java
@@ -1,9 +1,12 @@
package com.ruoyi.basic.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductTreeDto;
import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.basic.pojo.ProductModel;
import java.util.List;
@@ -15,4 +18,6 @@
List<ProductTreeDto> selectProductList(ProductDto productDto);
+ IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel);
+
}
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index b93e14a..41d3877 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductTreeDto;
@@ -52,7 +54,10 @@
return tree;
}
-
+ @Override
+ public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
+ return productModelMapper.listPageProductModel(page, productModel);
+ }
// 閫掑綊鏋勫缓瀛愯妭鐐�
private List<ProductTreeDto> buildChildrenNodes(Long parentId) {
diff --git a/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java b/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
index 31ff3fb..3604ebf 100644
--- a/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
@@ -1,12 +1,9 @@
package com.ruoyi.production.controller;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProcessRouteDto;
import com.ruoyi.production.pojo.ProcessRoute;
-import com.ruoyi.production.pojo.ProcessRouteItem;
-import com.ruoyi.production.service.ProcessRouteItemService;
import com.ruoyi.production.service.ProcessRouteService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -22,9 +19,6 @@
@Autowired
private ProcessRouteService processRouteService;
-
- @Autowired
- private ProcessRouteItemService processRouteItemService;
@GetMapping("page")
@ApiOperation("鍒嗛〉鏌ヨ")
@@ -45,8 +39,6 @@
@ApiOperation("鍒犻櫎宸ヨ壓璺嚎")
@DeleteMapping("/{ids}")
public R delete(@PathVariable("ids") Long[] ids) {
- //鍒犻櫎宸ヨ壓璺嚎璇︽儏
- processRouteItemService.remove(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getRouteId,Arrays.asList(ids)));
- return R.ok(processRouteService.removeBatchByIds(Arrays.asList(ids)));
+ return R.ok(processRouteService.batchDelete(Arrays.asList(ids)));
}
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductBomController.java b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
index 941951b..6fe8fa5 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductBomController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -37,6 +37,7 @@
@Autowired
private ProcessRouteService processRouteService;
+
@GetMapping("/listPage")
@Log(title = "BOM-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@ApiOperation("BOM-鍒嗛〉鏌ヨ")
@@ -63,10 +64,11 @@
@DeleteMapping("/batchDelete")
@Log(title = "鍒犻櫎", businessType = BusinessType.DELETE)
public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
- List<ProcessRoute> list = processRouteService.list(Wrappers.<ProcessRoute>lambdaQuery().in(ProcessRoute::getBomId, ids));
- if (list.size()>0){
- return AjaxResult.error("璇OM宸茬粡瀛樺湪瀵瑰簲鐨勫伐鑹鸿矾绾�,鏃犳硶杩涜鍒犻櫎");
- }
+// List<ProcessRoute> list = processRouteService.list(Wrappers.<ProcessRoute>lambdaQuery().in(ProcessRoute::getBomId, ids));
+// List<ProductProcessRoute> list2 = productProcessRouteService.list(Wrappers.<ProductProcessRoute>lambdaQuery().in(ProductProcessRoute::getBomId, ids));
+// if (list.size()>0 || list2.size()>0){
+// return AjaxResult.error("璇OM宸茬粡瀛樺湪瀵瑰簲鐨勫伐鑹鸿矾绾�,鏃犳硶杩涜鍒犻櫎");
+// }
if(CollectionUtils.isEmpty(ids)){
return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
deleted file mode 100644
index 0fad508..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.aspectj.lang.annotation.Log;
-import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductOrderDto;
-import com.ruoyi.production.pojo.ProductOrder;
-import com.ruoyi.production.service.ProductOrderService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-
-@RequestMapping("productOrder")
-@RestController
-@Api(tags = "鐢熶骇璁㈠崟")
-public class ProductOrderController {
-
- @Autowired
- private ProductOrderService productOrderService;
-
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @GetMapping("page")
- public R page(ProductOrderDto productOrder, Page page) {
- return R.ok(productOrderService.pageProductOrder(page, productOrder));
- }
-
- @ApiOperation("缁戝畾宸ヨ壓璺嚎")
- @PostMapping("/bindingRoute")
- public R bindingRoute(@RequestBody ProductOrder productOrder) {
- return R.ok(productOrderService.bindingRoute(productOrder));
- }
-
- @ApiOperation("鏌ヨ瑙勬牸鍨嬪彿瀵瑰簲鐨勫伐鑹鸿矾绾�")
- @GetMapping("/listProcessRoute")
- public R listProcessRoute(Long productModelId) {
- return R.ok(productOrderService.listProcessRoute(productModelId));
- }
-
- /**
- * 瀵煎嚭鐢熶骇璁㈠崟
- */
- @Log(title = "鐢熶骇璁㈠崟", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, ProductOrderDto productOrderDto) {
- List<ProductOrderDto> list;
- list = productOrderService.pageProductOrder(new Page<>(1, -1), productOrderDto).getRecords();
- ExcelUtil<ProductOrderDto> util = new ExcelUtil<ProductOrderDto>(ProductOrderDto.class);
- util.exportExcel(response, list, "鐢熶骇璁㈠崟鏁版嵁");
- }
-
- @ApiOperation("鏌ヨ鐢熶骇璁㈠崟瀵瑰簲鐨凚OM")
- @GetMapping("/listProcessBom")
- public R listProcessBom(Long orderId) {
- return R.ok(productOrderService.listProcessBom(orderId));
- }
-
-
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
index d50fb6a..78d7cfd 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
@@ -14,7 +14,6 @@
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -56,10 +55,7 @@
@DeleteMapping("/batchDelete")
@Log(title = "鍒犻櫎", businessType = BusinessType.DELETE)
public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
- if(CollectionUtils.isEmpty(ids)){
- return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
- }
- return AjaxResult.success(productProcessService.removeBatchByIds(ids));
+ return AjaxResult.success(productProcessService.batchDelete(ids));
}
@ApiOperation("鏌ヨ鎵�鏈夊伐搴�")
diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteController.java
deleted file mode 100644
index bb1b010..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteController.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.production.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-15 02:51:09
- */
-@RestController
-@RequestMapping("/productProcessRoute")
-public class ProductProcessRouteController {
-
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
deleted file mode 100644
index 2deb126..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.pojo.ProductProcessRouteItem;
-import com.ruoyi.production.service.ProductProcessRouteItemService;
-import com.ruoyi.production.service.ProductProcessRouteService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-@RequestMapping("/productProcessRoute")
-@RestController
-@AllArgsConstructor
-@Api(tags = "鐢熶骇宸ヨ壓璺嚎")
-public class ProductProcessRouteItemController {
-
-
- private ProductProcessRouteItemService productProcessRouteItemService;
- private ProductProcessRouteService productProcessRouteService;
-
- @GetMapping("list")
- @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓璺嚎瀛愯〃")
- public R list(Long orderId) {
- return R.ok(productProcessRouteItemService.listItem(orderId));
- }
-
- @GetMapping("listMain")
- @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓璺嚎涓昏〃")
- public R listMain(Long orderId) {
- return R.ok(productProcessRouteService.listMain(orderId));
- }
-
- @PostMapping("/addRouteItem")
- @ApiOperation("鏂板鐢熶骇璁㈠崟鐨勫伐鑹鸿矾绾胯鎯�")
- public R addRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
- return productProcessRouteItemService.addRouteItem(productProcessRouteItem);
- }
-
- @PostMapping("/updateRouteItem")
- @ApiOperation("淇敼鐢熶骇璁㈠崟鐨勫伐鑹鸿矾绾胯鎯�")
- public R updateRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
- return R.ok(productProcessRouteItemService.updateById(productProcessRouteItem));
- }
-
- @DeleteMapping("/deleteRouteItem/{id}")
- @ApiOperation("鍒犻櫎鐢熶骇宸ヨ壓璺嚎")
- public R deleteRouteItem(@PathVariable("id") Long id) {
- return productProcessRouteItemService.deleteRouteItem(id);
- }
-
- @PostMapping ("/sortRouteItem")
- @ApiOperation("鎺掑簭")
- public R sortRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
- return R.ok(productProcessRouteItemService.sortRouteItem(productProcessRouteItem));
- }
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
deleted file mode 100644
index f595d98..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductWorkOrderDto;
-import com.ruoyi.production.service.ProductWorkOrderService;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-@RestController
-@AllArgsConstructor
-@RequestMapping("/productWorkOrder")
-public class ProductWorkOrderController {
-
- private ProductWorkOrderService productWorkOrderservice;
-
-
- /**
- * 浜у搧宸ュ崟瀹炰綋绫诲垎椤垫煡璇�
- */
- @ApiOperation("浜у搧宸ュ崟瀹炰綋绫诲垎椤垫煡璇�")
- @GetMapping("/page")
- public R page(Page<ProductWorkOrderDto> page, ProductWorkOrderDto productWorkOrder) {
- return R.ok(productWorkOrderservice.listPage(page, productWorkOrder));
- }
-
- /**
- * 浜у搧宸ュ崟鏇存柊
- */
- @ApiOperation("浜у搧宸ュ崟鏇存柊")
- @PostMapping ("/updateProductWorkOrder")
- public R updateProductWorkOrder(@RequestBody ProductWorkOrderDto productWorkOrderDto) {
- return R.ok(productWorkOrderservice.updateProductWorkOrder(productWorkOrderDto));
- }
-
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java
deleted file mode 100644
index b4bf7dc..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductionProductInputDto;
-import com.ruoyi.production.service.ProductionProductInputService;
-import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RequestMapping("productionProductInput")
-@RestController
-@Api(value = "鐢熶骇鎶曞叆")
-public class ProductionProductInputController {
-
- @Autowired
- private ProductionProductInputService productionProductInputService;
-
- @GetMapping("listPage")
- public R page(Page<ProductionProductInputDto> page, ProductionProductInputDto productionProductInputDto) {
- return R.ok(productionProductInputService.listPageProductionProductInputDto(page, productionProductInputDto));
- }
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
deleted file mode 100644
index 4b9da77..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductionProductMainDto;
-import com.ruoyi.production.service.ProductionProductMainService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-@RequestMapping("productionProductMain")
-@RestController
-@Api(value = "鐢熶骇鎶ュ伐")
-public class ProductionProductMainController {
-
- @Autowired
- private ProductionProductMainService productionProductMainService;
-
- /**
- * 鎶ュ伐鏌ヨ
- * @param page
- * @param productionProductMainDto
- * @return
- */
- @GetMapping("listPage")
- public R page(Page<ProductionProductMainDto> page, ProductionProductMainDto productionProductMainDto) {
- return R.ok(productionProductMainService.listPageProductionProductMainDto(page, productionProductMainDto));
- }
-
- /**
- * 鎶ュ伐鏂板鏇存柊
- * @param productionProductMainDto
- * @return
- */
- @PostMapping("addProductMain")
- public R addProductMain(@RequestBody ProductionProductMainDto productionProductMainDto) {
- return R.ok(productionProductMainService.addProductMain(productionProductMainDto));
- }
-
- @ApiOperation("鍒犻櫎鎶ュ伐")
- @DeleteMapping("/delete")
- @Transactional(rollbackFor = Exception.class)
- public R delete(@RequestBody ProductionProductMainDto productionProductMainDto) {
- return R.ok(productionProductMainService.removeProductMain(productionProductMainDto));
- }
-}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductOutputController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductOutputController.java
deleted file mode 100644
index 68dde0a..0000000
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductOutputController.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.ruoyi.production.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductionProductOutputDto;
-import com.ruoyi.production.service.ProductionProductOutputService;
-import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RequestMapping("productionProductOutput")
-@RestController
-@Api(value = "鐢熶骇浜у嚭")
-public class ProductionProductOutputController {
-
- @Autowired
- private ProductionProductOutputService productionProductOutputService;
-
- @GetMapping("listPage")
- public R page(Page<ProductionProductOutputDto> page, ProductionProductOutputDto productionProductOutputDto) {
- return R.ok(productionProductOutputService.listPageProductionProductOutputDto(page, productionProductOutputDto));
- }
-}
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
index 4051ecf..38d57df 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
@@ -7,12 +7,8 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.production.dto.ProcessSchedulingDto;
import com.ruoyi.production.dto.ProductionReportDto;
-import com.ruoyi.production.dto.SalesLedgerSchedulingProcessDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
-import com.ruoyi.production.pojo.SalesLedgerWork;
-import com.ruoyi.production.service.SalesLedgerWorkService;
import com.ruoyi.production.service.impl.SalesLedgerWorkServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
diff --git a/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java b/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
index 6cf971e..87f29d7 100644
--- a/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
@@ -5,7 +5,6 @@
import lombok.Data;
import java.math.BigDecimal;
-import java.time.LocalDateTime;
/**
* @author :yys
@@ -30,7 +29,6 @@
@ApiModelProperty(value = "鎺掍骇鏁伴噺")
private BigDecimal schedulingNum;
-
/**
* 宸ユ椂瀹氶
*/
@@ -38,15 +36,47 @@
private BigDecimal workHours;
/**
+ * 浜х嚎
+ */
+ @ApiModelProperty(value = "浜х嚎")
+ private String productionLine;
+
+ /**
* 宸ュ簭
*/
@ApiModelProperty(value = "宸ュ簭")
private String process;
+
+
/**
* 鎺掍骇鏃ユ湡
*/
@ApiModelProperty(value = "鎺掍骇鏃ユ湡")
private String schedulingDate;
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ /**
+ * 鎹熻��
+ */
+ @ApiModelProperty(value = "鎹熻��")
+ private String loss;
+
+ /**
+ * 鍙e懗鍒嗙被
+ */
+ @ApiModelProperty(value = "鍙e懗鍒嗙被")
+ private String type;
+
+ /**
+ * 棰嗙敤
+ */
+ @ApiModelProperty(value = "棰嗙敤")
+ private String receive;
+
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
deleted file mode 100644
index b12803d..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.ruoyi.framework.aspectj.lang.annotation.Excel;
-import com.ruoyi.production.pojo.ProductOrder;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-@Data
-@ExcelIgnoreUnannotated
-public class ProductOrderDto extends ProductOrder {
-
- @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
- @Excel(name = "閿�鍞悎鍚屽彿")
- private String salesContractNo;
-
- @ApiModelProperty(value = "椤圭洰鍚�")
- @Excel(name = "椤圭洰鍚�")
- private String projectName;
-
- @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
- @Excel(name = "瀹㈡埛鍚嶇О")
- private String customerName;
-
- @ApiModelProperty(value = "浜у搧鍚嶇О")
- @Excel(name = "浜у搧鍚嶇О")
- private String productCategory;
-
- @ApiModelProperty(value = "瑙勬牸")
- @Excel(name = "瑙勬牸")
- private String specificationModel;
-
- @ApiModelProperty(value = "宸ヨ壓璺嚎缂栧彿")
- @Excel(name = "宸ヨ壓璺嚎缂栧彿")
- private String processRouteCode;
-
- @ApiModelProperty(value = "瀹屾垚鐘舵��")
- @Excel(name = "瀹屾垚鐘舵��")
- private BigDecimal completionStatus;
-
- @ApiModelProperty(value = "BOM缂栧彿")
- @Excel(name = "BOM缂栧彿")
- private String bomNo;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java b/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
deleted file mode 100644
index 5a0f4d2..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.ruoyi.production.pojo.ProductProcessRouteItem;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class ProductProcessRouteItemDto extends ProductProcessRouteItem {
-
- @ApiModelProperty(value = "宸ュ簭鍚嶇О")
- private String processName;
-
- @ApiModelProperty(value = "浜у搧鍚嶇О")
- private String productCategory;
-
- @ApiModelProperty(value = "鍗曚綅")
- private String unit;
-
- private Long productId;
-
- private String productName;
-
- private String model;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
deleted file mode 100644
index d8ef0f5..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.ruoyi.production.pojo.ProductWorkOrder;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.math.BigDecimal;
-
-@EqualsAndHashCode(callSuper = true)
-@Data
-public class ProductWorkOrderDto extends ProductWorkOrder {
-
- //浜у搧鍚嶇О
- @ApiModelProperty(value = "浜у搧鍚嶇О")
- private String productName;
-
- //瑙勬牸
- @ApiModelProperty(value = "瑙勬牸")
- private String model;
-
- //宸ュ簭
- @ApiModelProperty(value = "宸ュ簭")
- private String processName;
-
- //鍗曚綅
- @ApiModelProperty(value = "鍗曚綅")
- private String unit;
-
-
- //鐢熶骇璁㈠崟鍙�
- @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
- private String productOrderNpsNo;
-
- @ApiModelProperty(value = "瀹屾垚杩涘害")
- private BigDecimal completionStatus;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
index e78d868..6804f3f 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
@@ -38,4 +38,19 @@
@ApiModelProperty(value = "鎺掍骇鏃ユ湡")
private String schedulingDate;
+ /**
+ * 鐢熶骇鐐掓満
+ */
+ private String speculativeTradingName;
+ /**
+ * 浜х嚎
+ */
+ @ApiModelProperty(value = "浜х嚎")
+ private String productionLine;
+
+ /**
+ * 瑙勬牸鍨嬪彿
+ */
+ private String specificationModel;
+
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java
deleted file mode 100644
index 1e6e02e..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.ruoyi.production.pojo.ProductionProductInput;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class ProductionProductInputDto extends ProductionProductInput {
- @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
- private String productNo;
-
- @ApiModelProperty(value = "浜у搧鍨嬪彿")
- private String model;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
deleted file mode 100644
index f6aa5ba..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.ruoyi.production.pojo.ProductionProductMain;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-@Data
-public class ProductionProductMainDto extends ProductionProductMain {
- @ApiModelProperty(value = "宸ュ崟缂栧彿")
- private String workOrderNo;
-
- @ApiModelProperty(value = "宸ュ崟鐘舵��")
- private String workOrderStatus;
-
- @ApiModelProperty(value = "鎶ュ伐浜哄憳鏄电О")
- private String nickName;
-
- @ApiModelProperty(value = "鎶ュ伐鏁伴噺")
- private BigDecimal quantity;
-
- @ApiModelProperty(value = "鏄惁鎶ュ伐")
- private boolean reportWork;
-
- @ApiModelProperty(value = "鎶ュ伐id")
- private Long productMainId;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductOutputDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductOutputDto.java
deleted file mode 100644
index 6710342..0000000
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductOutputDto.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.production.dto;
-
-import com.ruoyi.production.pojo.ProductionProductOutput;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class ProductionProductOutputDto extends ProductionProductOutput {
- @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
- private String productNo;
-
- @ApiModelProperty(value = "浜у搧鍨嬪彿")
- private String model;
-}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java b/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
index 6b5e164..727decb 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
@@ -38,4 +38,16 @@
@ApiModelProperty(value = "鐢熶骇鏃ユ湡")
private String schedulingDate;
+
+ /**
+ * 鍏ュ簱鍗曚环
+ */
+ @ApiModelProperty(value = "鍏ュ簱鍗曚环")
+ private BigDecimal unitPrice;
+
+ /**
+ * 鍏ュ簱鎬讳环
+ */
+ @ApiModelProperty(value = "鍏ュ簱鎬讳环")
+ private BigDecimal totalPrice;
}
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
index 297f6b9..6707622 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
@@ -1,5 +1,7 @@
package com.ruoyi.production.dto;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,6 +14,7 @@
*/
@Data
@ApiModel
+@ExcelIgnoreUnannotated
public class SalesLedgerProductionAccountingDto extends SalesLedgerProductDto{
/**
@@ -24,6 +27,7 @@
* 鎺掍骇浜哄悕绉�
*/
@ApiModelProperty(value = "鐢熶骇浜哄悕绉�")
+ @Excel(name = "鐢熶骇浜�")
private String schedulingUserName;
@@ -31,29 +35,34 @@
* 宸ヨ祫
*/
@ApiModelProperty(value = "宸ヨ祫")
+ @Excel(name = "宸ヨ祫")
private BigDecimal wages;
/**
* 鐢熶骇鏁伴噺
*/
@ApiModelProperty(value = "鐢熶骇鏁伴噺")
+ @Excel(name = "鐢熶骇鏁伴噺")
private BigDecimal finishedNum;
/**
* 宸ユ椂瀹氶
*/
@ApiModelProperty(value = "宸ユ椂瀹氶")
+ @Excel(name = "宸ユ椂瀹氶")
private BigDecimal workHours;
/**
* 宸ュ簭
*/
@ApiModelProperty(value = "宸ュ簭")
+ @Excel(name = "宸ュ簭")
private String process;
/**
* 鎺掍骇鏃ユ湡
*/
@ApiModelProperty(value = "鎺掍骇鏃ユ湡")
+ @Excel(name = "鐢熶骇鏃ユ湡")
private String schedulingDate;
@ApiModelProperty(value = "寮�濮嬫椂闂�")
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java
deleted file mode 100644
index 9da50d5..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.production.dto.ProductOrderDto;
-import com.ruoyi.production.dto.ProductStructureDto;
-import com.ruoyi.production.pojo.ProcessRoute;
-import com.ruoyi.production.pojo.ProductOrder;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProductOrderMapper extends BaseMapper<ProductOrder> {
-
- IPage<ProductOrderDto> pageProductOrder(Page page, @Param("c") ProductOrderDto productOrder);
- /**
- * 鏍规嵁璁㈠崟ID鏌ヨ宸ュ崟鎶ュ伐
- */
- ProductOrderDto productMainByOrderId(@Param("c") ProductOrder productOrder);
-
- List<ProcessRoute> listProcessRoute(@Param("productModelId") Long productModelId);
-
- List<ProductStructureDto> listProcessBom(@Param("orderId") Long orderId);
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteItemMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteItemMapper.java
deleted file mode 100644
index 48b38ec..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteItemMapper.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.production.dto.ProductProcessRouteItemDto;
-import com.ruoyi.production.pojo.ProductProcessRouteItem;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProductProcessRouteItemMapper extends BaseMapper<ProductProcessRouteItem> {
- List<ProductProcessRouteItemDto> listItem(@Param("orderId") Long orderId);
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteMapper.java
deleted file mode 100644
index 9284c5d..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductProcessRouteMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.production.dto.ProcessRouteDto;
-import com.ruoyi.production.pojo.ProductProcessRoute;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * <p>
- * Mapper 鎺ュ彛
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-15 02:51:09
- */
-@Mapper
-public interface ProductProcessRouteMapper extends BaseMapper<ProductProcessRoute> {
-
- ProcessRouteDto listMain(@Param("orderId") Long orderId);
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
index 5acd2ec..a1ce7a8 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
@@ -13,5 +13,5 @@
List<ProductStructureDto> listBybomId(@Param("bomId") Long bomId);
- List<ProductStructureDto> listByproductModelId(@Param("productModelId") Long productModelId);
+ List<ProductStructureDto> listBybomAndProcess(@Param("bomId") Long bomId, @Param("processId") Long processId);
}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductWorkOrderMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductWorkOrderMapper.java
deleted file mode 100644
index b581ea5..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductWorkOrderMapper.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.production.dto.ProductWorkOrderDto;
-import com.ruoyi.production.pojo.ProductWorkOrder;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface ProductWorkOrderMapper extends BaseMapper<ProductWorkOrder> {
-
- IPage<ProductWorkOrderDto> pageProductWorkOrder(Page<ProductWorkOrderDto> page, @Param("c") ProductWorkOrderDto productWorkOrder);
-
- int updatePlanQuantity(Map<String, Object> params);
-
- /**
- * 鍥炴粴宸ュ崟璁″垝鏁伴噺锛氫粠production_product_output鍙杚uantity鍔犲洖plan_quantity
- * @param productMainId
- * @return
- */
- int rollbackPlanQuantity(@Param("productMainId") Long productMainId);
-
- List<ProductWorkOrderDto> selectProductWorkOrderDtoList();
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
deleted file mode 100644
index 78e7d2a..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.production.dto.ProductionProductInputDto;
-import com.ruoyi.production.pojo.ProductionProductInput;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProductionProductInputMapper extends BaseMapper<ProductionProductInput> {
- IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, @Param("c") ProductionProductInputDto productionProductInputDto);
-
- /**
- * 鏍规嵁鐢熶骇涓昏〃ID鎵归噺鍒犻櫎鎶曞叆琛ㄦ暟鎹�
- */
- int deleteByProductMainIds(@Param("productMainIds") List<Long> productMainIds);
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
deleted file mode 100644
index c9d1268..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.production.dto.ProductionProductMainDto;
-import com.ruoyi.production.pojo.ProductionProductMain;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProductionProductMainMapper extends BaseMapper<ProductionProductMain> {
-
- IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, @Param("c") ProductionProductMainDto productionProductMainDto);
-
- /**
- * 鏍规嵁宸ュ崟ID鎵归噺鍒犻櫎鐢熶骇涓昏〃鏁版嵁
- */
- int deleteByWorkOrderIds(@Param("workOrderIds") List<Long> workOrderIds);
-}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java
deleted file mode 100644
index 0283d42..0000000
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.production.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.production.dto.ProductionProductOutputDto;
-import com.ruoyi.production.pojo.ProductionProductOutput;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-@Mapper
-public interface ProductionProductOutputMapper extends BaseMapper<ProductionProductOutput> {
- IPage<ProductionProductOutputDto> listPageProductionProductOutputDto(Page page, @Param("c") ProductionProductOutputDto productionProductOutputDto);
-
- /**
- * 鏍规嵁鐢熶骇涓昏〃ID鎵归噺鍒犻櫎浜у嚭琛ㄦ暟鎹�
- */
- int deleteByProductMainIds(@Param("productMainIds") List<Long> productMainIds);
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
deleted file mode 100644
index f6342a9..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.framework.aspectj.lang.annotation.Excel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@Data
-@TableName("product_order")
-public class ProductOrder implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 閿�鍞彴璐d
- */
- @ApiModelProperty(value = "閿�鍞彴璐d")
- private Long salesLedgerId;
-
- /**
- * 閿�鍞彴璐︿骇鍝乮d(sales_ledger_product)
- */
- @ApiModelProperty(value = "閿�鍞彴璐︿骇鍝乮d")
- private Long productModelId;
-
- /**
- * 宸ヨ壓璺嚎id
- */
- @ApiModelProperty(value = "宸ヨ壓璺嚎id")
- private Long routeId;
-
- /**
- * 鐢熶骇璁㈠崟鍙�
- */
- @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
- @Excel(name = "鐢熶骇璁㈠崟鍙�")
- private String npsNo;
-
- /**
- * 绉熸埛id
- */
- @ApiModelProperty(value = "绉熸埛id")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-
- //鍒涘缓鏃堕棿
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @Excel(name = "鍒涘缓鏃堕棿")
- private LocalDateTime createTime;
-
- //淇敼鏃堕棿
- @ApiModelProperty(value = "淇敼鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
-
-
- /**
- * 闇�姹傛暟閲�
- */
- @ApiModelProperty(value = "闇�姹傛暟閲�")
- @Excel(name = "闇�姹傛暟閲�")
- private BigDecimal quantity;
-
- /**
- * 瀹屾垚鏁伴噺
- */
- @ApiModelProperty(value = "瀹屾垚鏁伴噺")
- @Excel(name = "瀹屾垚鏁伴噺")
- private BigDecimal completeQuantity;
-
- @Excel(name = "寮�濮嬫椂闂�")
- @ApiModelProperty(value = "寮�濮嬫椂闂�")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime startTime;
-
- @ApiModelProperty(value = "缁撴潫鏃堕棿")
- @Excel(name = "缁撴潫鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime endTime;
-
-
-
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductProcessRoute.java b/src/main/java/com/ruoyi/production/pojo/ProductProcessRoute.java
deleted file mode 100644
index c0881ea..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductProcessRoute.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-15 02:51:09
- */
-@Getter
-@Setter
-@TableName("product_process_route")
-@ApiModel(value = "ProductProcessRoute瀵硅薄", description = "")
-public class ProductProcessRoute implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- @ApiModelProperty("浜у搧id")
- //product_model
- private Long productModelId;
-
- @ApiModelProperty("鎻忚堪")
- private String description;
-
- @ApiModelProperty("绉熸埛id")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-
- @ApiModelProperty("褰曞叆鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty("鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty("鍏宠仈bom鐨刬d")
- private Long bomId;
-
- @ApiModelProperty("宸ヨ壓璺嚎缂栫爜")
- private String processRouteCode;
-
- @ApiModelProperty("鐢熶骇璁㈠崟鐨刬d")
- private Long productOrderId;
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductProcessRouteItem.java b/src/main/java/com/ruoyi/production/pojo/ProductProcessRouteItem.java
deleted file mode 100644
index 4b6762c..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductProcessRouteItem.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-@TableName("product_process_route_item")
-public class ProductProcessRouteItem {
-
- @TableId(type = IdType.AUTO)
- private Long id;
-
- @ApiModelProperty(value = "鐢熶骇璁㈠崟id(product_order_id)")
- private Long productOrderId;
-
- @ApiModelProperty(value = "鐢熶骇璁㈠崟鐨勫伐鑹鸿矾绾縤d(product_process_route)")
- private Long productRouteId;
-
- @ApiModelProperty(value = "宸ュ簭id")
- private Long processId;
-
- @ApiModelProperty(value ="浜у搧id")
- private Long productModelId;
-
- @ApiModelProperty(value = "绉熸埛ID")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
- @TableField(fill = FieldFill.INSERT)
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private LocalDateTime createTime;
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty(value ="鎷栧姩鎺掑簭")
- private Integer dragSort;
-
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
deleted file mode 100644
index d4b950e..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-/**
- * 浜у搧宸ュ崟瀹炰綋绫�
- * 瀵瑰簲鏁版嵁搴撹〃锛歱roduct_work_order
- */
-@Data
-@TableName("product_work_order")
-public class ProductWorkOrder implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * 涓婚敭id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 宸ヨ壓璺嚎椤圭洰id
- */
- @ApiModelProperty(value = "宸ヨ壓璺嚎椤圭洰id")
- private Long productProcessRouteItemId;
-
- /**
- * 鐢熶骇璁㈠崟id
- */
- @ApiModelProperty(value = "鐢熶骇璁㈠崟id")
- private Long productOrderId;
-
- /**
- * 鍒涘缓鏃堕棿
- */
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
-
- /**
- * 淇敼鏃堕棿
- */
- @ApiModelProperty(value = "淇敼鏃堕棿")
- @TableField(fill = FieldFill.INSERT_UPDATE)
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
-
- /**
- * 宸ュ崟缂栧彿
- */
- @ApiModelProperty(value = "宸ュ崟缂栧彿")
- private String workOrderNo;
-
- /**
- * 鐘舵�� 1 寰呯‘璁� 2 寰呯敓浜� 3鐢熶骇涓� 4宸插畬鎴�
- */
- @ApiModelProperty(value = "鐘舵�� 1 寰呯‘璁� 2 寰呯敓浜� 3鐢熶骇涓� 4宸插畬鎴�")
- private Integer status;
-
- /**
- * 绉熸埛id
- */
- @ApiModelProperty(value = "绉熸埛id")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-
- /**
- * 璁″垝寮�濮嬫椂闂�
- */
- @ApiModelProperty(value = "璁″垝寮�濮嬫椂闂�")
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate planStartTime;
-
- /**
- * 璁″垝缁撴潫鏃堕棿
- */
- @ApiModelProperty(value = "璁″垝缁撴潫鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate planEndTime;
-
- /**
- * 瀹為檯寮�濮嬫椂闂�
- */
- @ApiModelProperty(value = "瀹為檯寮�濮嬫椂闂�")
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate actualStartTime;
-
- /**
- * 瀹為檯缁撴潫鏃堕棿
- */
- @ApiModelProperty(value = "瀹為檯缁撴潫鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private LocalDate actualEndTime;
-
- /**
- * 闇�姹傞噺
- */
- @ApiModelProperty(value = "闇�姹傛暟閲�")
- private BigDecimal planQuantity;
-
- /**
- * 瀹屾垚鏁伴噺
- */
- @ApiModelProperty(value = "瀹屾垚鏁伴噺")
- private BigDecimal completeQuantity;
-
-
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
deleted file mode 100644
index c938170..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@Data
-@TableName("production_product_input")
-public class ProductionProductInput {
-
- @TableId(type = IdType.AUTO)
- private Long id;
-
- @ApiModelProperty(value = "鎶ュ伐id")
- private Long productMainId;
-
- @ApiModelProperty(value = "浜у搧id")
- private Long productModelId;
-
- @ApiModelProperty(value = "鏁伴噺")
- private BigDecimal quantity;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private LocalDateTime createTime;
-
- @ApiModelProperty(value = "绉熸埛ID")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
deleted file mode 100644
index 3dbe688..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-@TableName("production_product_main")
-public class ProductionProductMain {
-
- @TableId(type = IdType.AUTO)
- private Long id;
-
- @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
- private String productNo;
-
- @ApiModelProperty(value = "鎶ュ伐浜哄憳id")
- private Long userId;
-
- @ApiModelProperty(value = "鎶ュ伐浜哄憳")
- private String userName;
-
- @ApiModelProperty(value = "鐢熶骇椤圭洰id")
- private Long productProcessRouteItemId;
-
- @ApiModelProperty(value = "宸ュ崟id")
- private Long workOrderId;
-
- @ApiModelProperty(value = "鎶ュ伐鐘舵��")
- private Integer status;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @ApiModelProperty(value = "鏇存柊鏃堕棿")
- @TableField(fill = FieldFill.UPDATE)
- private LocalDateTime updateTime;
-
- @ApiModelProperty(value = "绉熸埛ID")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
deleted file mode 100644
index 20e52ad..0000000
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.production.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@Data
-@TableName("production_product_output")
-public class ProductionProductOutput {
-
- @TableId(type = IdType.AUTO)
- private Long id;
-
- @ApiModelProperty(value = "鎶ュ伐id")
- private Long productMainId;
-
- @ApiModelProperty(value = "浜у搧id")
- private Long productModelId;
-
- @ApiModelProperty(value = "鏁伴噺")
- private BigDecimal quantity;
-
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- private LocalDateTime createTime;
-
- @ApiModelProperty(value = "绉熸埛ID")
- @TableField(fill = FieldFill.INSERT)
- private Long tenantId;
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProcessRouteService.java b/src/main/java/com/ruoyi/production/service/ProcessRouteService.java
index 07d5b7c..f7e7dba 100644
--- a/src/main/java/com/ruoyi/production/service/ProcessRouteService.java
+++ b/src/main/java/com/ruoyi/production/service/ProcessRouteService.java
@@ -6,9 +6,13 @@
import com.ruoyi.production.dto.ProcessRouteDto;
import com.ruoyi.production.pojo.ProcessRoute;
+import java.util.List;
+
public interface ProcessRouteService extends IService<ProcessRoute> {
IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto);
Integer saveProcessRoute(ProcessRoute processRoute);
+
+ int batchDelete(List<Long> ids);
}
diff --git a/src/main/java/com/ruoyi/production/service/ProductOrderService.java b/src/main/java/com/ruoyi/production/service/ProductOrderService.java
deleted file mode 100644
index e35905f..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductOrderService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProductOrderDto;
-import com.ruoyi.production.dto.ProductStructureDto;
-import com.ruoyi.production.pojo.ProcessRoute;
-import com.ruoyi.production.pojo.ProductOrder;
-
-import java.util.List;
-
-
-public interface ProductOrderService extends IService<ProductOrder> {
-
- IPage<ProductOrderDto> pageProductOrder(Page page, ProductOrderDto productOrder);
-
- int bindingRoute(ProductOrder productOrder);
-
- List<ProcessRoute> listProcessRoute(Long productModelId);
-
- List<ProductStructureDto> listProcessBom(Long orderId);
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductProcessRouteItemService.java b/src/main/java/com/ruoyi/production/service/ProductProcessRouteItemService.java
deleted file mode 100644
index c37eea1..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductProcessRouteItemService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductProcessRouteItemDto;
-import com.ruoyi.production.pojo.ProductProcessRouteItem;
-
-import java.util.List;
-
-public interface ProductProcessRouteItemService extends IService<ProductProcessRouteItem> {
- List<ProductProcessRouteItemDto> listItem(Long orderId);
-
- R deleteRouteItem(Long id);
-
- R addRouteItem(ProductProcessRouteItem productProcessRouteItem);
-
- int sortRouteItem(ProductProcessRouteItem productProcessRouteItem);
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductProcessRouteService.java b/src/main/java/com/ruoyi/production/service/ProductProcessRouteService.java
deleted file mode 100644
index 37ddb71..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductProcessRouteService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProcessRouteDto;
-import com.ruoyi.production.pojo.ProductProcessRoute;
-
-/**
- * <p>
- * 鏈嶅姟绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-15 02:51:09
- */
-public interface ProductProcessRouteService extends IService<ProductProcessRoute> {
-
- ProcessRouteDto listMain(Long orderId);
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductProcessService.java b/src/main/java/com/ruoyi/production/service/ProductProcessService.java
index 4752c25..3964166 100644
--- a/src/main/java/com/ruoyi/production/service/ProductProcessService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductProcessService.java
@@ -8,6 +8,8 @@
import com.ruoyi.production.pojo.ProductProcess;
import org.springframework.web.multipart.MultipartFile;
+import java.util.List;
+
/**
* @author :yys
* @date : 2025/7/21 14:39
@@ -18,4 +20,6 @@
AjaxResult add(ProductProcessDto productProcessDto);
AjaxResult importData(MultipartFile file);
+
+ String batchDelete(List<Integer> ids);
}
diff --git a/src/main/java/com/ruoyi/production/service/ProductWorkOrderService.java b/src/main/java/com/ruoyi/production/service/ProductWorkOrderService.java
deleted file mode 100644
index 392230e..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductWorkOrderService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProductWorkOrderDto;
-import com.ruoyi.production.pojo.ProductWorkOrder;
-
-public interface ProductWorkOrderService extends IService<ProductWorkOrder>{
-
- IPage<ProductWorkOrderDto> listPage(Page<ProductWorkOrderDto> page, ProductWorkOrderDto productWorkOrder);
-
- int updateProductWorkOrder(ProductWorkOrderDto productWorkOrderDto);
-
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java b/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java
deleted file mode 100644
index 1af1772..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProductionProductInputDto;
-import com.ruoyi.production.pojo.ProductionProductInput;
-
-public interface ProductionProductInputService extends IService<ProductionProductInput> {
- IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, ProductionProductInputDto productionProductInputDto);
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
deleted file mode 100644
index 1ef2fae..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProductionProductMainDto;
-import com.ruoyi.production.pojo.ProductionProductMain;
-
-public interface ProductionProductMainService extends IService<ProductionProductMain> {
- IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto);
-
- Boolean addProductMain(ProductionProductMainDto productionProductMainDto);
-
- Boolean removeProductMain(ProductionProductMainDto productionProductMainDto);
-}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductOutputService.java b/src/main/java/com/ruoyi/production/service/ProductionProductOutputService.java
deleted file mode 100644
index dea72b5..0000000
--- a/src/main/java/com/ruoyi/production/service/ProductionProductOutputService.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ruoyi.production.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.production.dto.ProductionProductOutputDto;
-import com.ruoyi.production.pojo.ProductionProductOutput;
-
-public interface ProductionProductOutputService extends IService<ProductionProductOutput> {
- IPage<ProductionProductOutputDto> listPageProductionProductOutputDto(Page page, ProductionProductOutputDto productionProductOutputDto);
-}
diff --git a/src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java b/src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java
index b219515..b99855f 100644
--- a/src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java
+++ b/src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductionReportDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
import com.ruoyi.production.pojo.SalesLedgerWork;
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
index 1e48b8b..8c5543c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -1,11 +1,14 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.production.dto.ProcessRouteDto;
+import com.ruoyi.production.mapper.ProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProcessRouteMapper;
import com.ruoyi.production.pojo.ProcessRoute;
+import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.service.ProcessRouteService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -14,6 +17,7 @@
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
+import java.util.List;
@Service
@AllArgsConstructor
@@ -22,6 +26,11 @@
@Autowired
private ProcessRouteMapper processRouteMapper;
+
+ @Autowired
+ private ProcessRouteItemMapper processRouteItemMapper;
+
+
@Override
public IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) {
@@ -39,4 +48,16 @@
processRoute.setProcessRouteCode(newProductCode);
return processRouteMapper.updateById(processRoute);
}
+
+ @Override
+ public int batchDelete(List<Long> ids) {
+// //鍏堝垽鏂槸鍚﹀凡缁忓紩鐢ㄤ簡
+// List<ProductOrder> productOrders = productOrderMapper.selectList(Wrappers.<ProductOrder>lambdaQuery().in(ProductOrder::getRouteId, ids));
+// if (productOrders.size()>0){
+// throw new RuntimeException("璇ュ伐鑹鸿矾绾跨敓浜у凡寮曠敤锛屼笉鑳藉垹闄�");
+// }
+ //鍒犻櫎宸ヨ壓璺嚎璇︽儏
+ processRouteItemMapper.delete(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getRouteId, ids));
+ return processRouteMapper.deleteBatchIds(ids);
+ }
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
deleted file mode 100644
index 66f9617..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.production.dto.ProductOrderDto;
-import com.ruoyi.production.dto.ProductStructureDto;
-import com.ruoyi.production.mapper.*;
-import com.ruoyi.production.pojo.*;
-import com.ruoyi.production.service.ProductOrderService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-
-@Service
-public class ProductOrderServiceImpl extends ServiceImpl<ProductOrderMapper, ProductOrder> implements ProductOrderService {
-
- @Autowired
- private ProductOrderMapper productOrderMapper;
-
- @Autowired
- private ProcessRouteMapper processRouteMapper;
-
- @Autowired
- private ProductProcessRouteMapper productProcessRouteMapper;
-
- @Autowired
- private ProcessRouteItemMapper processRouteItemMapper;
-
- @Autowired
- private ProductProcessRouteItemMapper productProcessRouteItemMapper;
-
- @Autowired
- private ProductWorkOrderMapper productWorkOrderMapper;
-
-
- @Override
- public IPage<ProductOrderDto> pageProductOrder(Page page, ProductOrderDto productOrder) {
- return productOrderMapper.pageProductOrder(page, productOrder);
- }
-
- @Override
- public int bindingRoute(ProductOrder productOrder) {
- //鏂板鐢熶骇璁㈠崟涓嬬殑宸ヨ壓璺嚎涓昏〃
- ProcessRoute processRoute = processRouteMapper.selectById(productOrder.getRouteId());
- ProductProcessRoute productProcessRoute = new ProductProcessRoute();
- productProcessRoute.setProductModelId(processRoute.getProductModelId());
- productProcessRoute.setProcessRouteCode(processRoute.getProcessRouteCode());
- productProcessRoute.setProductOrderId(productOrder.getId());
- productProcessRoute.setBomId(processRoute.getBomId());
- productProcessRouteMapper.insert(productProcessRoute);
- //鏂板鐢熶骇璁㈠崟涓嬬殑宸ヨ壓璺嚎瀛愯〃
- List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
- // 鐢熸垚褰撳墠鏃ユ湡鐨勫墠缂�锛氬勾鏈堟棩
- String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
- for (ProcessRouteItem processRouteItem : processRouteItems) {
- ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
- productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());
- productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
- productProcessRouteItem.setProductOrderId(productOrder.getId());
- productProcessRouteItem.setProductRouteId(productProcessRoute.getId());
- int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
- if (insert > 0) {
- // 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
- QueryWrapper<ProductWorkOrder> queryWrapper = new QueryWrapper<>();
- queryWrapper.likeRight("work_order_no", datePrefix)
- .orderByDesc("work_order_no")
- .last("LIMIT 1");
- ProductWorkOrder lastWorkOrder = productWorkOrderMapper.selectOne(queryWrapper);
- int sequenceNumber = 1; // 榛樿搴忓彿
- if (lastWorkOrder != null && lastWorkOrder.getWorkOrderNo() != null) {
- String lastNo = lastWorkOrder.getWorkOrderNo().toString();
- if (lastNo.startsWith(datePrefix)) {
- String seqStr = lastNo.substring(datePrefix.length());
- try {
- sequenceNumber = Integer.parseInt(seqStr) + 1;
- } catch (NumberFormatException e) {
- sequenceNumber = 1;
- }
- }
- }
- // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
- String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
- ProductWorkOrder productWorkOrder = new ProductWorkOrder();
- productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
- productWorkOrder.setProductOrderId(productOrder.getId());
- productWorkOrder.setPlanQuantity(productOrder.getQuantity());
- productWorkOrder.setWorkOrderNo(workOrderNoStr);
- productWorkOrder.setStatus(1);
- productWorkOrderMapper.insert(productWorkOrder);
- }
- }
- return productOrderMapper.updateById(productOrder);
- }
-
- @Override
- public List<ProcessRoute> listProcessRoute(Long productModelId) {
- return productOrderMapper.listProcessRoute(productModelId);
- }
-
- @Override
- public List<ProductStructureDto> listProcessBom(Long orderId) {
- return productOrderMapper.listProcessBom(orderId);
- }
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
deleted file mode 100644
index 47cba0e..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
+++ /dev/null
@@ -1,198 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductProcessRouteItemDto;
-import com.ruoyi.production.mapper.*;
-import com.ruoyi.production.pojo.*;
-import com.ruoyi.production.service.ProductProcessRouteItemService;
-import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.pojo.QualityInspect;
-import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-
-@Service
-@Transactional(rollbackFor = Exception.class)
-@AllArgsConstructor
-public class ProductProcessRouteItemServiceImpl extends ServiceImpl<ProductProcessRouteItemMapper, ProductProcessRouteItem> implements ProductProcessRouteItemService {
-
-
- private ProductProcessRouteItemMapper productProcessRouteItemMapper;
-
- private ProductionProductMainMapper productionProductMainMapper;
-
- private ProductionProductInputMapper productionProductInputMapper;
-
- private ProductionProductOutputMapper productionProductOutputMapper;
-
- private QualityInspectMapper qualityInspectMapper;
-
- private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-
- private ProductWorkOrderMapper productWorkOrderMapper;
-
- private ProductOrderMapper productOrderMapper;
-
- private ProductProcessRouteMapper productProcessRouteMapper;
-
- private SalesLedgerProductMapper salesLedgerProductMapper;
-
-
- @Override
- public List<ProductProcessRouteItemDto> listItem(Long orderId) {
- return productProcessRouteItemMapper.listItem(orderId);
- }
-
- @Override
- public R deleteRouteItem(Long id) {
- Long routeItemId = id;
- try {
- // 鏌ヨ宸ュ崟
- ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectOne(
- new LambdaQueryWrapper<ProductWorkOrder>()
- .eq(ProductWorkOrder::getProductProcessRouteItemId, routeItemId)
- .last("LIMIT 1")
- );
- if (productWorkOrder == null) {
- throw new RuntimeException("鍒犻櫎澶辫触锛氭湭鎵惧埌鍏宠仈鐨勭敓浜у伐鍗�");
- }
- Long workOrderId = productWorkOrder.getId();
- Long productOrderId = productWorkOrder.getProductOrderId();
- // 鏌ヨ鐢熶骇涓昏〃
- List<ProductionProductMain> productionProductMains = productionProductMainMapper.selectList(
- new LambdaQueryWrapper<ProductionProductMain>()
- .eq(ProductionProductMain::getWorkOrderId, workOrderId)
- );
- if (!productionProductMains.isEmpty()) {
- // 鎵归噺鍒犻櫎瀛愯〃
- for (ProductionProductMain main : productionProductMains) {
- Long mainId = main.getId();
- // 鍒犻櫎鎶曞叆
- productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>()
- .eq(ProductionProductInput::getProductMainId, mainId));
- // 鍒犻櫎浜у嚭
- productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
- .eq(ProductionProductOutput::getProductMainId, mainId));
- // 鍒犻櫎璐ㄦ
- qualityInspectMapper.delete(new LambdaQueryWrapper<QualityInspect>()
- .eq(QualityInspect::getProductMainId, mainId));
- }
- }
- // 鍒犻櫎鎶ュ伐锛堢敓浜т富琛級
- productionProductMainMapper.delete(new LambdaQueryWrapper<ProductionProductMain>()
- .eq(ProductionProductMain::getWorkOrderId, workOrderId));
- // 鏌ヨ璁㈠崟 + 鍒犻櫎鏍哥畻
- ProductOrder productOrder = productOrderMapper.selectById(productOrderId);
- if (productOrder != null && productOrder.getSalesLedgerId() != null) {
- salesLedgerProductionAccountingMapper.delete(new LambdaQueryWrapper<SalesLedgerProductionAccounting>()
- .eq(SalesLedgerProductionAccounting::getSalesLedgerId, productOrder.getSalesLedgerId()));
- }
- // 鍒犻櫎鍏宠仈宸ュ崟
- productWorkOrderMapper.delete(new LambdaQueryWrapper<ProductWorkOrder>()
- .eq(ProductWorkOrder::getProductProcessRouteItemId, routeItemId));
-
- // 鍒犻櫎涓昏〃鏁版嵁
- ProductProcessRouteItem deleteProductProcessRouteItem = productProcessRouteItemMapper.selectById(routeItemId);
- Long productRouteId = deleteProductProcessRouteItem.getProductRouteId();
- // 鍒犻櫎鎸囧畾鏁版嵁
- productProcessRouteItemMapper.deleteById(id);
- // 鏌ヨ璇ュ伐鑹鸿矾绾跨殑鎵�鏈夊伐搴忓苟鎸夌収椤哄簭鎺掑簭
- List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery()
- .eq(ProductProcessRouteItem::getProductRouteId, productRouteId)
- .orderByAsc(ProductProcessRouteItem::getDragSort));
- // 閲嶆柊璁剧疆鎺掑簭鍊硷紝浣垮簭鍙疯繛缁�
- for (int i = 0; i < productProcessRouteItems.size(); i++) {
- ProductProcessRouteItem item = productProcessRouteItems.get(i);
- if (!item.getDragSort().equals(i + 1)) {
- item.setDragSort(i + 1);
- productProcessRouteItemMapper.updateById(item);
- }
- }
- return R.ok();
- } catch (Exception e) {
- throw new RuntimeException("鍒犻櫎鐢熶骇宸ヨ壓璺嚎澶辫触锛�" + e.getMessage());
- }
- }
-
- @Override
- public R addRouteItem(ProductProcessRouteItem productProcessRouteItem) {
- ProductOrder productOrder = productOrderMapper.selectById(productProcessRouteItem.getProductOrderId());
- int insert = productProcessRouteItemMapper.insert(productProcessRouteItem);
- // 鐢熸垚褰撳墠鏃ユ湡鐨勫墠缂�锛氬勾鏈堟棩
- String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
- if (insert > 0) {
- // 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶у伐鍗曞彿
- QueryWrapper<ProductWorkOrder> queryWrapper = new QueryWrapper<>();
- queryWrapper.likeRight("work_order_no", datePrefix)
- .orderByDesc("work_order_no")
- .last("LIMIT 1");
- ProductWorkOrder lastWorkOrder = productWorkOrderMapper.selectOne(queryWrapper);
- int sequenceNumber = 1; // 榛樿搴忓彿
- if (lastWorkOrder != null && lastWorkOrder.getWorkOrderNo() != null) {
- String lastNo = lastWorkOrder.getWorkOrderNo().toString();
- if (lastNo.startsWith(datePrefix)) {
- String seqStr = lastNo.substring(datePrefix.length());
- try {
- sequenceNumber = Integer.parseInt(seqStr) + 1;
- } catch (NumberFormatException e) {
- sequenceNumber = 1;
- }
- }
- }
- // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
- String workOrderNoStr = String.format("%s%03d", datePrefix, sequenceNumber);
- ProductWorkOrder productWorkOrder = new ProductWorkOrder();
- productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
- productWorkOrder.setProductOrderId(productProcessRouteItem.getProductOrderId());
- productWorkOrder.setPlanQuantity(productOrder.getQuantity());
- productWorkOrder.setWorkOrderNo(workOrderNoStr);
- productWorkOrder.setStatus(1);
- productWorkOrderMapper.insert(productWorkOrder);
- }
- return R.ok();
- }
-
- @Override
- public int sortRouteItem(ProductProcessRouteItem productProcessRouteItem) {
- //鏌ヨ琚敼鍔ㄧ殑杩欐潯鏁版嵁
- ProductProcessRouteItem oldProductProcessRouteItem = productProcessRouteItemMapper.selectById(productProcessRouteItem.getId());
- //鏌ヨ璇ュ伐鑹鸿矾绾跨殑鎵�鏈夊伐搴忓苟鎸夌収椤哄簭鎺掑簭
- List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery()
- .eq(ProductProcessRouteItem::getProductRouteId, oldProductProcessRouteItem.getProductRouteId())
- .orderByAsc(ProductProcessRouteItem::getDragSort));
- // 鑾峰彇鐩爣浣嶇疆锛堢Щ鍔ㄥ埌绗嚑涓箣鍚庯級
- Integer targetPosition = productProcessRouteItem.getDragSort();
- if (targetPosition != null && targetPosition >= 0) {
- // 绉诲姩鍏冪礌鍒版柊鐨勪綅缃�
- productProcessRouteItems.remove(oldProductProcessRouteItem);
- productProcessRouteItems.add(targetPosition-1, oldProductProcessRouteItem);
- // 鏇存柊鎵�鏈夊彈褰卞搷鐨勬帓搴忓瓧娈�
- for (int i = 0; i < productProcessRouteItems.size(); i++) {
- ProductProcessRouteItem item = productProcessRouteItems.get(i);
- if (!item.getId().equals(oldProductProcessRouteItem.getId())) {
- // 妫�鏌ユ槸鍚﹂渶瑕佹洿鏂版帓搴忓��
- if (item.getDragSort() != i+1) {
- item.setDragSort(i+1);
- productProcessRouteItemMapper.updateById(item);
- }
- } else {
- // 鏇存柊鍘熻褰曠殑鏂版帓搴忎綅缃�
- oldProductProcessRouteItem.setDragSort(targetPosition);
- productProcessRouteItemMapper.updateById(oldProductProcessRouteItem);
- }
- }
- return 1;
- }
- return 0;
- }
-
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteServiceImpl.java
deleted file mode 100644
index b856e34..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteServiceImpl.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.production.dto.ProcessRouteDto;
-import com.ruoyi.production.mapper.ProductProcessRouteMapper;
-import com.ruoyi.production.pojo.ProductProcessRoute;
-import com.ruoyi.production.service.ProductProcessRouteService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-15 02:51:09
- */
-@Service
-public class ProductProcessRouteServiceImpl extends ServiceImpl<ProductProcessRouteMapper, ProductProcessRoute> implements ProductProcessRouteService {
-
- @Autowired
- private ProductProcessRouteMapper productProcessRouteMapper;
-
- @Override
- public ProcessRouteDto listMain(Long orderId) {
- return productProcessRouteMapper.listMain(orderId);
- }
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
index fc2944e..3708b81 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductProcessDto;
+import com.ruoyi.production.mapper.ProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProductProcessMapper;
+import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.production.service.ProductProcessService;
import org.springframework.beans.BeanUtils;
@@ -22,6 +25,10 @@
public class ProductProcessServiceImpl extends ServiceImpl<ProductProcessMapper, ProductProcess> implements ProductProcessService {
@Autowired
private ProductProcessMapper productProcessMapper;
+ @Autowired
+ private ProcessRouteItemMapper processRouteItemMapper;
+// @Autowired
+// private ProductProcessRouteItemMapper productProcessRouteItemMapper;
@Override
public IPage<ProductProcessDto> listPage(Page page, ProductProcessDto productProcessDto) {
@@ -33,7 +40,7 @@
ProductProcess productProcess = new ProductProcess();
BeanUtils.copyProperties(productProcessDto,productProcess);
boolean save = productProcessMapper.insert(productProcess) > 0;
- if (save && ObjectUtils.isNotNull(productProcessDto.getNo())) {
+ if (save && ObjectUtils.isNull(productProcessDto.getNo())) {
// 鏍规嵁id鐢熸垚no瀛楁锛欸X + 8浣嶆暟瀛楋紙涓嶈冻8浣嶅墠闈㈣ˉ0锛�
String no = "GX" + String.format("%08d", productProcess.getId());
productProcess.setNo(no);
@@ -41,7 +48,7 @@
productProcessMapper.updateById(productProcess);
return AjaxResult.success();
}
- return AjaxResult.error();
+ return AjaxResult.success();
}
@Override
@@ -59,4 +66,16 @@
return AjaxResult.error("瀵煎叆澶辫触");
}
}
+
+ @Override
+ public String batchDelete(List<Integer> ids) {
+ //鏌ヨ鏄惁鐢熶骇涓凡缁忓紩鐢ㄤ簡杩欎簺宸ュ簭
+ List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getProcessId, ids));
+// List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().in(ProductProcessRouteItem::getProcessId, ids));
+// if (!CollectionUtils.isEmpty(processRouteItems) || !CollectionUtils.isEmpty(productProcessRouteItems)){
+// throw new RuntimeException("璇ュ伐搴忓凡缁忚浣跨敤锛屾棤娉曞垹闄�");
+// }
+ productProcessMapper.deleteBatchIds(ids);
+ return null;
+ }
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
deleted file mode 100644
index 6f70e7c..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.production.dto.ProductWorkOrderDto;
-import com.ruoyi.production.mapper.ProductWorkOrderMapper;
-import com.ruoyi.production.pojo.ProductWorkOrder;
-import com.ruoyi.production.service.ProductWorkOrderService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-@Service
-@AllArgsConstructor
-@Transactional(rollbackFor = Exception.class)
-public class ProductWorkOrderServiceImpl extends ServiceImpl<ProductWorkOrderMapper, ProductWorkOrder> implements ProductWorkOrderService {
-
- private ProductWorkOrderMapper productWorkOrdermapper;
-
- @Override
- public IPage<ProductWorkOrderDto> listPage(Page<ProductWorkOrderDto> page, ProductWorkOrderDto productWorkOrder) {
- return productWorkOrdermapper.pageProductWorkOrder(page, productWorkOrder);
- }
-
- @Override
- public int updateProductWorkOrder(ProductWorkOrderDto productWorkOrderDto) {
- return productWorkOrdermapper.updateById(productWorkOrderDto);
- }
-
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
deleted file mode 100644
index 49765c0..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.production.dto.ProductionProductInputDto;
-import com.ruoyi.production.mapper.ProductionProductInputMapper;
-import com.ruoyi.production.pojo.ProductionProductInput;
-import com.ruoyi.production.service.ProductionProductInputService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-@AllArgsConstructor
-public class ProductionProductInputServiceImpl extends ServiceImpl<ProductionProductInputMapper, ProductionProductInput> implements ProductionProductInputService {
- @Autowired
- private ProductionProductInputMapper productionProductInputMapper;
-
- @Override
- public IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, ProductionProductInputDto productionProductInputDto) {
- return productionProductInputMapper.listPageProductionProductInputDto(page, productionProductInputDto);
- }
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
deleted file mode 100644
index 5699332..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ /dev/null
@@ -1,294 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.basic.mapper.ProductMapper;
-import com.ruoyi.basic.mapper.ProductModelMapper;
-import com.ruoyi.basic.pojo.Product;
-import com.ruoyi.basic.pojo.ProductModel;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.bean.BeanUtils;
-import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
-import com.ruoyi.procurementrecord.utils.StockUtils;
-import com.ruoyi.production.controller.ProductWorkOrderController;
-import com.ruoyi.production.dto.ProductStructureDto;
-import com.ruoyi.production.dto.ProductionProductMainDto;
-import com.ruoyi.production.mapper.*;
-import com.ruoyi.production.pojo.*;
-import com.ruoyi.production.service.ProductionProductMainService;
-import com.ruoyi.project.system.domain.SysUser;
-import com.ruoyi.quality.mapper.QualityInspectMapper;
-import com.ruoyi.quality.mapper.QualityInspectParamMapper;
-import com.ruoyi.quality.mapper.QualityTestStandardMapper;
-import com.ruoyi.quality.pojo.QualityInspect;
-import com.ruoyi.quality.pojo.QualityInspectParam;
-import com.ruoyi.quality.pojo.QualityTestStandard;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Service
-@AllArgsConstructor
-public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
-
- private final ProcurementRecordOutMapper procurementRecordOutMapper;
- private ProductionProductMainMapper productionProductMainMapper;
-
- private ProductWorkOrderController productWorkOrderController;
-
- private ProductWorkOrderMapper productWorkOrderMapper;
-
- private ProductProcessRouteItemMapper productProcessRouteItemMapper;
-
- private ProductionProductOutputMapper productionProductOutputMapper;
-
- private ProcessRouteItemMapper processRouteItemMapper;
-
- private ProductModelMapper productModelMapper;
-
- private QualityInspectMapper qualityInspectMapper;
-
- private ProductProcessMapper productProcessMapper;
-
- private ProductMapper productMapper;
-
- private QualityTestStandardMapper qualityTestStandardMapper;
-
- private QualityInspectParamMapper qualityInspectParamMapper;
-
- private ProductStructureMapper productStructureMapper;
-
- private ProductionProductInputMapper productionProductInputMapper;
-
- private ProductOrderMapper productOrderMapper;
-
- private SalesLedgerProductionAccountingMapper salesLedgerProductionAccountingMapper;
-
- private StockUtils stockUtils;
-
-
- @Override
- public IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto) {
- return productionProductMainMapper.listPageProductionProductMainDto(page, productionProductMainDto);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Boolean addProductMain(ProductionProductMainDto dto) {
- if (dto == null) {
- throw new RuntimeException("鍙傛暟涓嶈兘涓虹┖");
- }
-
- SysUser user = SecurityUtils.getLoginUser().getUser();
-
-
- // 鏂板閫昏緫
- ProductionProductMain productionProductMain = new ProductionProductMain();
- ProductProcessRouteItem productProcessRouteItem = productProcessRouteItemMapper.selectById(dto.getProductProcessRouteItemId());
- if (productProcessRouteItem == null) {
- throw new RuntimeException("宸ヨ壓璺嚎椤逛笉瀛樺湪");
- }
-
- String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
-
- QueryWrapper<ProductionProductMain> queryWrapper = new QueryWrapper<>();
- queryWrapper.select("MAX(product_no) as maxNo")
- .likeRight("product_no", datePrefix);
-
- List<Map<String, Object>> resultList = productionProductMainMapper.selectMaps(queryWrapper);
-
- int sequenceNumber = 1;
- if (resultList != null && !resultList.isEmpty()) {
- Map<String, Object> result = resultList.get(0);
-
- if (result != null) {
- Object maxNoObj = result.get("maxNo");
- if (maxNoObj != null) {
- String lastNo = maxNoObj.toString();
- System.out.println("lastNo: " + lastNo);
-
- if (lastNo.startsWith(datePrefix)) {
- try {
- String seqStr = lastNo.substring(datePrefix.length());
- sequenceNumber = Integer.parseInt(seqStr) + 1;
- } catch (NumberFormatException e) {
- sequenceNumber = 1;
- }
- }
- }
- }
- }
-
- String productNo = String.format("%s%03d", datePrefix, sequenceNumber);
- productionProductMain.setProductNo(productNo);
- productionProductMain.setUserId(user.getUserId());
- productionProductMain.setProductProcessRouteItemId(dto.getProductProcessRouteItemId());
- productionProductMain.setWorkOrderId(dto.getWorkOrderId());
- productionProductMain.setStatus(0);
- // 娣诲姞鎶ュ伐涓昏〃
- int insert = productionProductMainMapper.insert(productionProductMain);
-
- //鏇存柊宸ュ崟
- if (insert > 0) {
- Map<String, Object> params = new HashMap<>();
- params.put("workOrderId", dto.getWorkOrderId());
- params.put("deductQuantity", dto.getQuantity());
-
- productWorkOrderMapper.updatePlanQuantity(params);
- }
- ProductProcess productProcess = productProcessMapper.selectById(productProcessRouteItem.getProcessId());
- ProductModel productModel = productProcessRouteItem.getProductModelId() != null ?
- productModelMapper.selectById(productProcessRouteItem.getProductModelId()) : null;
-
- if (productModel != null) {
- Product product = productMapper.selectById(productModel.getProductId());
- int inspectType = "缁勮".equals(productProcess.getName()) ? 2 : 1;
-
- QualityInspect qualityInspect = new QualityInspect();
- qualityInspect.setProductId(product.getId());
- qualityInspect.setProductName(product.getProductName());
- qualityInspect.setModel(productModel.getModel());
- qualityInspect.setUnit(productModel.getUnit());
- qualityInspect.setQuantity(dto.getQuantity());
- qualityInspect.setProcess(productProcess.getName());
- qualityInspect.setInspectState(0);
- qualityInspect.setInspectType(inspectType);
- qualityInspect.setProductMainId(productionProductMain.getId());
- qualityInspect.setProductModelId(productModel.getId());
- qualityInspectMapper.insert(qualityInspect);
-
- qualityTestStandardMapper.selectList(
- new LambdaQueryWrapper<QualityTestStandard>()
- .eq(QualityTestStandard::getProductId, product.getId())
- ).forEach(standard -> {
- QualityInspectParam param = new QualityInspectParam();
- BeanUtils.copyProperties(standard, param);
- param.setId(null);
- param.setInspectId(qualityInspect.getId());
- qualityInspectParamMapper.insert(param);
- });
- }
- // 娣诲姞鎶曞叆
- if (productModel != null) {
- List<ProductStructureDto> productStructureDtos = productStructureMapper.listByproductModelId(productModel.getId());
- for (ProductStructureDto productStructureDto : productStructureDtos) {
- ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId());
- Product product = productMapper.selectById(productModel1.getProductId());
- BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId()).get("stockQuantity");
- if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
- throw new RuntimeException(product.getProductName() + "搴撳瓨涓�0");
- }
- if (stockQuantity.compareTo(productStructureDto.getUnitQuantity().multiply(dto.getQuantity())) < 0) {
- throw new RuntimeException(product.getProductName() + "搴撳瓨涓嶈冻");
- }
- ProductionProductInput productionProductInput = new ProductionProductInput();
- productionProductInput.setProductModelId(productStructureDto.getProductModelId());
- productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
- productionProductInput.setProductMainId(productionProductMain.getId());
- productionProductInputMapper.insert(productionProductInput);
-
-
- DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMdd");
- LocalDate now = LocalDate.now();
- ProcurementRecordOut procurementRecordOut1 = procurementRecordOutMapper.selectCode(dateFormat.format(now));
- Long aLong = procurementRecordOut1 == null ? 1L : Long.valueOf(procurementRecordOut1.getCode().split("LS"+dateFormat.format(now))[1]);
- //娣诲姞鍑哄簱澶勭悊
- ProcurementRecordOut.ProcurementRecordOutBuilder procurementRecordOut = ProcurementRecordOut.builder()
- .procurementRecordStorageId(0)
- .code("LS" + dateFormat.format(now) + String.format("%03d", aLong + 1))
- .salesLedgerProductId(0)
- .inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规")
- .inboundNum(productionProductInput.getQuantity())
- .type(4)
- .createTime(LocalDateTime.now())
- .createUser(user.getUserId())
- .createBy(user.getNickName())
- .updateUser(user.getUserId())
- .updateTime(LocalDateTime.now())
- .productModelId(productModel1.getId());
- procurementRecordOutMapper.insert(procurementRecordOut.build());
- }
- }
-
- // 娣诲姞浜у嚭
- ProductionProductOutput productionProductOutput = new ProductionProductOutput();
- productionProductOutput.setProductMainId(productionProductMain.getId());
- productionProductOutput.setProductModelId(productProcessRouteItem.getProductModelId());
- productionProductOutput.setQuantity(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO);
- productionProductOutputMapper.insert(productionProductOutput);
-
- // 鑾峰彇鐢熶骇璁㈠崟
- ProductWorkOrder productWorkOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId());
- List<ProductionProductMain> productionProductMains = productionProductMainMapper.selectList(new QueryWrapper<ProductionProductMain>().lambda().eq(ProductionProductMain::getWorkOrderId, dto.getWorkOrderId()));
-
- if (productionProductMains.isEmpty()) {
- productWorkOrder.setActualStartTime(LocalDate.now());
- }
- ProductOrder productOrder = productOrderMapper.selectById(productWorkOrder.getProductOrderId());
- if (productOrder == null) {
- throw new RuntimeException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
- }
- // 娣诲姞鐢熶骇鏍哥畻
- SalesLedgerProductionAccounting salesLedgerProductionAccounting = SalesLedgerProductionAccounting.builder()
- .salesLedgerWorkId(productionProductMain.getId())
- .salesLedgerSchedulingId(0L)
- .salesLedgerId(productOrder.getSalesLedgerId())
- .salesLedgerProductId(productOrder.getProductModelId())
- .schedulingUserId(user.getUserId())
- .schedulingUserName(user.getNickName())
- .finishedNum(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO)
- .workHours(productProcess.getSalaryQuota())
- .process(productProcess.getName())
- .schedulingDate(LocalDate.now())
- .tenantId(dto.getTenantId())
- .build();
- salesLedgerProductionAccountingMapper.insert(salesLedgerProductionAccounting);
-
- return true;
- }
-
- @Override
- @Transactional
- public Boolean removeProductMain(ProductionProductMainDto dto) {
- Long id = dto.getId();
-
- // 鏇存柊宸ュ崟
- productWorkOrderMapper.rollbackPlanQuantity(id);
- // 鍒犻櫎璐ㄦ鍙傛暟鍜岃川妫�璁板綍
- qualityInspectMapper.selectList(
- new LambdaQueryWrapper<QualityInspect>()
- .eq(QualityInspect::getProductMainId, id)
- ).forEach(q -> {
- qualityInspectParamMapper.delete(
- new LambdaQueryWrapper<QualityInspectParam>()
- .eq(QualityInspectParam::getInspectId, q.getId()));
- qualityInspectMapper.deleteById(q.getId());
- });
-
- // 鍒犻櫎浜у嚭璁板綍
- productionProductOutputMapper.delete(new LambdaQueryWrapper<ProductionProductOutput>()
- .eq(ProductionProductOutput::getProductMainId, id)
- );
-
- // 鍒犻櫎鍏宠仈鐨勬牳绠楁暟鎹�
- salesLedgerProductionAccountingMapper.delete(
- new LambdaQueryWrapper<SalesLedgerProductionAccounting>()
- .eq(SalesLedgerProductionAccounting::getSalesLedgerWorkId, id)
- );
-
- // 鍒犻櫎涓昏〃
- return productionProductMainMapper.deleteById(id) > 0;
- }
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductOutputServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductOutputServiceImpl.java
deleted file mode 100644
index 654b9af..0000000
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductOutputServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.production.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.production.dto.ProductionProductOutputDto;
-import com.ruoyi.production.mapper.ProductionProductOutputMapper;
-import com.ruoyi.production.pojo.ProductionProductOutput;
-import com.ruoyi.production.service.ProductionProductOutputService;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-@AllArgsConstructor
-public class ProductionProductOutputServiceImpl extends ServiceImpl<ProductionProductOutputMapper, ProductionProductOutput> implements ProductionProductOutputService {
- @Autowired
- private ProductionProductOutputMapper productionProductOutputMapper;
-
- @Override
- public IPage<ProductionProductOutputDto> listPageProductionProductOutputDto(Page page, ProductionProductOutputDto productionProductOutputDto) {
- return productionProductOutputMapper.listPageProductionProductOutputDto(page, productionProductOutputDto);
- }
-}
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
index bf35f8a..ddbee03 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
@@ -4,14 +4,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductionReportDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
import com.ruoyi.production.mapper.SalesLedgerWorkMapper;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import com.ruoyi.production.pojo.SalesLedgerWork;
-import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
import com.ruoyi.production.service.SalesLedgerWorkService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
diff --git a/src/main/resources/mapper/basic/ProductModelMapper.xml b/src/main/resources/mapper/basic/ProductModelMapper.xml
new file mode 100644
index 0000000..07804bc
--- /dev/null
+++ b/src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.basic.mapper.ProductModelMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.ProductModel">
+ <id column="id" property="id" />
+ <result column="product_id" property="productId" />
+ <result column="model" property="model" />
+ <result column="unit" property="unit" />
+ <result column="tenant_id" property="tenantId" />
+ <result column="product_name" property="productName" />
+ <result column="product_id" property="productId" />
+ </resultMap>
+ <select id="listPageProductModel" resultType="com.ruoyi.basic.pojo.ProductModel">
+ select pm.*,p.product_name
+ from product_model pm
+ left join product p on pm.product_id = p.id
+ <where>
+ <if test="c.model != null and c.model != ''">
+ and pm.model like concat('%',#{c.model},'%')
+ </if>
+ <if test="c.productName != null and c.productName != ''">
+ and p.product_name like concat('%',#{c.productName},'%')
+ </if>
+ </where>
+ order by pm.id
+ </select>
+ <select id="selectLatestRecord" resultType="com.ruoyi.basic.pojo.ProductModel">
+ SELECT * FROM product_model
+ ORDER BY create_time DESC, id DESC
+ LIMIT 1
+ </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/production/ProcessRouteItemMapper.xml b/src/main/resources/mapper/production/ProcessRouteItemMapper.xml
index 1b5e2b4..8917231 100644
--- a/src/main/resources/mapper/production/ProcessRouteItemMapper.xml
+++ b/src/main/resources/mapper/production/ProcessRouteItemMapper.xml
@@ -17,7 +17,6 @@
select pri.*,
pr.description ,
pp.name as process_name,
- pm.speculative_trading_name,
pm.product_id,
pm.model,
p.product_name,
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
deleted file mode 100644
index b47d5cf..0000000
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductOrderMapper">
-
-
- <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductOrder">
- <id property="id" column="id"/>
- <result property="productModelId" column="product_model_id"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="salesLedgerId" column="sales_ledger_id"/>
- <result property="routeId" column="route_id"/>
- <result property="npsNo" column="nps_no"/>
- <result property="createTime" column="create_time"/>
- <result property="updateTime" column="update_time"/>
- </resultMap>
- <select id="pageProductOrder" resultType="com.ruoyi.production.dto.ProductOrderDto">
- select po.*,
- sl.sales_contract_no,
- sl.customer_name,
- slp.product_category,
- slp.specification_model,
- ppr.process_route_code,
- pb.bom_no,
- ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus
- from product_order po
- left join sales_ledger sl on po.sales_ledger_id = sl.id
- left join sales_ledger_product slp on po.product_model_id = slp.id
- left join product_process_route ppr on po.id = ppr.product_order_id
- left join product_bom pb on pb.id = ppr.bom_id
- <where>
- <if test="c.npsNo != null and c.npsNo != ''">
- and po.nps_no like concat('%',#{c.npsNo},'%')
- </if>
- <if test="c.salesContractNo != null and c.salesContractNo != ''">
- and sl.sales_contract_no like concat('%',#{c.salesContractNo},'%')
- </if>
- <if test="c.customerName != null and c.customerName != ''">
- and sl.customer_name like concat('%',#{c.customerName},'%')
- </if>
- <if test="c.productCategory != null and c.productCategory != ''">
- and slp.product_category like concat('%',#{c.productCategory},'%')
- </if>
- <if test="c.specificationModel != null and c.specificationModel != ''">
- and slp.specification_model like concat('%',#{c.specificationModel},'%')
- </if>
- </where>
- </select>
- <select id="productMainByOrderId" resultType="com.ruoyi.production.dto.ProductOrderDto">
- select po.*,
- pwo.work_order_no,
- pwo.report_work,
- pwo.status,
- pwo.quantity,
- pwo.plan_quantity
- from product_order po
- left join product_work_order pwo on po.id = pwo.product_order_id
- where po.id = #{c.id}
- </select>
- <select id="listProcessRoute" resultType="com.ruoyi.production.pojo.ProcessRoute">
- select pr.*
- from process_route pr
- left join product_model pm on pr.product_model_id = pm.id
- left join sales_ledger_product slp on pm.id = slp.product_model_id
- where slp.id = #{productModelId}
- </select>
- <select id="listProcessBom" resultType="com.ruoyi.production.dto.ProductStructureDto">
- select ps.id,
- ps.product_model_id,
- ps.process_id,
- ps.unit_quantity,
- ps.unit_quantity * po.quantity as demandedQuantity,
- ps.unit,
- p.product_name,
- pp.name as process_name,
- pm.product_id,
- pm.model
- from
- product_structure ps
- left join product_model pm on ps.product_model_id = pm.id
- left join product p on pm.product_id = p.id
- left join product_process pp on ps.process_id = pp.id
- left join product_process_route ppr on ps.bom_id = ppr.bom_id
- left join product_order po on po.id = ppr.product_order_id
- where ppr.product_order_id = #{orderId}
- order by ps.id
- </select>
-
-
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml b/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
deleted file mode 100644
index 13f0ad7..0000000
--- a/src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductProcessRouteItemMapper">
-
-
- <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductProcessRouteItem">
- <id property="id" column="id"/>
- <result property="productModelId" column="product_model_id"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="createTime" column="create_time"/>
- <result property="updateTime" column="update_time"/>
- </resultMap>
- <select id="listItem" resultType="com.ruoyi.production.dto.ProductProcessRouteItemDto">
- select ppri.*,
- pp.name as process_name,
- pm.model,
- pm.unit,
- p.product_name
- from product_process_route_item ppri
- left join product_model pm on ppri.product_model_id = pm.id
- left join product p on pm.product_id = p.id
- left join product_process pp on pp.id = ppri.process_id
- where ppri.product_order_id = #{orderId}
- order by ppri.drag_sort
- </select>
-
-
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductProcessRouteMapper.xml b/src/main/resources/mapper/production/ProductProcessRouteMapper.xml
deleted file mode 100644
index dd4809f..0000000
--- a/src/main/resources/mapper/production/ProductProcessRouteMapper.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductProcessRouteMapper">
-
- <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductProcessRoute">
- <id column="id" property="id"/>
- <result column="product_model_id" property="productModelId"/>
- <result column="description" property="description"/>
- <result column="tenant_id" property="tenantId"/>
- <result column="create_time" property="createTime"/>
- <result column="update_time" property="updateTime"/>
- <result column="bom_id" property="bomId"/>
- <result column="process_route_code" property="processRouteCode"/>
- <result column="product_order_id" property="productOrderId"/>
- </resultMap>
- <select id="listMain" resultType="com.ruoyi.production.dto.ProcessRouteDto">
- select ppr.*, p.product_name, pm.product_id, pm.model, pb.bom_no
- from product_process_route ppr
- left join product_bom pb on ppr.bom_id = pb.id
- left join product_model pm on ppr.product_model_id = pm.id
- left join product p on pm.product_id = p.id
- where ppr.product_order_id = #{orderId}
- </select>
-
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
deleted file mode 100644
index 2ab8057..0000000
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductWorkOrderMapper">
-
- <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductWorkOrder">
- <result column="id" property="id"/>
- <result column="product_process_route_item_id" property="productProcessRouteItemId"/>
- <result column="create_time" property="createTime"/>
- <result column="update_time" property="updateTime"/>
- <result column="work_order_no" property="workOrderNo"/>
- <result column="status" property="status"/>
- <result column="tenant_id" property="tenantId"/>
- <result column="actual_end_time" property="planStartTime"/>
- <result column="plan_end_time" property="planEndTime"/>
- <result column="actual_start_time" property="actualStartTime"/>
- <result column="actualEndTime" property="actualEndTime"/>
- </resultMap>
-
- <select id="pageProductWorkOrder" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
- SELECT
- pwo.*,
- pp.NAME as processName,
- pm.model,
- pm.unit,
- p.product_name AS productName,
- po.nps_no AS productOrderNpsNo,
- ROUND(pwo.complete_quantity / pwo.plan_quantity * 100, 2) AS completionStatus
- FROM
- product_work_order pwo
- LEFT JOIN product_process_route_item ppri ON ppri.id = pwo.product_process_route_item_id
- LEFT JOIN product_order po ON po.id = pwo.product_order_id
- LEFT JOIN product_process pp ON pp.id = ppri.process_id
- LEFT JOIN product_model pm ON pm.id = ppri.product_model_id
- LEFT JOIN product p ON p.id = pm.product_id
- <where>
- <if test="c.workOrderNo != null and c.workOrderNo != ''">
- pwo.work_order_no like concat('%',#{c.workOrderNo},'%')
- </if>
- </where>
- </select>
- <select id="selectProductWorkOrderDtoList" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
- select *
- from product_work_order pwo
- left join product_order po on po.id = pwo.product_order_id
- </select>
-
- <update id="updatePlanQuantity" parameterType="java.util.Map">
- UPDATE product_work_order
- SET
- report_work = #{reportWork},
- plan_quantity = plan_quantity - #{deductQuantity}
- WHERE id = #{workOrderId}
- </update>
-
- <update id="rollbackPlanQuantity" parameterType="java.lang.Long">
- UPDATE product_work_order pwo
- INNER JOIN production_product_main ppm
- ON pwo.id = ppm.work_order_id
- AND ppm.id = #{productMainId}
- INNER JOIN production_product_output ppo
- ON ppo.product_main_id = ppm.id
- SET
- pwo.plan_quantity = pwo.plan_quantity + ppo.quantity,
- pwo.report_work = 0,
- pwo.quantity = 0
- WHERE pwo.id = ppm.work_order_id
- </update>
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductInputMapper.xml b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
deleted file mode 100644
index 7d203f3..0000000
--- a/src/main/resources/mapper/production/ProductionProductInputMapper.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductionProductInputMapper">
-
- <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductionProductInput">
- <id property="id" column="id"/>
- <result property="productMainId" column="product_main_id"/>
- <result property="productModelId" column="product_model_id"/>
- <result property="quantity" column="quantity"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="createTime" column="create_time"/>
- </resultMap>
- <select id="listPageProductionProductInputDto" resultType="com.ruoyi.production.dto.ProductionProductInputDto">
- select ppi.*,
- pm.model as model,
- ppm.product_no as productNo
- from
- production_product_input ppi
- left join production_product_main ppm on ppm.id = ppi.product_main_id
- left join product_model pm on pm.id = ppi.product_model_id
- <where>
- <if test="c.productMainId != null and c.productMainId > 0">
- and ppm.id = #{c.productMainId}
- </if>
- </where>
- order by ppi.id
- </select>
-
- <delete id="deleteByProductMainIds" parameterType="java.util.List">
- DELETE FROM production_product_input
- WHERE product_main_id IN
- <foreach collection="productMainIds" item="id" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
deleted file mode 100644
index 3a0542c..0000000
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductionProductMainMapper">
-
- <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductionProductMain">
- <id property="id" column="id"/>
- <result property="productNo" column="product_no"/>
- <result property="userId" column="user_id"/>
- <result property="workOrderId" column="work_order_id"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="createTime" column="create_time"/>
- <result property="status" column="status"/>
- </resultMap>
-
- <select id="listPageProductionProductMainDto" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
- select ppm.*,
- pwo.work_order_no as workOrderNo,
- pwo.status as workOrderStatus,
- u.nick_name as nickName
- from
- production_product_main ppm
- left join product_work_order pwo on pwo.id = ppm.work_order_id
- left join sys_user u on u.user_id = ppm.user_id
- <where>
- <if test="c.nickName != null and c.nickName != ''">
- and u.nick_name like concat('%',#{c.nickName},'%')
- </if>
- <if test="c.workOrderNo != null and c.workOrderNo != ''">
- and pwo.work_order_no like concat('%',#{c.workOrderNo},'%')
- </if>
- <if test="c.workOrderStatus != null and c.workOrderStatus != ''">
- and pwo.status = #{c.workOrderStatus}
- </if>
- <if test="c.status != null and c.status != ''">
- and ppm.status = #{c.status}
- </if>
- </where>
- order by ppm.id
- </select>
-
- <delete id="deleteByWorkOrderIds" parameterType="java.util.List">
- DELETE FROM production_product_main
- WHERE work_order_id IN
- <foreach collection="workOrderIds" item="id" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
-</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
deleted file mode 100644
index e5d17fc..0000000
--- a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.production.mapper.ProductionProductOutputMapper">
-
- <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductionProductOutput">
- <id property="id" column="id"/>
- <result property="productMainId" column="product_main_id"/>
- <result property="productModelId" column="product_model_id"/>
- <result property="quantity" column="quantity"/>
- <result property="tenantId" column="tenant_id"/>
- <result property="createTime" column="create_time"/>
- </resultMap>
-
- <select id="listPageProductionProductOutputDto" resultType="com.ruoyi.production.dto.ProductionProductOutputDto">
- select ppo.*,
- pm.model as model,
- ppm.product_no as productNo
- from
- production_product_output ppo
- left join production_product_main ppm on ppm.id = ppo.product_main_id
- left join product_model pm on pm.id = ppo.product_model_id
- <where>
- <if test="c.productMainId != null and c.productMainId > 0">
- and ppm.id = #{c.productMainId}
- </if>
- </where>
- order by ppo.id
- </select>
-
- <delete id="deleteByProductMainIds" parameterType="java.util.List">
- DELETE FROM production_product_output
- WHERE product_main_id IN
- <foreach collection="productMainIds" item="id" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
-</mapper>
--
Gitblit v1.9.3