From 2f640b1038fa331954f78ed1f4317212cf5bb34d Mon Sep 17 00:00:00 2001 From: chenlu <1320612696@qq.com> Date: 星期五, 07 六月 2024 16:56:06 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java | 141 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 141 insertions(+), 0 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java new file mode 100644 index 0000000..75c9eb4 --- /dev/null +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ProductionSchedulingService.java @@ -0,0 +1,141 @@ + +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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.example.erp.entity.pp.ProductionScheduling; +import com.example.erp.entity.sd.OrderDetail; +import com.example.erp.mapper.pp.ProductionSchedulingMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@DS("pp") +public class ProductionSchedulingService { + @Autowired + ProductionSchedulingMapper productionSchedulingMapper; + + //鏈帓浜ф煡璇� + public Map<String, Object> selectSchedulingSv(String selectTime1, String selectTime2, String orderId,String processes, Integer state, ProductionScheduling productionScheduling ) { + Map<String, Object> map = new HashMap<>(); + if("null".equals(orderId)){ + orderId=""; + } + if ("null".equals(processes)){ + + processes=""; + } + + if (state==2){//宸叉帓浜� + map.put("data", productionSchedulingMapper.selectOkSchedulingMp(selectTime1, selectTime2,orderId,processes, productionScheduling)); + + }else if (state==1){//鏈帓浜� + map.put("data", productionSchedulingMapper.selectNoSchedulingMp(selectTime1, selectTime2,orderId,processes, productionScheduling)); + + } + + return map; + } + + + //棣栨鏌ヨ鎺掍骇鏁版嵁 + public Map<String, Object> selectLastScheduling(String selectTime1, String selectTime2,String processes,String orderId,ProductionScheduling productionScheduling ) { + Map<String, Object> map = new HashMap<>(); + if("null".equals(orderId)){ + orderId=""; + } + if ("null".equals(processes)){ + + processes=""; + } + map.put("data", productionSchedulingMapper.selectLastSchedulingMp(selectTime1, selectTime2,processes,orderId, productionScheduling)); + map.put("process", productionSchedulingMapper.selectProcess()); + return map; + } + + //甯﹁鍗曞彿鏌ヨ + public Map<String, Object> selectSchedulingNotSv(String selectTime1, String selectTime2, String orderId, String processes, Integer state, ProductionScheduling productionScheduling) { + Map<String, Object> map = new HashMap<>(); + map.put("data", productionSchedulingMapper.selectSchedulingNotMp(selectTime1, selectTime2,orderId,processes, productionScheduling)); + return map; + } + + public Boolean addSchedulingSv(Map<String, Object> object) { + String userName = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + String processes = ""; + if (object.get("processes") != null) { + processes = object.get("processes").toString(); + } + + Integer maxId = productionSchedulingMapper.selectMaxId(); + //鏌ヨ璁㈠崟id锛屽苟涓旇嚜澧� + String formattedNumber = String.format("%02d", maxId+1); + //鏍煎紡鍖栧綋鍓嶆棩鏈� + java.util.Date currentDate = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + String formattedDate = dateFormat.format(currentDate); + String schedulingId = "PC"+formattedDate+formattedNumber; + + List<ProductionScheduling> schedulinglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("scheduling")), ProductionScheduling.class); + if (!schedulinglist.isEmpty()) { + for (ProductionScheduling productionScheduling : schedulinglist) { + //鏌ヨ宸叉帓浜у伐搴忔暟閲� + // Integer num = productionSchedulingMapper.selectNumberMp(productionScheduling.getOrderId(),productionScheduling.getOrderNumber(),processes); + + productionSchedulingMapper.insertSelective(schedulingId,productionScheduling.getOrderId(),productionScheduling.getOrderNumber(),productionScheduling.getTechnologyNumber(),processes,productionScheduling.getSchedulingQuantity(),productionScheduling.getScheduledStartTime(),productionScheduling.getPlanEndTime(),productionScheduling.getNotes()); + //System.out.println(productionScheduling.getOrderNumber()+"***"+productionScheduling.getTechnologyNumber()); + } + return true; + } + else { + return false; + + } + + } + + public boolean deleteSchedulingSv(Map<String, Object> object) throws Exception { + JSONObject objJson = new JSONObject(object); + List<ProductionScheduling> Scheduling = JSONArray.parseArray(JSONObject.toJSONString(objJson.get("scheduling")), ProductionScheduling.class); + if (!Scheduling.isEmpty()) { + for (ProductionScheduling productionScheduling : Scheduling) { + productionSchedulingMapper.deleteSchedulingMp(productionScheduling.getSchedulingId()); + // System.out.println(productionScheduling.getOrderNumber()+"***"+productionScheduling.getOrderId()); + } + return true; + } + else { + return false; + } + } + + public boolean examineSchedulingSv(Map<String, Object> object) { + String userName = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + List<ProductionScheduling> schedulinglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("scheduling")), ProductionScheduling.class); + + if (!schedulinglist.isEmpty()) { + for (ProductionScheduling productionScheduling : schedulinglist) { + productionSchedulingMapper.examineSchedulingMp(productionScheduling.getSchedulingId(),userName); + // System.out.println(productionScheduling.getOrderNumber()+"***"+productionScheduling.getOrderId()); + } + return true; + } + else { + return false; + } + } +} -- Gitblit v1.8.0