Browse Source

工序同步

ezhizao_zx 1 year ago
parent
commit
71ce3fa013
28 changed files with 1334 additions and 7 deletions
  1. 221 6
      src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java
  2. 158 0
      src/main/java/cn/ezhizao/project/business/controller/Sfc10300Controller.java
  3. 56 0
      src/main/java/cn/ezhizao/project/business/domain/BizProcess.java
  4. 111 0
      src/main/java/cn/ezhizao/project/business/domain/BizTechnologicalProcessDetail.java
  5. 41 0
      src/main/java/cn/ezhizao/project/business/domain/Sfc10300.java
  6. 75 0
      src/main/java/cn/ezhizao/project/business/domain/Sfc10400.java
  7. 94 0
      src/main/java/cn/ezhizao/project/business/domain/Sfc10401.java
  8. 31 0
      src/main/java/cn/ezhizao/project/business/mapper/BizProcessMapper.java
  9. 31 0
      src/main/java/cn/ezhizao/project/business/mapper/BizTechnologicalProcessDetailMapper.java
  10. 17 0
      src/main/java/cn/ezhizao/project/business/mapper/Sfc10300Mapper.java
  11. 18 0
      src/main/java/cn/ezhizao/project/business/mapper/Sfc10400Mapper.java
  12. 17 0
      src/main/java/cn/ezhizao/project/business/mapper/Sfc10401Mapper.java
  13. 32 0
      src/main/java/cn/ezhizao/project/business/service/IBizProcessService.java
  14. 32 0
      src/main/java/cn/ezhizao/project/business/service/IBizTechnologicalProcessDetailService.java
  15. 19 0
      src/main/java/cn/ezhizao/project/business/service/ISfc10300Service.java
  16. 19 0
      src/main/java/cn/ezhizao/project/business/service/ISfc10400Service.java
  17. 19 0
      src/main/java/cn/ezhizao/project/business/service/ISfc10401Service.java
  18. 44 0
      src/main/java/cn/ezhizao/project/business/service/impl/BizProcessServiceImpl.java
  19. 45 0
      src/main/java/cn/ezhizao/project/business/service/impl/BizTechnologicalProcessDetailServiceImpl.java
  20. 1 1
      src/main/java/cn/ezhizao/project/business/service/impl/BizTechnologicalProcessServiceImpl.java
  21. 33 0
      src/main/java/cn/ezhizao/project/business/service/impl/Sfc10300ServiceImpl.java
  22. 33 0
      src/main/java/cn/ezhizao/project/business/service/impl/Sfc10400ServiceImpl.java
  23. 33 0
      src/main/java/cn/ezhizao/project/business/service/impl/Sfc10401ServiceImpl.java
  24. 32 0
      src/main/resources/mybatis/business/BizProcessMapper.xml
  25. 44 0
      src/main/resources/mybatis/business/BizTechnologicalProcessDetailMapper.xml
  26. 26 0
      src/main/resources/mybatis/business/Sfc10300Mapper.xml
  27. 26 0
      src/main/resources/mybatis/business/Sfc10400Mapper.xml
  28. 26 0
      src/main/resources/mybatis/business/Sfc10401Mapper.xml

+ 221 - 6
src/main/java/cn/ezhizao/project/business/controller/Inc10100Controller.java

@@ -1,12 +1,10 @@
 package cn.ezhizao.project.business.controller;
 package cn.ezhizao.project.business.controller;
 
 
+import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.project.business.domain.*;
 import cn.ezhizao.project.business.domain.*;
-import cn.ezhizao.project.business.service.IBizProductService;
-import cn.ezhizao.project.business.service.IBizPullP2TimeService;
-import cn.ezhizao.project.business.service.IBizShaftCategoryService;
-import cn.ezhizao.project.business.service.IInc10100Service;
+import cn.ezhizao.project.business.service.*;
 import cn.ezhizao.project.system.domain.SysDictData;
 import cn.ezhizao.project.system.domain.SysDictData;
 import cn.ezhizao.project.system.domain.SysUser;
 import cn.ezhizao.project.system.domain.SysUser;
 import cn.ezhizao.project.system.service.ISysDeptService;
 import cn.ezhizao.project.system.service.ISysDeptService;
@@ -14,11 +12,13 @@ import cn.ezhizao.project.system.service.ISysDictDataService;
 import cn.ezhizao.project.system.service.ISysUserService;
 import cn.ezhizao.project.system.service.ISysUserService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import javax.xml.ws.FaultAction;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
