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/ReworkService.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 167 insertions(+), 0 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java new file mode 100644 index 0000000..7054938 --- /dev/null +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReworkService.java @@ -0,0 +1,167 @@ +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.BasicDataProduce; +import com.example.erp.entity.pp.PatchLog; +import com.example.erp.entity.pp.Rework; +import com.example.erp.entity.sd.Delivery; +import com.example.erp.entity.sd.OrderDetail; +import com.example.erp.entity.userInfo.SysError; +import com.example.erp.mapper.pp.BasicDateProduceMapper; +import com.example.erp.mapper.pp.ReworkMapper; +import com.example.erp.service.userInfo.SysErrorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.*; + + +@Service +@DS("pp") +@Transactional(rollbackFor = Exception.class) +public class ReworkService { + @Autowired + ReworkMapper reworkMapper; + @Autowired + BasicDateProduceMapper basicDateProduceMapper; + @Autowired + SysErrorService sysErrorService; + + + public List<Map<String, Object>> getSelectRework(Integer pageNum, Integer pageSize) { + Integer offset = (pageNum - 1) * pageSize; + Map<String, Object> map = new HashMap<>(); + List<Map<String, Object>> listMap = new ArrayList<>(); + + + List<Map<String, Object>> ReworkMap =reworkMapper.getSelectRework(offset,pageSize); + + + for (Map<String, Object> item:ReworkMap){ + item.put("reworkTeam",""); + List<BasicDataProduce> basicCategory=new ArrayList<>(); + + List<BasicDataProduce> basicDataProduceList=basicDateProduceMapper.SelectWorkBasicTeams(item.get("reworkProcesses").toString()); + for (BasicDataProduce basicDataProduce:basicDataProduceList){ + if(Objects.equals(basicDataProduce.getBasicData().getBasicName(),item.get("reworkProcesses"))){ + basicCategory.add(basicDataProduce); + } + } + item.put("basicCategory",basicCategory); + listMap.add(item); + } + return listMap; + } + + public Map<String, Object> SelectRework(Integer pageNum, Integer pageSize,List<String> selectDate,Rework rework) { + Integer offset = (pageNum-1)*pageSize; + String endDate = LocalDate.now().toString(); + String startDate = LocalDate.now().minusDays(15).toString(); + if(selectDate !=null && selectDate.size()==2){ + if(!selectDate.get(0).isEmpty()){ + startDate = selectDate.get(0); + } + if(!selectDate.get(1).isEmpty()){ + endDate = selectDate.get(1); + } + } + Map<String,Object> map = new HashMap<>(); + map.put("data",reworkMapper.SelectRework(offset,pageSize,startDate,endDate,rework)); + map.put("total",reworkMapper.SelectReworkPageTotal(offset,pageSize,startDate,endDate,rework)); + + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + + public Boolean saveRework(Map<String,Object> object) { + boolean saveState = true; + Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); + try { + String userName = ""; + String userId = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + if (object.get("userId") != null) { + userId = object.get("userId").toString(); + } + //鑾峰彇鍗曞彿 + String oddNumber= orderNumberSetting("杩斿伐"); + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + List<Rework> reworklist = JSONArray.parseArray(JSONObject.toJSONString(object.get("rework")), Rework.class); + if (!reworklist.isEmpty()){ + for (Rework rework : reworklist) { + //娣诲姞杩斿伐璁板綍锛屼慨鏀规鐮存槑缁嗘暟閲� + reworkMapper.insertRework(rework,oddNumber); + reworkMapper.updateDamageDetails(rework); + } + } + + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); + //灏嗗紓甯镐紶鍏ユ暟鎹簱 + SysError sysError = new SysError(); + sysError.setError(e.toString()); + sysError.setFunc("saveOrder"); + sysErrorService.insert(sysError); + saveState = false; + + } + + return saveState; + + } + + public Boolean updateRework(Map<String,Object> object) { + boolean saveState = true; + + String userName = ""; + String userId = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + if (object.get("userId") != null) { + userId = object.get("userId").toString(); + } + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + List<Rework> reworklist = JSONArray.parseArray(JSONObject.toJSONString(object.get("rework")), Rework.class); + if (!reworklist.isEmpty()){ + for (Rework rework : reworklist) { + //瀹℃牳 + reworkMapper.updateRework(rework,userName); + } + } + + + return saveState; + + } + + public String orderNumberSetting(String type) { + //鏍规嵁绫诲瀷鑷姩鐢熸垚涓嶅悓鐨勬搷浣滃崟鍙� + String alias=""; + if(Objects.equals(type, "杩斿伐")){ + alias="FG"; + } + //鏌ヨ褰撳ぉ鐨勬渶澶ф暟閲� + Integer maximum=reworkMapper.getMaximum(); + //璁剧疆涓や綅涓嶅琛�0 + String formattedNumber = String.format("%02d", maximum+1); + //鏍煎紡鍖栧綋鍓嶆棩鏈� + Date currentDate = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + String formattedDate = dateFormat.format(currentDate); + String oddNumbers = alias+formattedDate+formattedNumber; + return oddNumbers; + } +} + -- Gitblit v1.8.0