package com.example.erp.service.pp; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.pp.OptimizeProjectMange; import com.example.erp.mapper.pp.GlassOptimizeMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @DS("sd") public class GlassOptimizeService { @Autowired GlassOptimizeMapper glassOptimizeMapper; //工程信息 public Map projectInfoSv(String projectNo) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.projectInfoMp(projectNo)); return map; } //库存信息 public Map materialStoreSv(String thickness, String model) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.materialStoreMp(thickness,model)); return map; } //工程查询流程卡 public Map getFlowCardList(String optionVal, Integer radio) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.getFlowCardListMp(optionVal, radio)); return map; } //工程管理查询 public Map OptimizeProjectMange(Date startSelectTime, Date endSelectTime, OptimizeProjectMange optimizeProjectMange) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.optimizeProjectMangeMp(startSelectTime, endSelectTime , optimizeProjectMange)); return map; } //修改排版状态 public Boolean updateProjectState(String projectNumber, Integer state) { if (!projectNumber.isEmpty()) { glassOptimizeMapper.updateProjectStateMp(projectNumber, state); return true; } else { return false; } } //删除工程 public Map deleteProject(String projectNumber) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.deleteProjectMp(projectNumber)); return map; } public Map getProjectListSv() { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.getProjectListMp()); return map; } //模拟计算工程号查询 public MapselectProjectComputeSv(String projectNumber) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.selectProjectComputeMp(projectNumber)); return map; } //模拟计算流程卡详情 public MapselectComputeDetailSv(String processId) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.selectComputeDetailMp(processId)); return map; } public Map getProcessCardDetailSv(String processId, Integer technologyNumber) { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.getProcessCardDetailmMp(processId,technologyNumber)); return map; } public Map selectGlassTypeSv() { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.selectGlassTypeMp()); return map; } public Map getProjectIdSv() { Map map = new HashMap<>(); map.put("data", glassOptimizeMapper.getProjectIdSv()); return map; } public Boolean addProjectSv(String optionVal, String projectId, String projectNmae, Map object) { String userName = ""; if (object.get("userName") != null) { userName = object.get("userName").toString(); } Double sumArea = (double) 0; Double area = (double) 0; Integer sumQuantity = 0; List flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("projectdetail")), FlowCard.class); if (!flowCardList.isEmpty()) { for (FlowCard flowCard : flowCardList) { //给流程卡表添加对应的工程号 glassOptimizeMapper.updateFlowCardProject(flowCard.getProcessId(),flowCard.getTechnologyNumber(),projectId); area = glassOptimizeMapper.getSelectArea(flowCard.getProcessId(),flowCard.getTechnologyNumber()); sumArea += area; sumQuantity +=flowCard.getQuantity(); } int index = optionVal.indexOf("mm"); // 获取 "mm" 前面的部分 String glass_thickness = optionVal.substring(0, index); // 获取 "mm" 后面的部分 String glass_type = optionVal.substring(index + 2); glassOptimizeMapper.addProjectMp(projectId,projectNmae,glass_thickness,glass_type,sumQuantity,sumArea,userName); return true; } else { return false; } } }