@@ -50,6 +50,21 @@ public class Inc10100Controller extends BaseController {
 
 
     @Resource
     @Resource
     private IBizShaftCategoryService bizShaftCategoryService;
     private IBizShaftCategoryService bizShaftCategoryService;
+    @Resource
+    private ISfc10300Service sfc10300Service;
+    @Resource
+    private IBizProcessService processService;
+
+    @Resource
+    private ISfc10401Service sfc10401Service;
+    @Resource
+    private ISfc10400Service sfc10400Service;
+    @Resource
+    private IBizTechnologicalProcessDetailService technologicalProcessDetailService;
+    @Resource
+    private IBizTechnologicalProcessService technologicalProcessService;
+    @Resource
+    private SnowflakeIdWorker snowflakeIdWorker;
 
 
     /**
     /**
      * 获取inc10100详细信息
      * 获取inc10100详细信息
@@ -58,6 +73,9 @@ public class Inc10100Controller extends BaseController {
     @PreAuthorize("@ss.hasPermi('business:product:sync')")
     @PreAuthorize("@ss.hasPermi('business:product:sync')")
     @GetMapping(value = "/getP2Product")
     @GetMapping(value = "/getP2Product")
     public AjaxResult getP2Product() {
     public AjaxResult getP2Product() {
+        boolean result;
+//        result = true;
+        result = getP2Process();
         // 先从新系统中的 biz_pull_p2_time 中获取最新数据
         // 先从新系统中的 biz_pull_p2_time 中获取最新数据
         BizPullP2Time pullDetail = new BizPullP2Time();
         BizPullP2Time pullDetail = new BizPullP2Time();
         pullDetail.setType("product");
         pullDetail.setType("product");
@@ -214,9 +232,206 @@ public class Inc10100Controller extends BaseController {
             bizPullP2Time.setType("product");
             bizPullP2Time.setType("product");
             // 保存数据
             // 保存数据
             pullP2TimeService.saveOrUpdate(bizPullP2Time);
             pullP2TimeService.saveOrUpdate(bizPullP2Time);
-            return toAjax(true);
+            result = result && pullP2TimeService.saveOrUpdate(bizPullP2Time);
+        } else {
+            result = false;
+        }
+        // 先从新系统中的 biz_pull_p2_time 中获取最新数据
+        BizPullP2Time pullProcess = new BizPullP2Time();
+        pullProcess.setType("productProcess");
+        List<BizPullP2Time> pullProcesses = pullP2TimeService.getList(pullProcess);
+        /*
+         * 如果 pullDetails 不为空,则获取最后一条数据,做为查询P2的生产计划明细的条件。
+         * 这里有个细节,每次从P2中获取生产计划明细,不能都从头开始,否则随着数据量增加,将会重复拉取大量的数据,性能很差
+         * 拉取数据后,存入新系统中,每次拉取前,将新系统中 biz_pull_p2_time 的最后一条数据记录的时间,做为条件传递过去
+         * P2中,获取领料时间大于上一次拉取时间的新数据,再存入新系统中。
+         */
+        BizPullP2Time lastPullProcess = null;
+        if (pullProcesses.size() > 0) {
+            int lastIndex = pullProcesses.size() - 1;
+            lastPullProcess = pullProcesses.get(lastIndex);
+        }
+        QueryWrapper<Sfc10401> sfc10401QueryWrapper = new QueryWrapper<>();
+        if (lastPullProcess != null) {
+            Date newCondition = lastPullProcess.getPullTime();
+            /*
+             * 这里应该根据新系统中记录的最大的拉取日期
+             * modate:P2中的修改日期,为了避免重复拉取,需要做条件判断。modate必须大于上一次拉取时间
+             */
+            sfc10401QueryWrapper.apply("modate IS NOT NULL  AND modate > {0}", newCondition);
+        }
+
+        List<Sfc10401> sfc10401List = sfc10401Service.getList(sfc10401QueryWrapper);
+        List<BizProcess> bases = processService.list();
+        List<BizTechnologicalProcessDetail> processDetails = technologicalProcessDetailService.query().list();
+        List<BizTechnologicalProcess> processes = technologicalProcessService.list();
+        List<Sfc10400> sfc10400List = sfc10400Service.getList(new QueryWrapper<>());
+        List<BizTechnologicalProcess> saveProcess = new ArrayList<>();
+        List<BizTechnologicalProcess> updateProcess = new ArrayList<>();
+        List<BizTechnologicalProcessDetail> saveProcessDetail = new ArrayList<>();
+        List<BizTechnologicalProcessDetail> updateProcessDetail = new ArrayList<>();
+        sfc10401List.forEach(l -> {
+            // 判断是否有对应的technologicalProcessDetail
+            BizTechnologicalProcessDetail old = processDetails.stream().filter(v -> v.getTechnologyVersion().equals(l.getPrver().trim()) && v.getProductCode().equals(l.getCpart().trim()) && v.getProcessStepNumber().equals(l.getPrseq().trim()) && v.getProcessCode().equals(l.getPrcode().trim())).findFirst().orElse(null);
+            if (old != null) {
+                old.setProcessKey(l.getFinkey());
+                old.setProcessAlias(l.getPrna());
+                old.setProductShaftCategory(l.getZtype());
+                old.setProductShaftCategoryName(l.getZtydm());
+                old.setProductDescription(l.getDescr());
+                updateProcessDetail.add(old);
+            } else {
+                BizTechnologicalProcessDetail newProcess = new BizTechnologicalProcessDetail();
+                newProcess.setTechnologyVersion(l.getPrver().trim());
+                newProcess.setProductCode(l.getCpart().trim());
+                newProcess.setProcessCode(l.getPrcode().trim());
+                newProcess.setProcessStepNumber(l.getPrseq());
+                newProcess.setProcessKey(l.getFinkey());
+                newProcess.setProcessAlias(l.getPrna());
+                newProcess.setProductShaftCategory(l.getZtype());
+                newProcess.setProductShaftCategoryName(l.getZtydm());
+                newProcess.setProductDescription(l.getDescr());
+                newProcess.setTenantId(1L);
+                if (newProcess.getProductCode() != null && !newProcess.getProductCode().isEmpty()) {
+                    BizProduct bizProduct = products.stream().filter(v -> v.getProductCode().equals(l.getCpart().trim())).findFirst().orElse(null);
+                    if (bizProduct != null) {
+                        newProcess.setProductId(bizProduct.getId());
+                    }
+                    bizProduct = newProducts.stream().filter(v -> v.getProductCode().equals(l.getCpart().trim())).findFirst().orElse(null);
+                    if (bizProduct != null && newProcess.getProductId() == null) {
+                        newProcess.setProductId(bizProduct.getId());
+                    }
+                }
+                if (newProcess.getProcessCode() != null && !newProcess.getProcessCode().isEmpty()) {
+                    BizProcess bizProcess = bases.stream().filter(v -> v.getProcessCode().equals(l.getPrcode().trim())).findFirst().orElse(null);
+                    newProcess.setProcessId(bizProcess == null ? null : bizProcess.getId());
+                }
+                // 判断下是否有对用工艺
+
+                Sfc10400 sfc10400 = sfc10400List.stream().filter(v -> v.getPrver().trim().equals(l.getPrver().trim()) && v.getCpart().trim().equals(l.getCpart().trim())).findFirst().orElse(null);
+                BizTechnologicalProcess oldTech = processes.stream().filter(v -> v.getTechnologyVersion().trim().equals(l.getPrver().trim()) && v.getProductCode().trim().equals(l.getCpart().trim())).findFirst().orElse(null);
+                if (oldTech != null) {
+                    if (sfc10400 != null) {
+                        oldTech.setProductShaftCategory(sfc10400.getZtype());
+                        oldTech.setProductShaftCategoryName(sfc10400.getZtydm());
+                        oldTech.setProductSpecification(sfc10400.getSpec());
+                        oldTech.setProductDrawingNumber(sfc10400.getDraw());
+                        oldTech.setProductDescription(sfc10400.getDescr());
+                        updateProcess.add(oldTech);
+                        newProcess.setTechnologicalProcessId(oldTech.getId());
+                    }
+                } else {
+                    if (sfc10400 != null) {
+                        BizTechnologicalProcess newTech = new BizTechnologicalProcess();
+                        newTech.setProductCode(sfc10400.getCpart());
+                        newTech.setTechnologyVersion(l.getPrver());
+                        newTech.setTenantId(1L);
+                        if (newTech.getProductCode() != null && !newTech.getProductCode().isEmpty()) {
+                            BizProduct bizProduct = products.stream().filter(v -> v.getProductCode().equals(sfc10400.getCpart())).findFirst().orElse(null);
+                            if (bizProduct != null) {
+                                newProcess.setProductId(bizProduct.getId());
+                            }
+                            bizProduct = newProducts.stream().filter(v -> v.getProductCode().equals(sfc10400.getCpart())).findFirst().orElse(null);
+                            if (bizProduct != null && newProcess.getProductId() == null) {
+                                newProcess.setProductId(bizProduct.getId());
+                            }
+                        }
+                        newTech.setProductShaftCategory(sfc10400.getZtype());
+                        newTech.setProductShaftCategoryName(sfc10400.getZtydm());
+                        newTech.setProductSpecification(sfc10400.getSpec());
+                        newTech.setProductDrawingNumber(sfc10400.getDraw());
+                        newTech.setProductDescription(sfc10400.getDescr());
+                        newTech.setId(snowflakeIdWorker.nextId());
+                        saveProcess.add(newTech);
+                        newProcess.setTechnologicalProcessId(newTech.getId());
+                    }
+                }
+                saveProcessDetail.add(newProcess);
+            }
+        });
+        if ((saveProcess.isEmpty() || technologicalProcessService.saveBatch(saveProcess)) && (updateProcess.isEmpty() || technologicalProcessService.updateBatchById(updateProcess)) && (saveProcessDetail.isEmpty() || technologicalProcessDetailService.saveBatch(saveProcessDetail)) && (updateProcessDetail.isEmpty() || technologicalProcessDetailService.updateBatchById(updateProcessDetail))) {
+            BizPullP2Time bizPullP2Time = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Time.setPullTime(new Date());
+            bizPullP2Time.setType("productProcess");
+            // 保存数据
+            pullP2TimeService.saveOrUpdate(bizPullP2Time);
+            result = result && pullP2TimeService.saveOrUpdate(bizPullP2Time);
+        } else {
+            result = false;
+        }
+
+        return toAjax(result);
+    }
+
+    private boolean getP2Process() {
+        // 先从新系统中的 biz_pull_p2_time 中获取最新数据
+        BizPullP2Time pullDetail = new BizPullP2Time();
+        pullDetail.setType("process");
+        List<BizPullP2Time> pullDetails = pullP2TimeService.getList(pullDetail);
+        /*
+         * 如果 pullDetails 不为空,则获取最后一条数据,做为查询P2的生产计划明细的条件。
+         * 这里有个细节,每次从P2中获取生产计划明细,不能都从头开始,否则随着数据量增加,将会重复拉取大量的数据,性能很差
+         * 拉取数据后,存入新系统中,每次拉取前,将新系统中 biz_pull_p2_time 的最后一条数据记录的时间,做为条件传递过去
+         * P2中,获取领料时间大于上一次拉取时间的新数据,再存入新系统中。
+         */
+        BizPullP2Time lastPullDetail = null;
+        if (pullDetails.size() > 0) {
+            int lastIndex = pullDetails.size() - 1;
+            lastPullDetail = pullDetails.get(lastIndex);
+        }
+
+        QueryWrapper<Sfc10300> queryWrapper = new QueryWrapper<>();
+        if (lastPullDetail != null) {
+            Date newCondition = lastPullDetail.getPullTime();
+            /*
+             * 这里应该根据新系统中记录的最大的拉取日期
+             * modate:P2中的修改日期,为了避免重复拉取,需要做条件判断。modate必须大于上一次拉取时间
+             */
+            queryWrapper.apply("modate IS NOT NULL  AND modate > {0}", newCondition);
+        }
+        List<Sfc10300> sfc10300List = sfc10300Service.getList(queryWrapper);
+        List<BizProcess> processes = processService.query().list();
+        List<BizProcess> newProcess = new ArrayList<>();
+        List<BizProcess> changeProcess = new ArrayList<>();
+        List<SysUser> userList = sysUserService.getList();
+        SysDictData conditions = new SysDictData();
+        conditions.setDictType("process_status");
+        List<SysDictData> dictList = sysDictDataService.selectDictDataList(conditions);
+        List<BizShaftCategory> categories = bizShaftCategoryService.query().list();
+        sfc10300List.forEach(l -> {
+            if (processes.stream().anyMatch(v -> v.getProcessCode().equals(l.getPrcode().trim()))) {
+                // 已插入产品
+                BizProcess old = processes.stream().filter(v -> v.getProcessCode().equals(l.getPrcode().trim())).findFirst().orElse(null);
+                if (old != null) {
+                    old.setProcessKey(l.getFinkey());
+                    old.setProcessAlias(l.getPrna());
+                    old.setType(l.getType());
+                    old.setStatus(l.getStatus());
+                    changeProcess.add(old);
+                }
+            } else {
+                // 新产品
+                BizProcess bizProcess = new BizProcess();
+                bizProcess.setProcessCode(l.getPrcode());
+
+                bizProcess.setProcessKey(l.getFinkey());
+                bizProcess.setProcessAlias(l.getPrna());
+                bizProcess.setType(l.getType());
+                bizProcess.setStatus(l.getStatus());
+                newProcess.add(bizProcess);
+            }
+        });
+        if ((newProcess.isEmpty() || processService.saveBatch(newProcess)) && (changeProcess.isEmpty() || processService.updateBatchById(changeProcess))) {
+            BizPullP2Time bizPullP2Time = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Time.setPullTime(new Date());
+            bizPullP2Time.setType("process");
+            // 保存数据
+            pullP2TimeService.saveOrUpdate(bizPullP2Time);
+            return true;
         }
         }
