From e111a303b84dd721116101b3a6837d7d126d508f Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 16 Jul 2024 13:02:48 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8E=92=E4=BA=A72.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/common/core/utils/StringUtils.java | 5 +- .../plan/controller/ProOrderController.java | 5 +- .../java/com/op/plan/domain/ProOrder.java | 9 ++ .../plan/mapper/ProOrderWorkorderMapper.java | 2 + .../com/op/plan/service/IProOrderService.java | 2 +- .../service/impl/ProOrderServiceImpl.java | 84 ++++++++++++------- .../mapper/plan/ProOrderWorkorderMapper.xml | 7 +- 7 files changed, 77 insertions(+), 37 deletions(-) diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java index a74a28af..c6b43806 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java @@ -481,7 +481,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { * @param content 内容物 (根据产品,一般为0) * @return */ - public static final List batchAutoCreate(String factoryCode, String lineCode, Date productDate,String version, String content,int batchNum){ + public static final List batchAutoCreate(String factoryCode, String lineCode, Date productDate,String version, String content,int batchNum,char startZM){ SimpleDateFormat targetFormat = new SimpleDateFormat("yyyyMMdd"); // Create a Calendar instance and set it to the current date Calendar calendar = Calendar.getInstance(); @@ -495,7 +495,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { // Format the new date String toValidity = targetFormat.format(futureDate); List batchList=new ArrayList<>(); - for (char letter = 'A'; letter < 'A' + batchNum; letter++) { + + for (char letter = startZM; letter < startZM + batchNum; letter++) { String BatchCode=toValidity+Constants.LJ+targetFormat.format(productDate)+lineCode+factoryCode+letter+Constants.OUTPUT_STATUS_A+content+version; batchList.add(BatchCode); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java index f035cb6c..ca993fdf 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderController.java @@ -341,8 +341,9 @@ public class ProOrderController extends BaseController { /**辅助排产**/ @PostMapping("/autoSplitOrder") - public R autoSplitOrder(@RequestBody ProOrder proOrder) { - return proOrderService.autoSplitOrder(proOrder); + public AjaxResult autoSplitOrder(@RequestBody ProOrder proOrder) { + AjaxResult r= proOrderService.autoSplitOrder(proOrder); + return r; } /**辅助排产取消**/ diff --git a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrder.java b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrder.java index 112c0a9c..457f61a7 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrder.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/domain/ProOrder.java @@ -75,6 +75,15 @@ public class ProOrder extends TreeEntity { private String routeCode; private Integer endFlag; private String belongWorkOrder; + private String shiftId; + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } public String getBelongWorkOrder() { return belongWorkOrder; diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java index a12d16ed..c3eb57a4 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderWorkorderMapper.java @@ -231,5 +231,7 @@ public interface ProOrderWorkorderMapper { List selectFirWorkOrderCG(String id); List selectChildWorkOrderCG(String workorderCode); + + List getBatchDict(String batchFlag); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java index 7debc0a6..b0c96781 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderService.java @@ -148,7 +148,7 @@ public interface IProOrderService { ProOrder getCanProductLine(ProOrder proOrder); - R autoSplitOrder(ProOrder proOrder); + AjaxResult autoSplitOrder(ProOrder proOrder); AjaxResult getWorkOrderListCG(String id); diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index 32ab6907..6c03eefb 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.op.plan.service.impl; import java.math.BigDecimal; +import java.math.BigInteger; import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; @@ -1318,37 +1319,46 @@ public class ProOrderServiceImpl implements IProOrderService { //所有线体 List lineList = proOrderMapper.getCanProductLine(); dto.setLineList(lineList); + + List proLines = proOrderMapper.getSelectLineLevel1(proOrder); + BigDecimal todayPro = new BigDecimal(BigInteger.ZERO);//当日设备实际产能 + for(ProOrder pLines:proLines){ + todayPro = todayPro.add(pLines.getEfficiency()); + } + + if(todayPro.doubleValue() < proOrder.getQuantity()){ + logger.error("当日设备产能达不到订单要求"); + return null; + } + //推荐线体 - List recommendLineList = getRecommendLines(proOrder); + List recommendLineList = getRecommendLines(proLines,proOrder); dto.setRecommendLineList(recommendLineList); return dto; } @Override @DS("#header.poolName") - public R autoSplitOrder(ProOrder proOrder) { + public AjaxResult autoSplitOrder(ProOrder proOrder) { Date nowTime = DateUtils.getNowDate();//公共时间 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; proOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); proOrder.setCreateTime(nowTime); + String shiftId = proOrder.getShiftId(); //订单总量 proOrder.setQuantitySplit(proOrder.getQuantitySplit()==null?0L:proOrder.getQuantitySplit()); Long orderQua = proOrder.getQuantity()-proOrder.getQuantitySplit(); //有几个设备就有几个工单 for(int i=0;i workorders = new ArrayList<>(); proOrder.setLineCode(proOrder.getLineCodes()[i]); ProLine plineInfo = proOrderWorkorderMapper.getLineProductInfo(proOrder);//线体母单产品产能和线体代码 if(plineInfo==null){ logger.error("线体"+proOrder.getLineCodes()[i]+"无法生产"); - return R.fail("线体"+proOrder.getLineCodes()[i]+"无法生产"); + return AjaxResult.error(642,"线体"+proOrder.getLineCodes()[i]+"无法生产"); } Long efficiency = plineInfo.getEfficiency(); if(efficiency < orderQua){ @@ -1365,6 +1375,7 @@ public class ProOrderServiceImpl implements IProOrderService { proOrder.setBelongWorkOrder(belongWorkOrder); proOrder.setWorkerOrder(belongWorkOrder); proOrder.setParentOrder("0"); + proOrder.setShiftId(shiftId); ProOrderWorkorder pworkOrder = getWorkOrderByOrder(proOrder,proOrder);//TODO; //父级 workorders.add(pworkOrder); @@ -1384,6 +1395,7 @@ public class ProOrderServiceImpl implements IProOrderService { sonOrder.setWorkerOrder(sworkOrderCode); sonOrder.setParentOrder(parentWorkOrder); sonOrder.setQuantitySplit(sonOrder.getQuantity()); + sonOrder.setShiftId(shiftId); if(CollectionUtils.isEmpty(sonOrder.getChildren())){ sonOrder.setEndFlag(1); } @@ -1412,7 +1424,16 @@ public class ProOrderServiceImpl implements IProOrderService { /**拆批次**/ proOrder.setProdSpc(plineInfo.getDh());//借用字段 + + + List workorderBatches0 = getBatchList(proOrder);//TODO; + + if(CollectionUtils.isEmpty(workorderBatches0)){ + logger.error("批次太多,请检查【产品批次数量】、【产线产能】、【批次号夜班开始字母】是否设置正常。"); + return AjaxResult.error(642,"批次太多,请检查产品批次数量是否设置正常。"); + } + List workBatchs = new ArrayList<>(); for(int m=0;m100){ - logger.error("批次太多,请检查产品批次数量是否设置正常。"); - return R.fail("批次太多,请检查产品批次数量是否设置正常。"); - } - int pn = proOrderWorkorderBatchMapper.insertWorkorderBatchs(workBatchs); System.out.println("pn:"+pn); } } - return R.ok(); + return AjaxResult.success(); } /** @@ -1507,12 +1522,33 @@ public class ProOrderServiceImpl implements IProOrderService { pworkOrderQua = pworkOrderQua - batchQua0.getBatchQuaStandar().longValue(); } + List batches = proOrderWorkorderMapper.getBatchDict("batch_flag"); + char dayWorkBatchStart = batches.get(0).charAt(0); + char nightWorkBatchStart = batches.get(1).charAt(0); + int dayBatches = nightWorkBatchStart - dayWorkBatchStart; + int nigthBatches = 'Z' - nightWorkBatchStart; + + int maxBatchNum = 0; + char startZM = 'A'; + if("5".equals(proOrder.getShiftId())){//白班 + maxBatchNum = nightWorkBatchStart - dayWorkBatchStart; + startZM = dayWorkBatchStart; + }else if("2".equals(proOrder.getShiftId())){//夜班 + maxBatchNum = 'Z' - nightWorkBatchStart; + startZM = nightWorkBatchStart; + } + + if(workorderBatches.size()>maxBatchNum){ + logger.error("大于工厂字典【batch_flag】推理的的批次数"); + return null; + } + //获取批次号集合 List batchCodes = StringUtils.batchAutoCreate(proOrder.getFactoryCode(), proOrder.getProdSpc(), DateUtils.dateTime("yyyy-MM-dd",proOrder.getProductDate()), proOrder.getAtrr2().substring(proOrder.getAtrr2().length()-1), - "0",workorderBatches.size()); + "0",workorderBatches.size(),startZM); for(int n=0;n getRecommendLines(ProOrder proOrder){ + protected List getRecommendLines(List proLines,ProOrder proOrder){ List lines = new ArrayList<>(); - List proLines = proOrderMapper.getSelectLineLevel1(proOrder); //订单总量 proOrder.setQuantitySplit(proOrder.getQuantitySplit()==null?0L:proOrder.getQuantitySplit()); BigDecimal orderQuality = new BigDecimal(proOrder.getQuantity()).subtract(new BigDecimal(proOrder.getQuantitySplit())); @@ -1547,18 +1582,7 @@ public class ProOrderServiceImpl implements IProOrderService { public static void main(String args[]){ -// String arrayStr = "[[\"GX01\",\"LG1\"],[\"GX01\",\"LG2\"],[\"GX02\",\"S1\"],[\"GX02\",\"S2\"],[\"GX03\",\"HF01\"],[\"GX04\",\"SPJ01\"]]"; -// JSONArray jsonArray = JSONArray.parseArray(arrayStr); -// for(int c=0;c + insert into mes_prepare_detail @@ -778,7 +781,7 @@ product_name,unit,quantity_split,route_code,prod_line_code, product_date,parent_order, status,create_by,create_time, prod_type,factory_code,end_flag,del_flag,sort_no, - belong_work_order + belong_work_order,shift_id )VALUES ( @@ -786,7 +789,7 @@ #{d.productName},#{d.unit},#{d.quantitySplit},#{d.routeCode},#{d.prodLineCode}, #{d.productDate},#{d.parentOrder},#{d.status},#{d.createBy},#{d.createTime}, #{d.prodType}, #{d.factoryCode},#{d.endFlag},'2',#{d.sortNo}, - #{d.belongWorkOrder} + #{d.belongWorkOrder},#{d.shiftId} ) From 2c6c9ef7f726c067a318d8b8dcbe29daef009792 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 16 Jul 2024 14:27:46 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=9C=80=E5=B0=91?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml index 9563e082..81d3d993 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml @@ -225,7 +225,7 @@ GROUP BY line_code )pt on mlp.line_code = pt.line_code where mlp.del_flag = '0' and product_code = #{prodCode} - order by mlp.use_man desc,pt.n desc + order by mlp.use_man asc,pt.n desc From db41cdb221d75d3c1c948c05b435902c158de2e9 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 16 Jul 2024 15:58:14 +0800 Subject: [PATCH 03/13] =?UTF-8?q?update=20-=20ems=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BaseLineMonitorServiceImpl.java | 4 +- .../op/energy/base/utils/ExportExcelUtil.java | 35 +++++++ .../controller/dataAnalysisController.java | 22 +++-- .../service/impl/DataAnalysisServiceImpl.java | 1 - .../mapper/base/BaseLineMonitorMapper.xml | 92 ++++++++++++++----- .../mapper/report/ReportPointDnbMapper.xml | 11 +-- 6 files changed, 128 insertions(+), 37 deletions(-) diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseLineMonitorServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseLineMonitorServiceImpl.java index 9604da9d..771c1b3d 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseLineMonitorServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseLineMonitorServiceImpl.java @@ -95,7 +95,7 @@ public class BaseLineMonitorServiceImpl implements IBaseLineMonitorService { if (lineMonitor.getObjid().equals(lineMonitor.getParentId())) { continue; } - Long grade = 0L; + Long grade = 1L; grade = updateLineMonitorGrade(baseLineMonitors, lineMonitor, objIdList, grade); if (StringUtils.isNull(lineMonitor.getGrade()) || !lineMonitor.getGrade().equals(grade)) { lineMonitor.setGrade(grade); @@ -111,7 +111,6 @@ public class BaseLineMonitorServiceImpl implements IBaseLineMonitorService { /** * 线路计量信息等级更新 - * * @param baseLineMonitors * @param lineMonitor * @param objIdList @@ -294,7 +293,6 @@ public class BaseLineMonitorServiceImpl implements IBaseLineMonitorService { /** * 递归查找monitorId最下级节点中的表 - * * @param monitors * @param monitorId * @return diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/utils/ExportExcelUtil.java b/op-modules/op-energy/src/main/java/com/op/energy/base/utils/ExportExcelUtil.java index 27d842cb..8b1549b2 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/utils/ExportExcelUtil.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/utils/ExportExcelUtil.java @@ -609,6 +609,41 @@ public class ExportExcelUtil { return result; } + /** + * 获取List连续相同数据的开始和结束的下标 + * 与计量设备编号联动 + * @param countList + * @return + */ + public static List findConsecutiveIndices(List countList, List monitorIdList) { + List result = new ArrayList<>(); + + if (monitorIdList == null || monitorIdList.isEmpty()) { + return result; + } + + int start = 0; + int end = 0; + + for (int i = 1; i < monitorIdList.size(); i++) { + if (monitorIdList.get(i).equals(monitorIdList.get(i - 1))) { + end = i; + } else { + if (start != end) { + result.add(new int[]{start, end}); + } + start = i; + end = i; + } + } + + if (start != end) { + result.add(new int[]{start, end}); + } + + return result; + } + /** * 创建表格样式 * diff --git a/op-modules/op-energy/src/main/java/com/op/energy/report/controller/dataAnalysisController.java b/op-modules/op-energy/src/main/java/com/op/energy/report/controller/dataAnalysisController.java index 412cf097..7db82206 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/report/controller/dataAnalysisController.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/report/controller/dataAnalysisController.java @@ -187,7 +187,8 @@ public class dataAnalysisController extends BaseController { @PostMapping("/classificationExport") @ResponseBody - public void classificationExport(HttpServletResponse response, @RequestParam(required = false) Map paramMap) { + public void classificationExport(HttpServletResponse response, @RequestParam(required = false) Map paramMap) + { List list = dataAnalysisService.classificationExportReport(paramMap); List originalList = SpringUtils.deepCopy(list); @@ -198,12 +199,18 @@ public class dataAnalysisController extends BaseController { ArrayList threeList = new ArrayList<>(); ArrayList fourList = new ArrayList<>(); ArrayList fiveList = new ArrayList<>(); + ArrayList threeMList = new ArrayList<>(); + ArrayList fourMList = new ArrayList<>(); + ArrayList fiveMList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { oneList.add(list.get(i).getOneExpend() == null ? "" : list.get(i).getOneExpend().toPlainString()); twoList.add(list.get(i).getTwoExpend() == null ? "" : list.get(i).getTwoExpend().toPlainString()); threeList.add(list.get(i).getThreeExpend() == null ? "" : list.get(i).getThreeExpend().toPlainString()); fourList.add(list.get(i).getFourExpend() == null ? "" : list.get(i).getFourExpend().toPlainString()); fiveList.add(list.get(i).getFiveExpend() == null ? "" : list.get(i).getFiveExpend().toPlainString()); + threeMList.add(list.get(i).getThreeMonitorId() == null ? "" : list.get(i).getThreeMonitorId()); + fourMList.add(list.get(i).getFourMonitorId() == null ? "" : list.get(i).getFourMonitorId()); + fiveMList.add(list.get(i).getFiveMonitorId() == null ? "" : list.get(i).getFiveMonitorId()); } List oneListIndices = findConsecutiveIndices(oneList); for (int[] consecutiveIndex : oneListIndices) { @@ -217,24 +224,27 @@ public class dataAnalysisController extends BaseController { list.get(i).setTwoExpend(null); } } - List threeListIndices = findConsecutiveIndices(threeList); + List threeListIndices = findConsecutiveIndices(threeList, threeMList); for (int[] consecutiveIndex : threeListIndices) { + if(consecutiveIndex[1] - consecutiveIndex[0] < 1){ + continue; + } for (int i = consecutiveIndex[0] + 1; i < consecutiveIndex[1] + 1; i++) { list.get(i).setThreeExpend(null); } } - List fourListIndices = findConsecutiveIndices(fourList); + List fourListIndices = findConsecutiveIndices(fourList, fourMList); for (int[] consecutiveIndex : fourListIndices) { - if (consecutiveIndex[1] - consecutiveIndex[0] < 2) { + if(consecutiveIndex[1] - consecutiveIndex[0] < 1){ continue; } for (int i = consecutiveIndex[0] + 1; i < consecutiveIndex[1] + 1; i++) { list.get(i).setFourExpend(null); } } - List fiveListIndices = findConsecutiveIndices(fiveList); + List fiveListIndices = findConsecutiveIndices(fiveList, fiveMList); for (int[] consecutiveIndex : fiveListIndices) { - if (consecutiveIndex[1] - consecutiveIndex[0] < 2) { + if(consecutiveIndex[1] - consecutiveIndex[0] < 1){ continue; } for (int i = consecutiveIndex[0] + 1; i < consecutiveIndex[1] + 1; i++) { diff --git a/op-modules/op-energy/src/main/java/com/op/energy/report/service/impl/DataAnalysisServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/report/service/impl/DataAnalysisServiceImpl.java index 4c4e19ed..0321117c 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/report/service/impl/DataAnalysisServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/report/service/impl/DataAnalysisServiceImpl.java @@ -320,7 +320,6 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { baseLineLoss.setParams(params); List baseLineLosses = baseLineLossMapper.selectBaseLineLossList(baseLineLoss); try { - List lineMonitorList = baseLineMonitorMapper.selectBaseLineMonitorList(new BaseLineMonitor()); for (BaseLineLoss lineLoss : baseLineLosses) { HashMap hashMap = new HashMap<>(); List> energyConsumptionList = new ArrayList<>(); diff --git a/op-modules/op-energy/src/main/resources/mapper/base/BaseLineMonitorMapper.xml b/op-modules/op-energy/src/main/resources/mapper/base/BaseLineMonitorMapper.xml index ffeffcca..e610bea3 100644 --- a/op-modules/op-energy/src/main/resources/mapper/base/BaseLineMonitorMapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/base/BaseLineMonitorMapper.xml @@ -32,43 +32,93 @@ - select objid, parent_id, monitor_id, monitor_name, monitor_addr, monitor_type, monitor_status, collect_device_id, build_id, ancestors, grade, correct_value, is_ammeter, line_name, line_length, line_status, power_capacity, water_capacity, dept_id, user_id, create_by, create_time, update_by, update_time from base_line_monitor + select blm.objid, + blm.parent_id, + blm.monitor_id, + bmi.monitor_name, + bmi.monitor_addr, + blm.monitor_type, + blm.monitor_status, + blm.collect_device_id, + blm.build_id, + blm.ancestors, + blm.grade, + blm.correct_value, + blm.is_ammeter, + blm.line_name, + blm.line_length, + blm.line_status, + blm.power_capacity, + blm.water_capacity, + blm.dept_id, + blm.user_id, + blm.create_by, + blm.create_time, + blm.update_by, + blm.update_time + from base_line_monitor blm + left join base_monitor_info bmi on blm.monitor_id = bmi.monitor_id diff --git a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml index 84af652d..04d8d248 100644 --- a/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/report/ReportPointDnbMapper.xml @@ -88,13 +88,13 @@ (SELECT t.monitor_id FROM base_monitor_info t WHERE dbo.FIND_IN_SET(#{monitorSubset}, ancestors) > 0)) - and begin_time between #{params.beginBeginTime} and #{params.endBeginTime} + and CONVERT(VARCHAR(17), begin_time, 120) between #{params.beginBeginTime} and #{params.endBeginTime} - and begin_time between #{params.startTime} and #{params.endTime} + and CONVERT(VARCHAR(17), begin_time, 120) between #{params.startTime} and #{params.endTime} - and begin_time between #{params.beginCollectTime} and #{params.endCollectTime} + and CONVERT(VARCHAR(17), begin_time, 120) between #{params.beginCollectTime} and #{params.endCollectTime} and end_time = #{endTime} and record_time = #{recordTime} @@ -220,9 +220,8 @@ rpd.monitor_id monitorId, m.monitor_name monitorName, m.monitor_addr address, - sum(isnull(ert.expend,0)) expend, + sum(isnull(rpd.expend,0)) expend, max(rpd.meter_value) meterValue, - GROUP_CONCAT(DISTINCT bpu.user_name SEPARATOR ',') owningUser, concat(#{beginCollectTime},' 至 ',#{endCollectTime}) timeRange, m.monitor_hierarchy monitorHierarchy, m.grade @@ -243,7 +242,7 @@ left join base_public_user bpu on bmp.public_share_id = bpu.id - and left(CONVERT(VARCHAR(17), rpd.begin_time, 120)e,10) between #{beginCollectTime} and #{endCollectTime} + and left(CONVERT(VARCHAR(17), rpd.begin_time, 120),10) between #{beginCollectTime} and #{endCollectTime} and rpd.monitor_id IN From 25e7440973b0061ba8a8018df776cf668876d633 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Tue, 16 Jul 2024 16:12:21 +0800 Subject: [PATCH 04/13] =?UTF-8?q?2024-07-16=20=E8=AE=BE=E5=A4=87-=E7=82=B9?= =?UTF-8?q?=E6=A3=80=E3=80=81=E5=B7=A1=E6=A3=80=E3=80=81=E4=BF=9D=E5=85=BB?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=BB=84=E7=BA=BF=E5=B1=95=E7=A4=BAPC?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/device/controller/EquOrderController.java | 4 ++-- .../main/java/com/op/device/mapper/EquOrderMapper.java | 3 +++ .../op/device/service/impl/DeviceTaskServiceImpl.java | 5 +++++ .../main/resources/mapper/device/EquOrderMapper.xml | 10 ++++++++-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java index cd3343bd..286ad35f 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java @@ -39,7 +39,7 @@ public class EquOrderController extends BaseController { */ @RequiresPermissions("device:deviceOrder:list") @GetMapping("/list") - @Log(title = "保养记录", businessType = BusinessType.QUERY) + @Log(title = "查询工单", businessType = BusinessType.QUERY) public TableDataInfo list(EquOrder equOrder) { startPage(); List list = equOrderService.selectEquOrderList(equOrder); @@ -50,7 +50,7 @@ public class EquOrderController extends BaseController { * 导出计划工单列表 */ @RequiresPermissions("device:deviceOrder:export") - @Log(title = "点检记录", businessType = BusinessType.EXPORT) + @Log(title = "计划工单", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, EquOrder equOrder) { List list = equOrderService.selectEquOrderList(equOrder); diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index f8c54e8f..096a8849 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -187,4 +187,7 @@ public interface EquOrderMapper { * @param equ */ void updateEquipmentStatus(Equipment equ); + + //获取组线信息 + String getGroupLine(String auxiliaryEquipmentCode); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java index 39d334e7..b64a4807 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java @@ -339,6 +339,11 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService { if ("1".equals(plan.getUpkeep())) {//1委外工单 order.setOutsourceCode("BW" + orderCode); } + + //查询组线 + String lineName = equOrderMapper.getGroupLine(plan.getEquipmentCode()); + order.setPlanProdLine(lineName); + /**equ_order**/ sce = equOrderMapper.insertEquOrder(order); System.out.println(plan.getPlanCode() + "========equ_order:" + sce); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 32caab51..d20a4aaf 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -47,7 +47,6 @@ - @@ -110,7 +109,7 @@ and eo.plan_type = #{planType} and eo.order_code like concat('%', #{orderCode}, '%') and eo.plan_workshop = #{planWorkshop} - and eo.plan_prod_line = #{planProdLine} + and eo.plan_prod_line like concat('%', #{planProdLine}, '%') and eo.plan_loop = #{planLoop} and eo.plan_loop_type = #{planLoopType} and eo.equipment_code like concat('%',#{equipmentCode}, '%') @@ -517,5 +516,12 @@ and del_flag = '0' + + From 746f963f3c12f9b4c7c41bc6b61b1631170096b3 Mon Sep 17 00:00:00 2001 From: A0010407 Date: Wed, 17 Jul 2024 11:28:09 +0800 Subject: [PATCH 05/13] =?UTF-8?q?2024-07-17=20=E8=AE=BE=E5=A4=87-=E6=89=8B?= =?UTF-8?q?=E6=8C=81-=E7=82=B9=E6=A3=80=E5=B7=A1=E6=A3=80=E4=BF=9D?= =?UTF-8?q?=E5=85=BB=E6=8F=90=E4=BA=A4=E5=90=8E=E5=BE=AE=E4=BF=A1=E6=8F=90?= =?UTF-8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DevicePDAServiceImpl.java | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 5ca46a7c..8c0dcd63 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -396,6 +396,78 @@ public class DevicePDAServiceImpl implements IDevicePDAService { String key = "#header.poolName"; equRepairOrder.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", "")); equRepairOrderMapper.insertEquRepairOrder(equRepairOrder); + + //微信提醒 + //PDA企业微信报修审核提醒 + //发企业微信--------------------开始(跟班组有关) + SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); //规范时间格式 + SysNoticeGroup noticeQo = new SysNoticeGroup(); + noticeQo.setNoticeId(10L); + List notices = equRepairOrderMapper.getNoticesGroup(noticeQo); + if(!CollectionUtils.isEmpty(notices)) { + List wecharts = new ArrayList<>(); + List userCodes = notices.stream() + .map(SysNoticeGroup::getUserCode) + .collect(Collectors.toList()); + for (SysNoticeGroup noticeDto : notices) { + WechartDTO wechart0 = new WechartDTO(); + wechart0.setUserId(noticeDto.getWxId()); + String contentInfo = noticeDto.getNoticeContent(); + //在前端填的时候,需要判空!!!!!! + contentInfo = contentInfo + .replace("${message}", "\n") + .replace("${equipmentCode}", equOrder.getEquipmentCode()+"\n") + .replace("${orderCode}", equOrder.getOrderCode()+"\n") + .replace("${orderDesc}", equRepairOrder.getOrderSource() + "存在不达标检查项"+"\n") + ; + //故障开始时间 + if(equOrder.getOrderStart() != null){ + contentInfo = contentInfo.replace("${orderBreakdownTime}", myFmt.format(equOrder.getOrderStart())+"\n"); + }else{ + contentInfo = contentInfo.replace("${orderBreakdownTime}", "无"+"\n"); + } + + //报修人equOrder + if(equOrder.getPlanPersonName() != null){ + contentInfo = contentInfo.replace("${orderRepairmanName}", equOrder.getPlanPersonName()+"\n"); + }else{ + contentInfo = contentInfo.replace("${orderRepairmanName}", "无"+"\n"); + } + + //查询设备相关信息 + //设备名称 + EquEquipment equ = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equOrder.getEquipmentCode()); + if(StringUtils.isNotEmpty(equ.getEquipmentName())){ + contentInfo = contentInfo.replace("${equipmentName}", equ.getEquipmentName()+"\n"); + }else{ + contentInfo = contentInfo.replace("${equipmentName}", "无"+"\n"); + } + //设备位置 + if(StringUtils.isNotEmpty(equ.getEquipmentLocation())){ + contentInfo = contentInfo.replace("${equipmentLocation}", equ.getEquipmentLocation()+"\n"); + }else{ + contentInfo = contentInfo.replace("${equipmentLocation}", "无"+"\n"); + } + + Pattern p= Pattern.compile("<[^>]+>"); + Matcher m = p.matcher(contentInfo); + contentInfo = m.replaceAll(""); + System.out.println(contentInfo); + + wechart0.setText(contentInfo); + wecharts.add(wechart0); + } + logger.info("PDA端"+ equRepairOrder.getOrderSource() + "报修企业微信提醒请求:" + JSONObject.toJSONString(wecharts)); + if (!CollectionUtils.isEmpty(wecharts)) { + + new Thread(() -> { + AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts); + logger.info("PDA端报修企业微信提醒结果:" + JSONObject.toJSONString(wxresult)); + + }).start(); + } + //发企业微信--------------------结束 + } } // 如果不存在未达标信息 From 355d8e6d6d7e1361d29f11901c27d3fa970537cb Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 18 Jul 2024 14:59:23 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/common/core/utils/http/HttpUtils.java | 4 +- .../java/com/op/mes/mapper/MesLineMapper.java | 2 +- .../mes/service/impl/MesLineServiceImpl.java | 48 ++------ .../resources/mapper/mes/MesLineMapper.xml | 2 +- .../op/open/service/impl/OpenServiceImpl.java | 1 + .../main/java/com/op/plan/domain/ProLine.java | 9 ++ .../java/com/op/plan/domain/ProOrder.java | 9 ++ .../service/impl/ProOrderServiceImpl.java | 32 +++-- .../mapper/plan/ProOrderWorkorderMapper.xml | 3 +- .../service/IQcMaterialGroupService.java | 2 +- .../impl/QcCheckTaskIncomeServiceImpl.java | 6 +- .../impl/QcCheckTaskProduceServiceImpl.java | 1 + .../impl/QcCheckTypeProjectServiceImpl.java | 2 +- .../impl/QcCheckUnqualifiedServiceImpl.java | 18 +-- .../service/impl/QcGoalServiceImpl.java | 116 +++++++++++++++++- .../impl/QcMaterialGroupServiceImpl.java | 2 +- .../quality/QcCheckTypeProjectMapper.xml | 9 +- .../mapper/quality/QcMaterialGroupMapper.xml | 17 ++- 18 files changed, 206 insertions(+), 77 deletions(-) diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/http/HttpUtils.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/http/HttpUtils.java index bb3e5a57..a9716114 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/http/HttpUtils.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/http/HttpUtils.java @@ -162,13 +162,13 @@ public class HttpUtils { conn.setRequestProperty("user-agent" , "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Accept-Charset" , "utf-8"); // conn.setRequestProperty("contentType" , "utf-8"); - conn.setRequestProperty("content-Type", "application/json; charset=utf-8"); + conn.setRequestProperty("content-Type", "application/json; charset=GBK"); conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); out.print(param); out.flush(); - in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8")); + in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "GBK")); String line; while ((line = in.readLine()) != null) { result.append(line); diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesLineMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesLineMapper.java index b6c32d7b..c578bd0d 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesLineMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesLineMapper.java @@ -72,7 +72,7 @@ public interface MesLineMapper { MesLine selectInfoByLineProduct(MesLine mesLine); - void insertLineProduct(MesLine mesLine); + int insertLineProduct(MesLine mesLine); void updateLineProduct(MesLine mesLine); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineServiceImpl.java index 7217382a..f683ea81 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesLineServiceImpl.java @@ -1,6 +1,7 @@ package com.op.mes.service.impl; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -14,6 +15,7 @@ import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.mes.domain.MesLineProcess; import com.op.mes.domain.MesLineProduct; +import com.op.mes.mapper.MesLineProductMapper; import com.op.mes.service.IMesLineProcessService; import com.op.mes.service.IMesLineProductService; import org.apache.commons.collections4.CollectionUtils; @@ -43,6 +45,9 @@ public class MesLineServiceImpl implements IMesLineService { @Autowired private MesLineMapper mesLineMapper; + @Autowired + private MesLineProductMapper mesLineProductMapper; + @Autowired private IMesLineProcessService mesLineProcessService; @Autowired @@ -97,49 +102,20 @@ public class MesLineServiceImpl implements IMesLineService { */ @Override @DS("#header.poolName") - @Transactional(propagation = Propagation.REQUIRED) + // @Transactional(propagation = Propagation.REQUIRED) public int insertMesLine(MesLine mesLine) { - mesLine.setCreateTime(DateUtils.getNowDate()); - mesLine.setCreateBy(SecurityUtils.getUsername()); - mesLine.setId(IdUtils.fastSimpleUUID()); - String belongTo = mesLine.getId(); // 获取工厂编码 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String key = "#header.poolName"; String factoryCode = request.getHeader(key.substring(8)).replace("ds_", ""); - mesLine.setFactoryCode(factoryCode); - // 绑定工艺 - List processList = mesLine.getProcessList(); - List qualityList = mesLine.getQualityList(); - if (!CollectionUtils.isEmpty(processList)) { - - String lineCode = mesLine.getLineCode(); - String lineName = mesLine.getLineName(); - for (int i = 0; i < processList.size(); i++) { - MesLineProcess mesLineProcess = new MesLineProcess(); - mesLineProcess.setBelongTo(belongTo); - mesLineProcess.setProcessName(processList.get(i)); - mesLineProcess.setQuality(qualityList.get(i)); - mesLineProcess.setLineCode(lineCode); - mesLineProcess.setLineName(lineName); - mesLineProcess.setFactoryCode(factoryCode); - mesLineProcessService.insertMesLineProcess(mesLineProcess); - } - } // 绑定产品 - List productList = mesLine.getProductList(); - if (CollectionUtils.isNotEmpty(productList)) { - for (MesLineProduct item : productList) { - item.setId(IdUtils.fastSimpleUUID()); - item.setBelongTo(belongTo); - item.setFactoryCode(factoryCode); - item.setCreateBy(SecurityUtils.getUsername()); - item.setCreateTime(DateUtils.getNowDate()); - } - mesLineProductService.batchInsertMesLineProduct(productList); - } + mesLine.setId(IdUtils.fastSimpleUUID()); + mesLine.setFactoryCode(factoryCode); + mesLine.setCreateBy(SecurityUtils.getUsername()); + mesLine.setCreateTime(DateUtils.getNowDate()); + int m = mesLineMapper.insertLineProduct(mesLine); - return mesLineMapper.insertMesLine(mesLine); + return m; } /** diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineMapper.xml index 64ab6d24..6815cce6 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesLineMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesLineMapper.xml @@ -204,7 +204,7 @@ select id, line_code, use_man, efficiency from mes_line_product where del_flag = '0' and line_code = #{lineCode} - and use_man = #{useMan} and efficiency = #{efficiency} + and product_code = #{productCode} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java index bacb239e..8b14ef83 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java @@ -23,7 +23,7 @@ public interface IQcMaterialGroupService { public QcMaterialGroup selectQcMaterialGroupById(String id); /** - * 获得原始物料分组 + * 获得检验标准 * @param qcMaterialGroup * @return */ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 41b62061..e33853b9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -140,7 +140,7 @@ public class QcCheckTaskIncomeServiceImpl implements /** * 新增来料检验 - * + * 来料检验要根据检验标准进行 * @param qcCheckTaskIncome 来料检验 * @return 结果 */ @@ -640,7 +640,7 @@ public class QcCheckTaskIncomeServiceImpl implements } @Override - @Transactional(rollbackFor = Exception.class) + //@Transactional(rollbackFor = Exception.class) public int commitCheckResults(QcCheckTaskIncome qcCheckTaskIncome) { logger.info("质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome)); List details = qcCheckTaskIncome.getQcCheckTaskDetails(); @@ -815,7 +815,7 @@ public class QcCheckTaskIncomeServiceImpl implements if("produce".equals(qcCheckTaskIncome.getTypeCode())){ unqualified.setTypeCode(qcCheckTaskIncome.getTypeCode()); unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); - + unqualified.setUser(qcCheckTaskIncome.getUpdateBy()); //申请人- unqualified.setSqr(qcCheckTaskIncome.getSqr()); //申请部门 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java index 0aba0dd8..9a4c1882 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java @@ -145,6 +145,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService * 新增生产过程检验任务 * * @param qcCheckTaskProduce 生产过程检验任务 + * 巡检 首检 * @return 结果 */ @Override diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java index e851b40a..16b45793 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java @@ -247,7 +247,7 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService return failOrder; } - @Transactional(rollbackFor = Exception.class) + //@Transactional(rollbackFor = Exception.class) public String syncFunc(QcMaterialGroupDetail materialGroupDetail){ String failOrder = ""; Date nowDate = DateUtils.getNowDate(); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java index 39466663..6321d131 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java @@ -184,7 +184,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService //QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); //发起来料检验OA流程 Map paramMap = new HashMap<>(); - paramMap.put("user",task.getSqr());//提交人工号 + paramMap.put("user",task.getUser());//提交人工号 paramMap.put("requestLevel",0);//流程紧急度 paramMap.put("requestName","ZL0010-来料检验不合格控制流程");//流程名称 paramMap.put("workflowId",113454);//该流程对应的唯- workFlowld @@ -195,7 +195,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService StringBuffer mainObject = new StringBuffer(); mainObject.append("{"); - mainObject.append("\"SQR\":"+"\""+task.getSqr()+"");//申请人-- + mainObject.append("\"SQR\":"+"\""+task.getSqr()+"\"");//申请人-- mainObject.append(",\"CQ\":"+task.getOaFactory());//厂区-- mainObject.append(",\"LLLB\":"+task.getMaterialType());//来料类别【0、1】 mainObject.append(",\"MATNR\":"+"\""+task.getMaterialCode()+"\"");//物料编码 @@ -314,31 +314,31 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); //发起来料检验OA流程 Map paramMap = new HashMap<>(); - paramMap.put("user",task.getSqr());//提交人工号 + paramMap.put("user",task.getUser());//提交人工号 paramMap.put("requestLevel",0);//流程紧急度 paramMap.put("requestName","ZL0030-品质异常流程-智能制造-"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getIncomeTime())+"(产品名称:"+detailInfo.getMaterialName()+")");//流程名称 paramMap.put("workflowId",113455);//该流程对应的唯- workFlowld StringBuffer mainObject = new StringBuffer(); mainObject.append("{"); - mainObject.append("\"CPMC\":"+detailInfo.getMaterialName());//产品名称 - mainObject.append(",\"CPBM\":"+detailInfo.getMaterialCode());//产品编码 - mainObject.append(",\"SQBM\":"+task.getSqbm());//0品质保障部 + mainObject.append("\"CPMC\":"+"\""+detailInfo.getMaterialName()+"\"");//产品名称 + mainObject.append(",\"CPBM\":"+"\""+detailInfo.getMaterialCode()+"\"");//产品编码 + mainObject.append(",\"SQBM\":"+"\""+task.getSqbm()+"\"");//0品质保障部 mainObject.append(",\"SQR\":"+"\""+task.getSqr()+"\"");//申请人:默认当前用户 mainObject.append(",\"SQSJ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",detailInfo.getCheckTime())+"\"");//申请时间 mainObject.append(",\"SCCJ\":"+"\"162\"");//所属车间 mainObject.append(",\"SCPH\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号 - mainObject.append(",\"SCSL\":"+"\""+task.getQuality()+"\"");//生产数量 + mainObject.append(",\"SCSL\":"+task.getQuality());//生产数量 mainObject.append(",\"FXDD\":"+"\""+task.getCheckLoc()+"\"");//发现地点 mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"");//发现日期 mainObject.append(",\"BH\":"+"\""+detailInfo.getCheckNo()+"\"");//编号:流水号 年月日+四位流水号 - mainObject.append(",\"YCFW\":"+task.getOaFactoryF()+"\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 + mainObject.append(",\"YCFW\":"+"\""+task.getOaFactoryF()+"\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述 mainObject.append(",\"Notes\":"+"\"\"");//测试备注 mainObject.append(",\"SFXYZG\":"+"\""+task.getSfxyzg()+"\"");//*是否需要主管审核 1否 0是 mainObject.append(",\"PGZG\":"+"\""+task.getPgzg()+"\"");//QC主管:SFXYZG字段为"是",则此项选择QC主管信息 mainObject.append(",\"PGZR\":"+"\""+task.getPgzr()+"\"");//质量主管 660:朱继新 - mainObject.append(",\"SFGYSWT\":"+task.getSfgyswt()+"\"");//*是否供应商问题 1非供应商问题 0是供应商问题 + mainObject.append(",\"SFGYSWT\":"+"\""+task.getSfgyswt()+"\"");//*是否供应商问题 1非供应商问题 0是供应商问题 mainObject.append("}"); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java index f3aa0a00..84fc9a99 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java @@ -1,22 +1,34 @@ package com.op.quality.service.impl; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.List; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; +import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcCheckUnqualified; import com.op.quality.domain.vo.TreeSelect; +import com.op.quality.mapper.QcCheckTaskIncomeMapper; +import com.op.system.api.RemoteOpenService; +import com.op.system.api.RemoteQualityService; +import com.op.system.api.domain.SysNoticeGroup; +import com.op.system.api.domain.dto.WechartDTO; +import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; import com.sun.xml.bind.v2.TODO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.quality.mapper.QcGoalMapper; import com.op.quality.domain.QcGoal; import com.op.quality.service.IQcGoalService; +import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -31,8 +43,21 @@ import javax.servlet.http.HttpServletRequest; */ @Service public class QcGoalServiceImpl implements IQcGoalService { + protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private QcGoalMapper qcGoalMapper; +// @Autowired +// private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; +// @Autowired +// private RemoteOpenService remoteOpenService; +// +// private static Pattern p2= Pattern.compile("<[^>]+>"); + + @Autowired + private RemoteOpenService remoteOpenService; + @Autowired + private RemoteQualityService remoteQualityService; + /** * 查询质量目标 @@ -59,9 +84,92 @@ public class QcGoalServiceImpl implements IQcGoalService { for (QcGoal item : qcGoals) { item.setHasChildren(true); } +// QcCheckUnqualified task = new QcCheckUnqualified(); +// task.setUser("002007");//9999999 +// task.setSqr("660"); +// task.setOaFactory("0"); +// task.setMaterialType("0"); +// task.setMaterialCode("000000040000015128"); +// task.setMaterialName("榄菊蚊香加大盘Ф137.5mm×H100mm36圈内增高塑料筒(有字盖)2201"); +// task.setSupplierCode("0000100330"); +// task.setSupplierName("中山市荣星塑料包装有限公司"); +// task.setQuality("15296"); +// task.setUnit("ST"); +// task.setCheckNo("202407130047"); +// task.setCzbjr("284"); +// task.setMaterialFrom("2"); +// task.setZcf("0"); +// task.setZcoemcm("转出工厂"); +// task.setRemark("zxl测试不合格发起oa"); +// task.setQczg("660"); +// this.createLLOA(task); + +// //手持来料质检触发 +// QcCheckTaskIncomeDTO qcCheckTaskIncomeDTO = new QcCheckTaskIncomeDTO(); +// qcCheckTaskIncomeDTO.setPoolName("ds_1000" ); +// qcCheckTaskIncomeDTO.setCheckLoc("mjtest"); +// qcCheckTaskIncomeDTO.setCheckType("checkTypeLL"); +//// qcCheckTaskIncomeDTO.setCheckManCode("mobile"); +//// qcCheckTaskIncomeDTO.setCheckManName("手持测试用户"); +// qcCheckTaskIncomeDTO.setSupplierCode("0000102272"); +// qcCheckTaskIncomeDTO.setFactoryCode("1000"); +// qcCheckTaskIncomeDTO.setSupplierName("广州市彩晴包装印刷有限公司"); +// qcCheckTaskIncomeDTO.setOrderType("8040");//包材固定码 +// qcCheckTaskIncomeDTO.setUnit("KG"); +// qcCheckTaskIncomeDTO.setQuality(new BigDecimal("10")); +// qcCheckTaskIncomeDTO.setMaterialCode("000000040000011094"); +// qcCheckTaskIncomeDTO.setMaterialName("LANJU 出口封口胶(1000米/卷)(1901)"); +// qcCheckTaskIncomeDTO.setIncomeBatchNo("202312250001"); +// qcCheckTaskIncomeDTO.setOrderNo("4500297568"); +// qcCheckTaskIncomeDTO.setIncomeTime(new Date()); +// remoteQualityService.createIncomeTask(qcCheckTaskIncomeDTO); + return qcGoals; } + private AjaxResult createLLOA(QcCheckUnqualified task){ + + //QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); + //发起来料检验OA流程 + Map paramMap = new HashMap<>(); + paramMap.put("user",task.getUser());//提交人工号 + paramMap.put("requestLevel",0);//流程紧急度 + paramMap.put("requestName","ZL0010-来料检验不合格控制流程");//流程名称 + paramMap.put("workflowId",113454);//该流程对应的唯- workFlowld + + if(StringUtils.isEmpty(task.getIncomeBatchNo())){ + task.setIncomeBatchNo(DateUtils.parseDateToStr("yyyyMMdd",new Date())); + } + + StringBuffer mainObject = new StringBuffer(); + mainObject.append("{"); + mainObject.append("\"SQR\":"+"\""+task.getSqr()+"\"");//申请人-- + mainObject.append(",\"CQ\":"+task.getOaFactory());//厂区-- + mainObject.append(",\"LLLB\":"+task.getMaterialType());//来料类别【0、1】 + mainObject.append(",\"MATNR\":"+"\""+task.getMaterialCode()+"\"");//物料编码 + mainObject.append(",\"MAKTX\":"+"\""+task.getMaterialName()+"\"");//物料名称 + mainObject.append(",\"suppliernum\":"+"\""+task.getSupplierCode()+"\"");//供应商编码 + mainObject.append(",\"supplier\":"+"\""+task.getSupplierName()+"\"");//供应商名称 + mainObject.append(",\"CHARG\":"+"\""+task.getIncomeBatchNo()+"\"");//生产批号 + mainObject.append(",\"comeQty\":"+"\""+task.getQuality()+"\"");//来料数量 + mainObject.append(",\"DW\":"+"\""+task.getUnit()+"\"");//来料单位 + mainObject.append(",\"testDate\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",new Date())+"\"");//检验日期 + mainObject.append(",\"JYBH\":"+"\""+task.getCheckNo()+"\"");//检验编码 + mainObject.append(",\"BJY\":"+"\""+task.getCzbjr()+"\"");//仓储报检人-- + mainObject.append(",\"WLLY\":"+"\""+task.getMaterialFrom()+"\"");//物料来源 + mainObject.append(",\"ZCF\":"+"\""+task.getZcf()+"\"");//转出方 + mainObject.append(",\"ZCOEMCM\":"+"\""+task.getZcoemcm()+"\"");//转出OEM厂名 + mainObject.append(",\"memo\":"+"\""+task.getRemark()+"\"");//不合格描述 + mainObject.append(",\"PZGLBZG\":"+"\""+task.getQczg()+"\"");//qc主管-- + mainObject.append("}"); + + paramMap.put("mainObject",mainObject.toString()); + logger.info("流程Id 113454:"+ JSONObject.toJSONString(paramMap)); + AjaxResult oaR = remoteOpenService.OAInspection(paramMap); + logger.info("流程Id 113454:"+ JSONObject.toJSONString(oaR)); + return oaR; + } + @Override @DS("#header.poolName") public List selectChildrenByParent(QcGoal goal) { diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java index b4ac41c6..9eded988 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcMaterialGroupServiceImpl.java @@ -54,7 +54,7 @@ public class QcMaterialGroupServiceImpl implements IQcMaterialGroupService { } /** - * 获取原始物料分组 + * 获取检验标准 * @param qcMaterialGroup * @return */ diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml index f26e1a89..57a272af 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml @@ -307,13 +307,20 @@ where del_flag = '0' @@ -40,10 +44,10 @@ - + select id, group_name, attr1, create_by, create_time, + update_by, update_time, factory_code, del_flag, + group_code + from qc_material_group where id = #{id} From cdb7b88a36b65240429e48e6d75e06c8d6e2c524 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 18 Jul 2024 16:46:52 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/QcCheckTaskIncomeServiceImpl.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index e33853b9..60fba57f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -825,7 +825,7 @@ public class QcCheckTaskIncomeServiceImpl implements //发现地点 unqualified.setCheckLoc(qcCheckTaskIncome.getCheckLoc()); //是否需要主管审核 - unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); + unqualified.setSfxyzg(qcCheckTaskIncome.getSfxyzg()); if(qcCheckTaskIncome.getSfgyswt().equals("0")){//是 //qc主管 unqualified.setPgzg(qcCheckTaskIncome.getPgzg()); @@ -834,6 +834,7 @@ public class QcCheckTaskIncomeServiceImpl implements } //是否供应商问题 unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); + unqualified.setOaFactoryF(qcCheckTaskIncome.getOaFactoryF()); }else if("material".equals(qcCheckTaskIncome.getTypeCode())){ unqualified.setTypeCode(qcCheckTaskIncome.getTypeCode()); @@ -859,7 +860,8 @@ public class QcCheckTaskIncomeServiceImpl implements //来料数量 unqualified.setQuality(qcCheckTaskIncome.getQuality().toString()); //来料单位 - unqualified.setUnit(qcCheckTaskIncome.getUnit()); + //CAR:0 PC:1 其它:2 吨:3 千克:4 + unqualified.setUnit(getConvertUnit(qcCheckTaskIncome.getUnit())); //检验编号 unqualified.setCheckNo(qcCheckTaskIncome.getCheckNo()); //仓储报检人-李爱娟 @@ -931,6 +933,15 @@ public class QcCheckTaskIncomeServiceImpl implements //发企业微信--------------------结束 } } + //CAR:0 PC:1 其它:2 吨:3 千克:4 + protected String getConvertUnit(String unit){ + String unitOa= ""; + switch (unit) { + case "ST": unitOa="1"; + default: unitOa="1"; + } + return unitOa; + } protected String getSampleQua(QcCheckTaskIncome qcCheckTaskIncome){ String sampleQuaStr = ""; @@ -993,4 +1004,9 @@ public class QcCheckTaskIncomeServiceImpl implements public SysUser getOaUserId(SysUser getUserIdList) { return qcCheckTaskIncomeMapper.getOaUserId(getUserIdList); } + + public static void main(String args[]){ + QcCheckTaskIncomeServiceImpl impl = new QcCheckTaskIncomeServiceImpl(); + System.out.println(impl.getConvertUnit("ST")); + } } From 57e5bf149086a6e3039a042686d404f5429d22cc Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Fri, 19 Jul 2024 13:31:05 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=8D=95=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/domain/dto/MesPrepareDetailDTO.java | 20 +++++++++++++++++ .../domain/sap/SapMaterialPreparation.java | 20 +++++++++++++++++ .../op/mes/domain/MesReportWorkConsume.java | 18 +++++++++++++++ .../mapper/mes/MesReportWorkConsumeMapper.xml | 2 +- .../impl/ProOrderWorkorderServiceImpl.java | 5 ++++- .../mapper/plan/ProOrderWorkorderMapper.xml | 5 +++-- .../SapMaterialPreparationServiceImpl.java | 22 +++++++++---------- 7 files changed, 76 insertions(+), 16 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/MesPrepareDetailDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/MesPrepareDetailDTO.java index 6f566e3c..01d2da62 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/MesPrepareDetailDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/dto/MesPrepareDetailDTO.java @@ -84,6 +84,26 @@ public class MesPrepareDetailDTO extends BaseEntity { private String recoil; private String buyFlag; private String parentWorkOrder; + //以输入单位计的数量 + private String erfmg; + //条目单位 + private String erfme; + + public String getErfmg() { + return erfmg; + } + + public void setErfmg(String erfmg) { + this.erfmg = erfmg; + } + + public String getErfme() { + return erfme; + } + + public void setErfme(String erfme) { + this.erfme = erfme; + } public String getParentWorkOrder() { return parentWorkOrder; diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapMaterialPreparation.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapMaterialPreparation.java index c9aef40b..be0a7734 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapMaterialPreparation.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapMaterialPreparation.java @@ -29,6 +29,26 @@ public class SapMaterialPreparation { private String RGEKZ; //直接采购标识 private String DBSKZ; + //以输入单位计的数量 + private String ERFMG; + //条目单位 + private String ERFME; + + public String getERFMG() { + return ERFMG; + } + + public void setERFMG(String ERFMG) { + this.ERFMG = ERFMG; + } + + public String getERFME() { + return ERFME; + } + + public void setERFME(String ERFME) { + this.ERFME = ERFME; + } public String getAUFNR() { return AUFNR; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java index c2de7b11..a75a09c4 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesReportWorkConsume.java @@ -114,6 +114,24 @@ public class MesReportWorkConsume extends BaseEntity { private String planQuantity; private String machineCode; private String rspos;//sap物料项目编号 + private String erfmg; + private String erfme; + + public String getErfmg() { + return erfmg; + } + + public void setErfmg(String erfmg) { + this.erfmg = erfmg; + } + + public String getErfme() { + return erfme; + } + + public void setErfme(String erfme) { + this.erfme = erfme; + } public String getRspos() { return rspos; diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml index 0c98d05d..2c9f01f2 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesReportWorkConsumeMapper.xml @@ -114,7 +114,7 @@ pow.workorder_code_sap workorderCodeSap, mrwc.attr1, mrwc.warehouse_code warehouseCode, - mpd.quantity planQuantity, + mpd.quantity planQuantity,mpd.erfmg,mpd.erfme, mrwc.parent_order parentOrder,mrwc.report_code reportCode, mrwc.rspos from mes_report_work_consume mrwc diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index 9e869f28..1377de7a 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -488,11 +488,14 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { detail.setCreateBy(SecurityUtils.getUsername()); detail.setCreateTime(createDate); detail.setParentWorkOrder(workOrders.get(0)); + detail.setErfmg(sap.getERFMG());//以输入单位计的数量 + detail.setErfme(sap.getERFME());//条目单位 details.add(detail); logger.info("领料单内容detail:" + sap.getRSPOS() + "," + sap.getMATNR() + "," + sap.getMAKTX() + "," + sap.getWERKS() + "," + sap.getLGORT() + "," + sap.getBDTER() + "," + sap.getBDMNG() + "," + sap.getZQLSL() + "," + - sap.getMEINS() + "," + sap.getRGEKZ() + "," + sap.getDBSKZ() + sap.getMEINS() + "," + sap.getRGEKZ() + "," + sap.getDBSKZ()+ "," + + sap.getERFMG() + "," + sap.getERFME() ); } if (!CollectionUtils.isEmpty(details)) { diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index 044983b3..1b34d814 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -764,14 +764,15 @@ INSERT INTO mes_prepare_detail ( record_id,prepare_id,material_code,material_name,unit, quantity,create_by,create_time,factory_code,status, - locator,need_date,recoil,fund_quanlity,buy_flag,parent_work_order,attr1 + locator,need_date,recoil,fund_quanlity,buy_flag,parent_work_order,attr1, + erfmg,erfme )VALUES ( #{d.recordId},#{d.prepareId},#{d.materialCode},#{d.materailName},#{d.unit}, #{d.quantity},#{d.createBy},#{d.createTime},#{d.factoryCode},#{d.status}, #{d.locator},#{d.needDate},#{d.recoil},#{d.fundQuanlity},#{d.buyFlag},#{d.parentWorkOrder}, - #{d.attr1} + #{d.attr1},#{d.erfmg},#{d.erfme} ) diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapMaterialPreparationServiceImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapMaterialPreparationServiceImpl.java index a17bdfdb..5efb9c9a 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapMaterialPreparationServiceImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapMaterialPreparationServiceImpl.java @@ -67,6 +67,10 @@ public class SapMaterialPreparationServiceImpl implements SapMaterialPreparation String BDMNG = maraTable.getString("BDMNG"); String ZQLSL = maraTable.getString("ZQLSL"); String MEINS = maraTable.getString("MEINS"); + + String ERFMG = maraTable.getString("ERFMG"); + String ERFME = maraTable.getString("ERFME"); + String RGEKZ = maraTable.getString("RGEKZ"); String DBSKZ = maraTable.getString("DBSKZ"); log.info("备料单输出------" + "订单号:" + AUFNR @@ -79,20 +83,10 @@ public class SapMaterialPreparationServiceImpl implements SapMaterialPreparation " - 需求量:" + BDMNG + " - 欠料数量:" + ZQLSL + " - 基本计量单位:" + MEINS + + " - 以输入单位计的数量:" + ERFMG + + " - 条目单位:" + ERFME + " - 标识:反冲:" + RGEKZ + " - 直接采购标识:" + DBSKZ); -// System.out.println("订单号:" + AUFNR -// + " - 预留/相关需求的项目编号:" + RSPOS + -// " - 物料号:" + MATNR + -// " - 物料描述(短文本):" + MAKTX + -// " - 工厂:" + WERKS + -// " - 库存地点:" + LGORT + -// " - 组件的需求日期 :" + BDTER + -// " - 需求量:" + BDMNG + -// " - 欠料数量:" + ZQLSL + -// " - 基本计量单位:" + MEINS + -// " - 标识:反冲:" + RGEKZ + -// " - 直接采购标识:" + DBSKZ ); SapMaterialPreparation sapMaterialPreparation = new SapMaterialPreparation(); sapMaterialPreparation.setAUFNR(AUFNR); sapMaterialPreparation.setBDMNG(BDMNG); @@ -106,6 +100,10 @@ public class SapMaterialPreparationServiceImpl implements SapMaterialPreparation sapMaterialPreparation.setRSPOS(RSPOS); sapMaterialPreparation.setWERKS(WERKS); sapMaterialPreparation.setZQLSL(ZQLSL); + + sapMaterialPreparation.setERFMG(ERFMG); + sapMaterialPreparation.setERFME(ERFME); + sapMaterialPreparationList.add(sapMaterialPreparation); } String MSG = func.getExportParameterList().getString("MSG"); From 95dcfd10db15b0f7694b4502850f9a6383c850cd Mon Sep 17 00:00:00 2001 From: A0010407 Date: Fri, 19 Jul 2024 15:36:21 +0800 Subject: [PATCH 09/13] =?UTF-8?q?2024-07-19=20=E8=AE=BE=E5=A4=87-=E7=BB=84?= =?UTF-8?q?=E7=BA=BF=E9=97=AE=E9=A2=98=E5=AF=BC=E8=87=B4=E7=82=B9=E6=A3=80?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E4=B8=8D=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/device/service/impl/DeviceTaskServiceImpl.java | 9 ++++++--- .../src/main/resources/mapper/device/EquOrderMapper.xml | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java index b64a4807..eb415717 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DeviceTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.context.SecurityContextHolder; import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; @@ -340,9 +341,11 @@ public class DeviceTaskServiceImpl implements IDeviceTaskService { order.setOutsourceCode("BW" + orderCode); } - //查询组线 - String lineName = equOrderMapper.getGroupLine(plan.getEquipmentCode()); - order.setPlanProdLine(lineName); + if(StringUtils.isNotEmpty(plan.getEquipmentCode())){ + //查询组线 + String lineName = equOrderMapper.getGroupLine(plan.getEquipmentCode()); + order.setPlanProdLine(lineName); + } /**equ_order**/ sce = equOrderMapper.insertEquOrder(order); diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index d20a4aaf..27598cf6 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -518,7 +518,7 @@ From e333fa5d73b4c751ffd8066a7adc1a1a2a74d385 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 22 Jul 2024 11:55:04 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E6=9D=A5=E6=96=99oa=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=B0=83=E6=95=B42?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/op/common/core/utils/StringUtils.java | 2 - .../op/quality/domain/QcCheckTaskIncome.java | 9 +++ .../op/quality/domain/QcCheckUnqualified.java | 9 +++ .../impl/QcCheckTaskIncomeServiceImpl.java | 18 +++--- .../impl/QcCheckUnqualifiedServiceImpl.java | 8 +-- .../service/impl/QcGoalServiceImpl.java | 59 +++++++++++++++++++ 6 files changed, 92 insertions(+), 13 deletions(-) diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java index c6b43806..c58179ad 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java @@ -488,8 +488,6 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { calendar.setTime(productDate); // Add three years to the current date calendar.add(Calendar.YEAR, 3); - // Subtract one day from the new date - calendar.add(Calendar.DAY_OF_MONTH, -1); // Get the new date Date futureDate = calendar.getTime(); // Format the new date diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java index 9b7f1462..4d678ccc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java @@ -214,6 +214,15 @@ public class QcCheckTaskIncome extends BaseEntity { private String pgzg;//QC主管:SFXYZG字段为"是",则此项选择QC主管信息 private String pgzr;//质量主管 private String oaFactoryF;//异常范围 + private String sccj; + + public String getSccj() { + return sccj; + } + + public void setSccj(String sccj) { + this.sccj = sccj; + } public String getOaFactoryF() { return oaFactoryF; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java index 971a2d15..01fd5968 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java @@ -132,6 +132,15 @@ public class QcCheckUnqualified extends BaseEntity { private String pgzg;//QC主管:SFXYZG字段为"是",则此项选择QC主管信息 private String pgzr;//质量主管 private String oaFactoryF; + private String sccj;//所属车间 + + public String getSccj() { + return sccj; + } + + public void setSccj(String sccj) { + this.sccj = sccj; + } public String getOaFactoryF() { return oaFactoryF; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 4b015980..6e099a99 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -817,9 +817,11 @@ public class QcCheckTaskIncomeServiceImpl implements unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); unqualified.setUser(qcCheckTaskIncome.getUpdateBy()); //申请人- - unqualified.setSqr("MSL%23"+qcCheckTaskIncome.getSqr()); + unqualified.setSqr("MSL#"+qcCheckTaskIncome.getSqr()); //申请部门 - unqualified.setSqbm("MSD%23"+qcCheckTaskIncome.getSqbm()); + unqualified.setSqbm(qcCheckTaskIncome.getSqbm()); + //所属车间 + unqualified.setSccj("MSD#"+qcCheckTaskIncome.getSccj()); //实际生产数量 unqualified.setQuality(qcCheckTaskIncome.getQuality().toString()); //发现地点 @@ -828,9 +830,9 @@ public class QcCheckTaskIncomeServiceImpl implements unqualified.setSfxyzg(qcCheckTaskIncome.getSfxyzg()); if(qcCheckTaskIncome.getSfgyswt().equals("0")){//是 //qc主管 - unqualified.setPgzg("MSL%23"+qcCheckTaskIncome.getPgzg()); + unqualified.setPgzg("MSL#"+qcCheckTaskIncome.getPgzg()); //质量主管 - unqualified.setPgzr("MSL%23"+qcCheckTaskIncome.getPgzr()); + unqualified.setPgzr("MSL#"+qcCheckTaskIncome.getPgzr()); } //是否供应商问题 unqualified.setSfgyswt(qcCheckTaskIncome.getSfgyswt()); @@ -865,15 +867,15 @@ public class QcCheckTaskIncomeServiceImpl implements //检验编号 unqualified.setCheckNo(qcCheckTaskIncome.getCheckNo()); //仓储报检人-李爱娟 - unqualified.setCzbjr("MSL%23"+qcCheckTaskIncome.getCzbjr()); + unqualified.setCzbjr("MSL#"+qcCheckTaskIncome.getCzbjr()); //物料类别 unqualified.setMaterialType(qcCheckTaskIncome.getMaterialType()); //物料来源 unqualified.setMaterialFrom(qcCheckTaskIncome.getMaterialFrom()); //QC主管-朱继新 - unqualified.setQczg("MSL%23"+qcCheckTaskIncome.getQczg()); + unqualified.setQczg("MSL#"+qcCheckTaskIncome.getQczg()); //申请人- - unqualified.setSqr("MSL%23"+qcCheckTaskIncome.getSqr()); + unqualified.setSqr("MSL#"+qcCheckTaskIncome.getSqr()); unqualified.setUser(qcCheckTaskIncome.getUpdateBy()); //转出方 unqualified.setZcf(qcCheckTaskIncome.getZcf()); @@ -913,6 +915,8 @@ public class QcCheckTaskIncomeServiceImpl implements .replace("${quality}", qcCheckTaskIncome.getQuality()+"\n"); if(StringUtils.isNotBlank(qcCheckTaskIncome.getIncomeBatchNo())){ contentInfo = contentInfo.replace("${incomeBatchNo}", qcCheckTaskIncome.getIncomeBatchNo()+"\n"); + }else{ + contentInfo = contentInfo.replace("${incomeBatchNo}", "无"+"\n"); } if(StringUtils.isNotBlank(qcCheckTaskIncome.getOrderNo())){ contentInfo = contentInfo.replace("${orderNo}", qcCheckTaskIncome.getOrderNo()+"\n"); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java index b65c1b96..8f681429 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java @@ -313,9 +313,9 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService mainObject={"CPMC":"榄菊加大盘野菊花蚊香塑料筒装(18装)(36单圈)", "CPBM":"000000010101046600", "SQBM":"0", - "SQR":"MSL%23999999", + "SQR":"MSL#999999", \"SQR\":\"MSL#002007\", "SQSJ":"2024-07-18", - "SCCJ":"MSD%2310000769", + "SCCJ":"MSD#10000769", \"SCCJ\":\"MSD#10000152\", "SCPH":"LJ20240705ABACEQ", "SCSL":100, "FXDD":"测试发现地点", @@ -348,11 +348,11 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService mainObject.append(",\"SQBM\":"+"\""+task.getSqbm()+"\"");//0品质保障部 mainObject.append(",\"SQR\":"+"\""+task.getSqr()+"\"");//申请人:默认当前用户 mainObject.append(",\"SQSJ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",detailInfo.getCheckTime())+"\"");//申请时间 - mainObject.append(",\"SCCJ\":"+"\"162\"");//所属车间 + mainObject.append(",\"SCCJ\":"+"\""+task.getSccj()+"\"");//所属车间 mainObject.append(",\"SCPH\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号 mainObject.append(",\"SCSL\":"+task.getQuality());//生产数量 mainObject.append(",\"FXDD\":"+"\""+task.getCheckLoc()+"\"");//发现地点 - mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"");//发现日期 + mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",detailInfo.getCheckTime())+"\"");//发现日期 mainObject.append(",\"BH\":"+"\""+detailInfo.getCheckNo()+"\"");//编号:流水号 年月日+四位流水号 mainObject.append(",\"YCFW\":"+"\""+task.getOaFactoryF()+"\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java index 84fc9a99..44af3945 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcGoalServiceImpl.java @@ -12,6 +12,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcCheckTaskIncome; import com.op.quality.domain.QcCheckUnqualified; import com.op.quality.domain.vo.TreeSelect; import com.op.quality.mapper.QcCheckTaskIncomeMapper; @@ -58,6 +59,9 @@ public class QcGoalServiceImpl implements IQcGoalService { @Autowired private RemoteQualityService remoteQualityService; + @Autowired + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + /** * 查询质量目标 @@ -124,6 +128,21 @@ public class QcGoalServiceImpl implements IQcGoalService { // qcCheckTaskIncomeDTO.setIncomeTime(new Date()); // remoteQualityService.createIncomeTask(qcCheckTaskIncomeDTO); +// 品质检验 +// QcCheckUnqualified task = new QcCheckUnqualified(); +// task.setTaskId("3ffb199037ba46a48e39cb148d7ad9e0"); +// task.setUser("002007"); +// task.setSqbm("0"); +// task.setSqr("MSL#002007"); +// task.setSccj("MSD#10000152"); +// task.setQuality("100"); +// task.setCheckLoc("测试发现地点"); +// task.setOaFactoryF("0"); +// task.setSfxyzg("0"); +// task.setPgzg("MSL#019184"); +// task.setPgzr("MSL#019184"); +// task.setSfgyswt("0"); +// this.createProduceOA(task); return qcGoals; } @@ -170,6 +189,46 @@ public class QcGoalServiceImpl implements IQcGoalService { return oaR; } + private AjaxResult createProduceOA(QcCheckUnqualified task){ + + QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); + //发起来料检验OA流程 + Map paramMap = new HashMap<>(); + paramMap.put("user",task.getUser());//提交人工号 + paramMap.put("requestLevel",0);//流程紧急度 + paramMap.put("requestName","ZL0030-品质异常流程-智能制造-"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getIncomeTime())+"(产品名称:"+detailInfo.getMaterialName()+")");//流程名称 + paramMap.put("workflowId",113455);//该流程对应的唯- workFlowld + + StringBuffer mainObject = new StringBuffer(); + mainObject.append("{"); + mainObject.append("\"CPMC\":"+"\""+detailInfo.getMaterialName()+"\"");//产品名称 + mainObject.append(",\"CPBM\":"+"\""+detailInfo.getMaterialCode()+"\"");//产品编码 + mainObject.append(",\"SQBM\":"+"\""+task.getSqbm()+"\"");//0品质保障部 + mainObject.append(",\"SQR\":"+"\""+task.getSqr()+"\"");//申请人:默认当前用户 + mainObject.append(",\"SQSJ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",detailInfo.getCheckTime())+"\"");//申请时间 + mainObject.append(",\"SCCJ\":"+"\""+task.getSccj()+"\"");//所属车间 + mainObject.append(",\"SCPH\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号 + mainObject.append(",\"SCSL\":"+task.getQuality());//生产数量 + mainObject.append(",\"FXDD\":"+"\""+task.getCheckLoc()+"\"");//发现地点 + mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",detailInfo.getCheckTime())+"\"");//发现日期 + mainObject.append(",\"BH\":"+"\""+detailInfo.getCheckNo()+"\"");//编号:流水号 年月日+四位流水号 + mainObject.append(",\"YCFW\":"+"\""+task.getOaFactoryF()+"\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 + mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述 + mainObject.append(",\"Notes\":"+"\"\"");//测试备注 + mainObject.append(",\"SFXYZG\":"+"\""+task.getSfxyzg()+"\"");//*是否需要主管审核 1否 0是 + mainObject.append(",\"PGZG\":"+"\""+task.getPgzg()+"\"");//QC主管:SFXYZG字段为"是",则此项选择QC主管信息 + mainObject.append(",\"PGZR\":"+"\""+task.getPgzr()+"\"");//质量主管 660:朱继新 + mainObject.append(",\"SFGYSWT\":"+"\""+task.getSfgyswt()+"\"");//*是否供应商问题 1非供应商问题 0是供应商问题 + + mainObject.append("}"); + + paramMap.put("mainObject",mainObject.toString()); + logger.info("流程Id 113455:"+ JSONObject.toJSONString(paramMap)); + AjaxResult oaR = remoteOpenService.OAInspection(paramMap); + logger.info("流程Id 113455:"+ JSONObject.toJSONString(oaR)); + return oaR; + } + @Override @DS("#header.poolName") public List selectChildrenByParent(QcGoal goal) { From 26ca325e5fef02ab9583edbd81a65e5b6bf979a1 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 22 Jul 2024 14:43:37 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E8=BE=85=E5=8A=A9=E6=8E=92=E4=BA=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=B1=BB=E5=9E=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/op/plan/service/impl/ProOrderServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index d0a4a34a..7101c05c 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -1501,6 +1501,11 @@ public class ProOrderServiceImpl implements IProOrderService { workOrder.setStatus("w0"); workOrder.setCreateBy(SecurityUtils.getUsername()); workOrder.setCreateTime(pOrder.getCreateTime()); + if("LJ88".equals(pOrder.getOrderType())){ + workOrder.setProdType("LJ01"); + }else{ + workOrder.setProdType(pOrder.getOrderType()); + } workOrder.setProdType(proOrder.getOrderType()); workOrder.setFactoryCode(pOrder.getFactoryCode()); workOrder.setEndFlag(proOrder.getEndFlag()); From 05fb2811c8495a768fbd5abe6c148d16b9d41311 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 22 Jul 2024 15:26:10 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E8=BE=85=E5=8A=A9=E6=8E=92=E4=BA=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=B1=BB=E5=9E=8Bbug=E4=BF=AE=E5=A4=8D2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/op/common/core/utils/StringUtils.java | 4 +++- .../java/com/op/plan/service/impl/ProOrderServiceImpl.java | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java index c58179ad..f3e7defa 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/StringUtils.java @@ -475,7 +475,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { * * @param factoryCode 工厂代码 * @param lineCode 产线编码 - * @param productDate 生产日期 + * @param productDate 生产日期 生产日期减一天位有效期 * @param version 订单生产版本号最后一位 * @param productStatus 产出状态:正常是A * @param content 内容物 (根据产品,一般为0) @@ -488,6 +488,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { calendar.setTime(productDate); // Add three years to the current date calendar.add(Calendar.YEAR, 3); + // Subtract one day from the new date + calendar.add(Calendar.DAY_OF_MONTH, -1); // Get the new date Date futureDate = calendar.getTime(); // Format the new date diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index 7101c05c..b1f2380e 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -1506,7 +1506,6 @@ public class ProOrderServiceImpl implements IProOrderService { }else{ workOrder.setProdType(pOrder.getOrderType()); } - workOrder.setProdType(proOrder.getOrderType()); workOrder.setFactoryCode(pOrder.getFactoryCode()); workOrder.setEndFlag(proOrder.getEndFlag()); workOrder.setSortNo(pOrder.getSortNo());