New file |
| | |
| | | package com.example.erp.service.pp; |
| | | |
| | | import com.example.erp.entity.pp.ReportingWork; |
| | | import com.example.erp.entity.sd.OrderProcessDetail; |
| | | import com.example.erp.mapper.pp.BasicDateProduceMapper; |
| | | import com.example.erp.mapper.pp.ReportingWorkMapper; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | @DS("pp") |
| | | public class ReportingWorkService { |
| | | @Autowired |
| | | ReportingWorkMapper reportingWorkMapper; |
| | | |
| | | BasicDateProduceMapper basicDateProduceMapper; |
| | | |
| | | public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //查询流程卡工艺流程 |
| | | String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr); |
| | | |
| | | int index = technologicalProcess.indexOf("-"); |
| | | //获取工艺流程第一个工序 |
| | | String interceptProcess = technologicalProcess.substring(0, index); |
| | | String[] processList = technologicalProcess.split("->"); |
| | | int length = processList.length; |
| | | |
| | | //定义当前工序上下工序 |
| | | String previousProcess = ""; |
| | | String nextProcess = ""; |
| | | |
| | | //循环该流程卡工艺流程 |
| | | for (int i = 0; i < length; i++) { |
| | | //当到当前工序时 |
| | | if (processList[i].equals(process)) { |
| | | //获取当前工序的上一道工序 |
| | | if (i - 1 < 0) { |
| | | previousProcess = ""; |
| | | } else { |
| | | previousProcess = processList[i - 1]; |
| | | } |
| | | //获取当前工序的下一道工序 |
| | | if (i + 1 > length - 1) { |
| | | nextProcess = ""; |
| | | } else { |
| | | nextProcess = processList[i + 1]; |
| | | } |
| | | //System.out.println("当前工序:" + process + " 上一道工序:" + previousProcess + " 下一道工序:" + nextProcess); |
| | | //查询当前工序的表头数据 |
| | | map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); |
| | | map.put("thisProcess", processList); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | //设备下拉框 |
| | | map.put("device", reportingWorkMapper.SelectWorkBasicDeviceMp(process)); |
| | | //班组下拉框 |
| | | map.put("teams", reportingWorkMapper.SelectWorkBasicTeamsMp(process)); |
| | | |
| | | |
| | | //查询本工序报工需要哪几层,上工序是什么 |
| | | String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr); |
| | | |
| | | |
| | | //判断本工序是不是第一道工序 |
| | | if (interceptProcess.equals(process)) { |
| | | //是第一道工序,查询流程卡数据 |
| | | map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr)); |
| | | |
| | | } |
| | | else { |
| | | //不是第一道工序,查询报工数据 |
| | | |
| | | map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,previousProcess)); |
| | | } |
| | | |
| | | // 第一道工序(流程卡数+补片数量-完工数-次破数-返工未完成数-禁用数量) |
| | | |
| | | // 后续工序(上工序报工数-完工数-次破数-返工未完成数) |
| | | |
| | | return map; |
| | | |
| | | } |
| | | |
| | | public Map<String, Object> SelectProcessSv() { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("process", reportingWorkMapper.SelectProcessMp()); |
| | | return map; |
| | | } |
| | | } |