-        return toAjax(false);
+        return false;
     }
     }
 
 
     /**
     /**

+ 158 - 0
src/main/java/cn/ezhizao/project/business/controller/Sfc10300Controller.java

@@ -0,0 +1,158 @@
+package cn.ezhizao.project.business.controller;
+
+import cn.ezhizao.framework.web.controller.BaseController;
+import cn.ezhizao.framework.web.domain.AjaxResult;
+import cn.ezhizao.project.business.domain.*;
+import cn.ezhizao.project.business.service.*;
+import cn.ezhizao.project.system.domain.SysDictData;
+import cn.ezhizao.project.system.domain.SysUser;
+import cn.ezhizao.project.system.service.ISysDeptService;
+import cn.ezhizao.project.system.service.ISysDictDataService;
+import cn.ezhizao.project.system.service.ISysUserService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * sfc10300Controller
+ *
+ * @author ezhizao_zx
+ */
+@RestController
+@RequestMapping("/business/sfc10300")
+public class Sfc10300Controller  extends BaseController {
+
+
+    @Resource
+    private IBizPullP2TimeService pullP2TimeService;
+    @Resource
+    private ISfc10300Service sfc10300Service;
+    @Resource
+    private IBizProcessService processService;
+
+    @Resource
+    private ISysUserService sysUserService;
+    @Resource
+    private ISysDeptService sysDeptService;
+    @Resource
+    private ISysDictDataService sysDictDataService;
+
+    @Resource
+    private IBizShaftCategoryService bizShaftCategoryService;
+
+    /**
+     * 获取inc10100详细信息
+     * 获取 inc10100 信息传到 biz_product
+     */
+    @PreAuthorize("@ss.hasPermi('business:process:sync')")
+    @GetMapping(value = "/getP2Process")
+    public AjaxResult getP2Process() {
+        // 先从新系统中的 biz_pull_p2_time 中获取最新数据
+        BizPullP2Time pullDetail = new BizPullP2Time();
+        pullDetail.setType("process");
+        List<BizPullP2Time> pullDetails = pullP2TimeService.getList(pullDetail);
+        /*
+         * 如果 pullDetails 不为空,则获取最后一条数据,做为查询P2的生产计划明细的条件。
+         * 这里有个细节,每次从P2中获取生产计划明细,不能都从头开始,否则随着数据量增加,将会重复拉取大量的数据,性能很差
+         * 拉取数据后,存入新系统中,每次拉取前,将新系统中 biz_pull_p2_time 的最后一条数据记录的时间,做为条件传递过去
+         * P2中,获取领料时间大于上一次拉取时间的新数据,再存入新系统中。
+         */
+        BizPullP2Time lastPullDetail = null;
+        if (pullDetails.size() > 0) {
+            int lastIndex = pullDetails.size() - 1;
+            lastPullDetail = pullDetails.get(lastIndex);
+        }
+
+        QueryWrapper<Sfc10300> queryWrapper = new QueryWrapper<>();
+        if (lastPullDetail != null) {
+            Date newCondition = lastPullDetail.getPullTime();
+            /*
+             * 这里应该根据新系统中记录的最大的拉取日期
+             * modate:P2中的修改日期,为了避免重复拉取,需要做条件判断。modate必须大于上一次拉取时间
+             */
+            queryWrapper.apply("modate IS NOT NULL  AND modate > {0}", newCondition);
+        }
+        List<Sfc10300> sfc10300List = sfc10300Service.getList(queryWrapper);
+        List<BizProcess> processes = processService.query().list();
+        List<BizProcess> newProcess = new ArrayList<>();
+        List<BizProcess> changeProcess = new ArrayList<>();
+        List<SysUser> userList = sysUserService.getList();
+        SysDictData conditions = new SysDictData();
+        conditions.setDictType("process_status");
+        List<SysDictData> dictList = sysDictDataService.selectDictDataList(conditions);
+        List<BizShaftCategory> categories = bizShaftCategoryService.query().list();
+        sfc10300List.forEach(l -> {
+            if (processes.stream().anyMatch(v -> v.getProcessCode().equals(l.getPrcode().trim()))) {
+                // 已插入产品
+                BizProcess old = processes.stream().filter(v -> v.getProcessCode().equals(l.getPrcode().trim())).findFirst().orElse(null);
+                if (old != null) {
+                    old.setProcessKey(l.getFinkey());
+                    old.setProcessAlias(l.getPrna());
+                    old.setType(l.getType());
+                    old.setStatus(l.getStatus());
+                    changeProcess.add(old);
+                }
+            } else {
+                // 新产品
+                BizProcess bizProcess = new BizProcess();
+                bizProcess.setProcessCode(l.getPrcode());
+
+                bizProcess.setProcessKey(l.getFinkey());
+                bizProcess.setProcessAlias(l.getPrna());
+                bizProcess.setType(l.getType());
+                bizProcess.setStatus(l.getStatus());
+                newProcess.add(bizProcess);
+            }
+        });
+        if ((newProcess.isEmpty() || processService.saveBatch(newProcess)) && (changeProcess.isEmpty() || processService.updateBatchById(changeProcess))) {
+            BizPullP2Time bizPullP2Time = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Time.setPullTime(new Date());
+            bizPullP2Time.setType("process");
+            // 保存数据
+            pullP2TimeService.saveOrUpdate(bizPullP2Time);
+            return toAjax(true);
+        }
+        return toAjax(false);
+    }
+
+    /**
+     * 根据字典类型和字典值,获取字典数据
+     *
+     * @param type  字典类型
+     * @param value 字典值
+     * @return 字典数据
+     */
+    private SysDictData getDictData(String type, String value) {
+        SysDictData sysDictData = new SysDictData();
+        sysDictData.setDictType(type);
+        sysDictData.setDictValue(value);
+
+        return sysDictDataService.getDictData(sysDictData);
+    }
+
+    /**
+     * @param userName 用戶名
+     * @return 用户信息
+     */
+    private SysUser getUserByCode(String userName) {
+        return sysUserService.getUserByCode(userName.trim());
+    }
+
+    /**
+     * 根据轴类型编码,获取新系统中的轴类型id【需要进一步实现】
+     * @param code 轴类型编码
+     * @return 轴类型
+     */
+    public BizShaftCategory getShaftCode(String code) {
+        return bizShaftCategoryService.query().eq("sub_category_code", code).one();
+    }
+}

+ 56 - 0
src/main/java/cn/ezhizao/project/business/domain/BizProcess.java

@@ -0,0 +1,56 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+ * 标准工序对象 biz_process
+ *
+ * @author ezhizao
+ * @date 2023-11-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "biz_process")
+public class BizProcess extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** XX主序 XX次序 X分序 */
+    @Excel(name = "XX主序 XX次序 X分序")
+    @ApiModelProperty(value = "XX主序 XX次序 X分序")
+    private String processCode;
+
+    /** 租户id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** 工序简称 */
+    @Excel(name = "工序简称")
+    @ApiModelProperty(value = "工序简称")
+    private String processAlias;
+
+    /** 工序键名 */
+    @ApiModelProperty(value = "工序键名")
+    private String processKey;
+
+    /** NA正常,CL不用 */
+    @Excel(name = "NA正常,CL不用")
+    @ApiModelProperty(value = "NA正常,CL不用")
+    private String status;
+
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remark;
+    @TableField(exist = false)
+    private Long deptId;
+
+    @ApiModelProperty(value = "计件单位1:正常计件费计算方法=数量 * 单价/万支 每批; 2:特殊计件费计算方法=箱数 * 单价/箱   每批; 3:无计件费,平均奖")
+    private String type;
+}

+ 111 - 0
src/main/java/cn/ezhizao/project/business/domain/BizTechnologicalProcessDetail.java

@@ -0,0 +1,111 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+ * 工艺工序中间表对象 biz_technological_process_detail
+ *
+ * @author ezhizao
+ * @date 2023-11-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "biz_technological_process_detail")
+public class BizTechnologicalProcessDetail extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 工艺id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long technologicalProcessId;
+
+    /**
+     * 产品id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productId;
+
+    /** 租户id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+    /**
+     * 产品编码
+     */
+    @Excel(name = "产品编码")
+    @ApiModelProperty(value = "产品编码")
+    private String productCode;
+
+    /**
+     * =seq1(2位)+seq2(1位)+0(第4位用于单批单改)
+     */
+    @Excel(name = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
+    @ApiModelProperty(value = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
+    private String processStepNumber;
+
+    /**
+     * 工序id
+     */
+    @ApiModelProperty(value = "=seq1(2位)+seq2(1位)+0(第4位用于单批单改)")
+    private Long processId;
+
+    /**
+     * 工序编码
+     */
+    @Excel(name = "工序编码")
+    @ApiModelProperty(value = "工序编码")
+    private String processCode;
+
+    /**
+     * 工序简称
+     */
+    @Excel(name = "工序简称")
+    @ApiModelProperty(value = "工序简称")
+    private String processAlias;
+
+    /**
+     * 轴类型码
+     */
+    @Excel(name = "轴类型码")
+    @ApiModelProperty(value = "轴类型码")
+    private String productShaftCategory;
+
+    /**
+     * 轴类型助记码EPS
+     */
+    @Excel(name = "轴类型助记码EPS")
+    @ApiModelProperty(value = "轴类型助记码EPS")
+    private String productShaftCategoryName;
+
+    /**
+     * 产品描述
+     */
+    @Excel(name = "产品描述")
+    @ApiModelProperty(value = "产品描述")
+    private String productDescription;
+
+
+    @TableField(exist = false)
+    private Long deptId;
+//    /**
+//     * 图纸
+//     */
+//    @Excel(name = "图纸")
+//    @ApiModelProperty(value = "图纸")
+//    private String drawingFile;
+
+    /** 工艺版本A,B,C */
+    @ApiModelProperty(value = "${comment}")
+    private String technologyVersion;
+
+    /** 工序key */
+    @ApiModelProperty("${comment}")
+    private String processKey;
+}

+ 41 - 0
src/main/java/cn/ezhizao/project/business/domain/Sfc10300.java

@@ -0,0 +1,41 @@
+package cn.ezhizao.project.business.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName(value = "sfc10300")
+public class Sfc10300 {
+    /** 工序编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String prcode;
+    /** 小写字母加下划线或数字 */
+    @ApiModelProperty(value = "${comment}")
+    private String finkey;
+    /** 工序简称 */
+    @ApiModelProperty(value = "${comment}")
+    private String prna;
+    /** 状态 */
+    @ApiModelProperty(value = "${comment}")
+    private String status;
+    /** 计件单位 */
+    @ApiModelProperty(value = "${comment}")
+    private String type;
+    /** 计件单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal unprc;
+    /** 编辑人 */
+    @ApiModelProperty(value = "${comment}")
+    private String writeruser;
+    /** 更新日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date writedate;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date modate;
+
+}

+ 75 - 0
src/main/java/cn/ezhizao/project/business/domain/Sfc10400.java

@@ -0,0 +1,75 @@
+package cn.ezhizao.project.business.domain;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+@Data
+public class Sfc10400 {
+    /** 版本号 */
+    @ApiModelProperty(value = "${comment}")
+    private String prver;
+    /** 产品编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String cpart;
+    /** 轴类型码 */
+    @ApiModelProperty(value = "${comment}")
+    private String ztype;
+    /** 轴类助记码EPS */
+    @ApiModelProperty(value = "${comment}")
+    private String ztydm;
+    /** 规格 */
+    @ApiModelProperty(value = "${comment}")
+    private String spec;
+    /** 图号 */
+    @ApiModelProperty(value = "${comment}")
+    private String draw;
+    /** 工序助记码 */
+    @ApiModelProperty(value = "${comment}")
+    private String descr;
+    /** 建立者 */
+    @ApiModelProperty(value = "${comment}")
+    private String createuser;
+    /** 建立日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date createdate;
+    /** 修改者 */
+    @ApiModelProperty(value = "${comment}")
+    private String modifyuser;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date modifydate;
+    /** 参照产品编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String kpart;
+    /** 参照规格或图号 */
+    @ApiModelProperty(value = "${comment}")
+    private String kdescr;
+    /** 参照版本号 */
+    @ApiModelProperty(value = "${comment}")
+    private String kprver;
+    /** 首序 */
+    @ApiModelProperty(value = "${comment}")
+    private String mingx;
+    /** 末序 */
+    @ApiModelProperty(value = "${comment}")
+    private String maxgx;
+    /** 首序编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String minpr;
+    /** 末序编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String maxpr;
+    /** 首序简称 */
+    @ApiModelProperty(value = "${comment}")
+    private String minna;
+    /** 末序简称 */
+    @ApiModelProperty(value = "${comment}")
+    private String maxna;
+    /** 编辑人 */
+    @ApiModelProperty(value = "${comment}")
+    private String writeruser;
+    /** 更新日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date writedate;
+}

+ 94 - 0
src/main/java/cn/ezhizao/project/business/domain/Sfc10401.java

@@ -0,0 +1,94 @@
+package cn.ezhizao.project.business.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName(value = "sfc10401")
+public class Sfc10401 {
+    /** 版本号 */
+    @ApiModelProperty(value = "${comment}")
+    private String prver;
+    /** 产品编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String cpart;
+    /** =seq1(2位)+seq2(1位)+0(第4位用于单批单改) */
+    @ApiModelProperty(value = "${comment}")
+    private String prseq;
+    /** 工序编码 */
+    @ApiModelProperty(value = "${comment}")
+    private String prcode;
+    /** 主次序 */
+    @ApiModelProperty(value = "${comment}")
+    private String seq1;
+    /** 分次序 */
+    @ApiModelProperty(value = "${comment}")
+    private String seq2;
+    /** 工序助记码 */
+    @ApiModelProperty(value = "${comment}")
+    private String finkey;
+    /** 工序简称 */
+    @ApiModelProperty(value = "${comment}")
+    private String prna;
+    /** 轴类型码 */
+    @ApiModelProperty(value = "${comment}")
+    private String ztype;
+    /** 轴类助记码EPS */
+    @ApiModelProperty(value = "${comment}")
+    private String ztydm;
+    /** 产品规格图号 */
+    @ApiModelProperty(value = "${comment}")
+    private String descr;
+    /** 单位工时 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal shour;
+    /** 计件费单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal unprc;
+    /** 计件费类别 */
+    @ApiModelProperty(value = "${comment}")
+    private String type;
+    /** 当prcode='999999'(EPS三叶包装工序) */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal coe;
+    /** 历史单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal unprc01;
+    /** 历史单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal unprc02;
+    /** 历史单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal unprc03;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date undate1;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date undate2;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date undate3;
+    /** 厂别或类型1:Ⅰ类2:Ⅱ类 */
+    @ApiModelProperty(value = "${comment}")
+    private String facno;
+    /** 辅助岗单价 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal fzprc;
+    /** 工序加工损失 */
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal mlr;
+    /** 编辑人 */
+    @ApiModelProperty(value = "${comment}")
+    private String writeruser;
+    /** 更新日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date writedate;
+    /** 修改日期 */
+    @ApiModelProperty(value = "${comment}")
+    private Date modate;
+}

+ 31 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizProcessMapper.java

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizProcess;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+
+/**
+ * 标准工序Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-11-13
+ */
+public interface BizProcessMapper extends BaseMapper<BizProcess>
+{
+    /**
+     * 查询标准工序列表
+     *
+     * @param bizProcess 标准工序
+     * @return 标准工序集合
+     */
+    public List<BizProcess> getList(BizProcess bizProcess);
+
+    /**
+     * 物理删除
+     * @param bizProcess
+     * @return 删除结果
+    */
+    public int physicalDelete(BizProcess bizProcess);
+}

+ 31 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizTechnologicalProcessDetailMapper.java

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizTechnologicalProcessDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+
+/**
+ * 工艺工序中间表Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-11-16
+ */
+public interface BizTechnologicalProcessDetailMapper extends BaseMapper<BizTechnologicalProcessDetail>
+{
+    /**
+     * 查询工艺工序中间表列表
+     *
+     * @param bizTechnologicalProcessDetail 工艺工序中间表
+     * @return 工艺工序中间表集合
+     */
+    public List<BizTechnologicalProcessDetail> getList(BizTechnologicalProcessDetail bizTechnologicalProcessDetail);
+
+    /**
+     * 物理删除
+     * @param bizTechnologicalProcessDetail
+     * @return 删除结果
+    */
+    public int physicalDelete(BizTechnologicalProcessDetail bizTechnologicalProcessDetail);
+}

+ 17 - 0
src/main/java/cn/ezhizao/project/business/mapper/Sfc10300Mapper.java

@@ -0,0 +1,17 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.Sfc10300;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface Sfc10300Mapper extends BaseMapper<Sfc10300>
+{
+    /**
+     * 查询mrp10200列表
+     *
+     * @param sfc10300 sfc10300
+     * @return sfc10300 集合
+     */
+    List<Sfc10300> getList(Sfc10300 sfc10300);
+}

+ 18 - 0
src/main/java/cn/ezhizao/project/business/mapper/Sfc10400Mapper.java

@@ -0,0 +1,18 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.Sfc10400;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface Sfc10400Mapper  extends BaseMapper<Sfc10400>
+{
+    /**
+     * 查询mrp10200列表
+     *
+     * @param sfc10400 sfc10400
+     * @return sfc10400 集合
+     */
+    List<Sfc10400> getList(Sfc10400 sfc10400);
+
+}

+ 17 - 0
src/main/java/cn/ezhizao/project/business/mapper/Sfc10401Mapper.java

@@ -0,0 +1,17 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.Sfc10401;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface Sfc10401Mapper  extends BaseMapper<Sfc10401>
+{
+    /**
+     * 查询mrp10200列表
+     *
+     * @param sfc10401 sfc10401
+     * @return sfc10401 集合
+     */
+    List<Sfc10401> getList(Sfc10401 sfc10401);
+}

+ 32 - 0
src/main/java/cn/ezhizao/project/business/service/IBizProcessService.java

@@ -0,0 +1,32 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizProcess;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+
+/**
+ * 标准工序Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-13
+ */
+public interface IBizProcessService extends IService<BizProcess>
+{
+    /**
+     * 查询标准工序列表
+     *
+     * @param bizProcess 标准工序
+     * @return 标准工序集合
+     */
+    public List<BizProcess> getList(BizProcess bizProcess);
+
+    /**
+     * 物理删除
+     * @param bizProcess
+     * @return 删除结果
+     */
+    public int physicalDelete(BizProcess bizProcess);
+
+}

+ 32 - 0
src/main/java/cn/ezhizao/project/business/service/IBizTechnologicalProcessDetailService.java

@@ -0,0 +1,32 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizTechnologicalProcessDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+
+/**
+ * 工艺工序中间表Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-16
+ */
+public interface IBizTechnologicalProcessDetailService extends IService<BizTechnologicalProcessDetail>
+{
+    /**
+     * 查询工艺工序中间表列表
+     *
+     * @param bizTechnologicalProcessDetail 工艺工序中间表
+     * @return 工艺工序中间表集合
+     */
+    public List<BizTechnologicalProcessDetail> getList(BizTechnologicalProcessDetail bizTechnologicalProcessDetail);
+
+    /**
+     * 物理删除
+     * @param bizTechnologicalProcessDetail
+     * @return 删除结果
+     */
+    public int physicalDelete(BizTechnologicalProcessDetail bizTechnologicalProcessDetail);
+
+}

+ 19 - 0
src/main/java/cn/ezhizao/project/business/service/ISfc10300Service.java

@@ -0,0 +1,19 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.Sfc10300;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface ISfc10300Service extends IService<Sfc10300>
+{
+    /**
+     * 查询mrp10200列表
+     *
+     * @param queryWrapper<Sfc10300> queryWrapper
+     * @return mrp10200集合
+     */
+    List<Sfc10300> getList(QueryWrapper<Sfc10300> queryWrapper);
+
+}

+ 19 - 0
src/main/java/cn/ezhizao/project/business/service/ISfc10400Service.java

@@ -0,0 +1,19 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.Sfc10400;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface ISfc10400Service extends IService<Sfc10400>
+{
+    /**
+     * 查询sfc10400列表
+     *
+     * @param queryWrapper<Sfc10400> queryWrapper
+     * @return sfc10400集合
+     */
+    List<Sfc10400> getList(QueryWrapper<Sfc10400> queryWrapper);
+
+}

+ 19 - 0
src/main/java/cn/ezhizao/project/business/service/ISfc10401Service.java

@@ -0,0 +1,19 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.Sfc10401;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+public interface ISfc10401Service extends IService<Sfc10401>
+{
+    /**
+     * 查询mrp10200列表
+     *
+     * @param queryWrapper<Sfc10401> queryWrapper
+     * @return mrp10200集合
+     */
+    List<Sfc10401> getList(QueryWrapper<Sfc10401> queryWrapper);
+
+}

+ 44 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizProcessServiceImpl.java

@@ -0,0 +1,44 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizProcess;
+import cn.ezhizao.project.business.mapper.BizProcessMapper;
+import cn.ezhizao.project.business.service.IBizProcessService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 标准工序Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-11-13
+ */
+@Service
+public class BizProcessServiceImpl  extends ServiceImpl<BizProcessMapper, BizProcess> implements IBizProcessService
+{
+    @Resource
+    private BizProcessMapper bizProcessMapper;
+
+    /**
+     * 查询标准工序列表
+     *
+     * @param bizProcess 标准工序
+     * @return 标准工序
+     */
+    @Override
+    public List<BizProcess> getList(BizProcess bizProcess)
+    {
+        return bizProcessMapper.getList(bizProcess);
+    }
+
+    /**
+     * 物理删除
+     * @param bizProcess
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizProcess bizProcess){ return bizProcessMapper.physicalDelete(bizProcess); };
+
+}

+ 45 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizTechnologicalProcessDetailServiceImpl.java

@@ -0,0 +1,45 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizTechnologicalProcessDetail;
+import cn.ezhizao.project.business.mapper.BizTechnologicalProcessDetailMapper;
+import cn.ezhizao.project.business.service.IBizTechnologicalProcessDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * 工艺工序中间表Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-11-16
+ */
+@Service
+public class BizTechnologicalProcessDetailServiceImpl  extends ServiceImpl<BizTechnologicalProcessDetailMapper, BizTechnologicalProcessDetail> implements IBizTechnologicalProcessDetailService
+{
+    @Resource
+    private BizTechnologicalProcessDetailMapper bizTechnologicalProcessDetailMapper;
+
+    /**
+     * 查询工艺工序中间表列表
+     *
+     * @param bizTechnologicalProcessDetail 工艺工序中间表
+     * @return 工艺工序中间表
+     */
+    @Override
+    public List<BizTechnologicalProcessDetail> getList(BizTechnologicalProcessDetail bizTechnologicalProcessDetail)
+    {
+        return bizTechnologicalProcessDetailMapper.getList(bizTechnologicalProcessDetail);
+    }
+
+    /**
+     * 物理删除
+     * @param bizTechnologicalProcessDetail
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizTechnologicalProcessDetail bizTechnologicalProcessDetail){ return bizTechnologicalProcessDetailMapper.physicalDelete(bizTechnologicalProcessDetail); };
+
+}

+ 1 - 1
src/main/java/cn/ezhizao/project/business/service/impl/BizTechnologicalProcessServiceImpl.java

@@ -16,7 +16,7 @@ import java.util.List;
  * @date 2023-11-13
  * @date 2023-11-13
  */
  */
 @Service
 @Service
-public class BizTechnologicalProcessServiceImpl extends ServiceImpl<BizTechnologicalProcessMapper, BizTechnologicalProcess> implements IBizTechnologicalProcessService
+public class BizTechnologicalProcessServiceImpl  extends ServiceImpl<BizTechnologicalProcessMapper, BizTechnologicalProcess> implements IBizTechnologicalProcessService
 {
 {
     @Resource
     @Resource
     private BizTechnologicalProcessMapper bizTechnologicalProcessMapper;
     private BizTechnologicalProcessMapper bizTechnologicalProcessMapper;

+ 33 - 0
src/main/java/cn/ezhizao/project/business/service/impl/Sfc10300ServiceImpl.java

@@ -0,0 +1,33 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.DataSource;
+import cn.ezhizao.framework.aspectj.lang.enums.DataSourceType;
+import cn.ezhizao.project.business.domain.Sfc10300;
+import cn.ezhizao.project.business.mapper.Sfc10300Mapper;
+import cn.ezhizao.project.business.service.ISfc10300Service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class Sfc10300ServiceImpl extends ServiceImpl<Sfc10300Mapper, Sfc10300> implements ISfc10300Service
+{
+    @Resource
+    private Sfc10300Mapper sfc10300Mapper;
+
+    /**
+     * 查询mrp10200列表
+     *
+     * @param queryWrapper<Sfc10300> queryWrapper
+     * @return mrp10200
+     */
+    @Override
+    @DataSource(value = DataSourceType.SLAVE)
+    public List<Sfc10300> getList(QueryWrapper<Sfc10300> queryWrapper)
+    {
+        return sfc10300Mapper.selectList(queryWrapper);
+    }
+}

+ 33 - 0
src/main/java/cn/ezhizao/project/business/service/impl/Sfc10400ServiceImpl.java

@@ -0,0 +1,33 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.DataSource;
+import cn.ezhizao.framework.aspectj.lang.enums.DataSourceType;
+import cn.ezhizao.project.business.domain.Sfc10400;
+import cn.ezhizao.project.business.mapper.Sfc10400Mapper;
+import cn.ezhizao.project.business.service.ISfc10400Service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class Sfc10400ServiceImpl extends ServiceImpl<Sfc10400Mapper, Sfc10400> implements ISfc10400Service
+{
+    @Resource
+    private Sfc10400Mapper sfc10400Mapper;
+
+    /**
+     * 查询sfc10400列表
+     *
+     * @param queryWrapper<Sfc10400> queryWrapper
+     * @return sfc10400
+     */
+    @Override
+    @DataSource(value = DataSourceType.SLAVE)
+    public List<Sfc10400> getList(QueryWrapper<Sfc10400> queryWrapper)
+    {
+        return sfc10400Mapper.selectList(queryWrapper);
+    }
+}

+ 33 - 0
src/main/java/cn/ezhizao/project/business/service/impl/Sfc10401ServiceImpl.java

@@ -0,0 +1,33 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.DataSource;
+import cn.ezhizao.framework.aspectj.lang.enums.DataSourceType;
+import cn.ezhizao.project.business.domain.Sfc10401;
+import cn.ezhizao.project.business.mapper.Sfc10401Mapper;
+import cn.ezhizao.project.business.service.ISfc10401Service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+public class Sfc10401ServiceImpl extends ServiceImpl<Sfc10401Mapper, Sfc10401> implements ISfc10401Service
+{
+    @Resource
+    private Sfc10401Mapper sfc10401Mapper;
+
+    /**
+     * 查询mrp10200列表
+     *
+     * @param queryWrapper<Sfc10401> queryWrapper
+     * @return mrp10200
+     */
+    @Override
+    @DataSource(value = DataSourceType.SLAVE)
+    public List<Sfc10401> getList(QueryWrapper<Sfc10401> queryWrapper)
+    {
+        return sfc10401Mapper.selectList(queryWrapper);
+    }
+}

+ 32 - 0
src/main/resources/mybatis/business/BizProcessMapper.xml

@@ -0,0 +1,32 @@
+<?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="cn.ezhizao.project.business.mapper.BizProcessMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizProcess" id="BizProcessResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizProcess" resultMap="BizProcessResult">
+        SELECT * FROM biz_process
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="processCode != null  and processCode != ''"> AND process_code LIKE concat('%', #{processCode}, '%')</if>
+            <if test="processAlias != null  and processAlias != ''"> AND process_alias LIKE concat('%', #{processAlias}, '%')</if>
+            <if test="status != null  and status != ''"> AND status = #{status}</if>
+        </trim>
+    </select>
+
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_process
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 44 - 0
src/main/resources/mybatis/business/BizTechnologicalProcessDetailMapper.xml

@@ -0,0 +1,44 @@
+<?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="cn.ezhizao.project.business.mapper.BizTechnologicalProcessDetailMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizTechnologicalProcessDetail" id="BizTechnologicalProcessDetailResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizTechnologicalProcessDetail" resultMap="BizTechnologicalProcessDetailResult">
+        SELECT id,tenant_id,technological_process_id,technology_version,product_id,product_code,process_step_number,process_id,process_key,process_code,process_alias,product_shaft_category,product_shaft_category_name,product_description,create_time,creator_id,update_time,updater_id,deleted,version
+        FROM biz_technological_process_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0 and tenant_id != 9
+            <if test="productCode != null  and productCode != ''"> AND product_code = #{productCode}</if>
+            <if test="processStepNumber != null  and processStepNumber != ''"> AND process_step_number = #{processStepNumber}</if>
+#             <if test="deptId !=null and deptId !=''">AND process_id in (select process_id from biz_dept_process where deleted = 0 and dept_id = #{deptId})</if>
+
+            <if test="technologicalProcessId != null  and technologicalProcessId != ''"> AND technological_process_id = #{technologicalProcessId}</if>
+            <if test="processCode != null  and processCode != ''"> AND process_code = #{processCode}</if>
+            <if test="processAlias != null  and processAlias != ''"> AND process_alias = #{processAlias}</if>
+            <if test="productShaftCategory != null  and productShaftCategory != ''"> AND product_shaft_category = #{productShaftCategory}</if>
+            <if test="productShaftCategoryName != null  and productShaftCategoryName != ''"> AND product_shaft_category_name like concat('%', #{productShaftCategoryName}, '%')</if>
+            <if test="productDescription != null  and productDescription != ''"> AND product_description = #{productDescription}</if>
+<!--            <if test="drawingFile != null  and drawingFile != ''"> AND drawing_file = #{drawingFile}</if>-->
+            <if test="technologicalProcessId != null  and technologicalProcessId != ''"> AND technological_process_id = #{technologicalProcessId}</if>
+            <if test="tenantId != null  and tenantId != 0"> AND tenant_id = #{tenantId}</if>
+        </trim>
+        order by process_step_number
+    </select>
+
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_technological_process_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 26 - 0
src/main/resources/mybatis/business/Sfc10300Mapper.xml

@@ -0,0 +1,26 @@
+<?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="cn.ezhizao.project.business.mapper.Sfc10300Mapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.Sfc10300" id="Sfc10300Result">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="Sfc10300" resultMap="Sfc10300Result">
+        SELECT *
+        FROM (
+        SELECT
+        ROW_NUMBER() OVER (ORDER BY txcode, docno, docseq) AS RowNum, *
+        FROM sfc10300
+        ) AS sfc10300
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="writeruser != null  and writeruser != ''"> AND writeruser = #{writeruser}</if>
+            <if test="writedate != null "> AND writedate = #{writedate}</if>
+            <if test="modate != null"> AND modate > #{modate}</if>
+            <if test="status != null"> AND status = #{status}</if>
+        </trim>
+    </select>
+</mapper>

+ 26 - 0
src/main/resources/mybatis/business/Sfc10400Mapper.xml

@@ -0,0 +1,26 @@
+<?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="cn.ezhizao.project.business.mapper.Sfc10400Mapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.Sfc10400" id="Sfc10400Result">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="Sfc10400" resultMap="Sfc10400Result">
+        SELECT *
+        FROM (
+        SELECT
+        ROW_NUMBER() OVER (ORDER BY txcode, docno, docseq) AS RowNum, *
+        FROM sfc10400
+        ) AS sfc10400
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="writeruser != null  and writeruser != ''"> AND writeruser = #{writeruser}</if>
+            <if test="writedate != null "> AND writedate = #{writedate}</if>
+            <if test="modate != null"> AND modate > #{modate}</if>
+            <if test="status != null"> AND status = #{status}</if>
+        </trim>
+    </select>
+</mapper>

+ 26 - 0
src/main/resources/mybatis/business/Sfc10401Mapper.xml

@@ -0,0 +1,26 @@
+<?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="cn.ezhizao.project.business.mapper.Sfc10401Mapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.Sfc10401" id="Sfc10401Result">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="Sfc10401" resultMap="Sfc10401Result">
+        SELECT *
+        FROM (
+        SELECT
+        ROW_NUMBER() OVER (ORDER BY txcode, docno, docseq) AS RowNum, *
+        FROM sfc10401
+        ) AS sfc10401
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="writeruser != null  and writeruser != ''"> AND writeruser = #{writeruser}</if>
+            <if test="writedate != null "> AND writedate = #{writedate}</if>
+            <if test="modate != null"> AND modate > #{modate}</if>
+            <if test="status != null"> AND status = #{status}</if>
+        </trim>
+    </select>
+</mapper>