From 68d7cca968338901cbac498e8f04f67866624e48 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 23 Aug 2023 17:28:02 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E5=A4=A7=E5=B1=8F=E6=94=B9?= =?UTF-8?q?=E9=80=A0=E6=88=90mybatis=E4=BB=A5=E5=8F=8A=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProductServiceImpl.java | 356 +++++++++++++++++- .../MpsBdProduceshiftorderController.java | 30 ++ .../IMpsBdProduceshiftorderService.java | 16 + .../dao/MpsBdProduceshiftorder.java | 181 +++++++++ .../mapper/MpsBdProduceshiftorderMapper.java | 90 +++++ .../xml/MpsBdProduceshiftorderMapper.xml | 257 +++++++++++++ .../MpsBdProduceshiftorderServiceImpl.java | 20 + 7 files changed, 940 insertions(+), 10 deletions(-) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/produceshiftorder/MpsBdProduceshiftorderController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/IMpsBdProduceshiftorderService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/MpsBdProduceshiftorder.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/MpsBdProduceshiftorderMapper.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/xml/MpsBdProduceshiftorderMapper.xml create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/impl/MpsBdProduceshiftorderServiceImpl.java diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/ProductServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/ProductServiceImpl.java index 3a615e87..ed45dd3d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/ProductServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/ProductServiceImpl.java @@ -3,28 +3,39 @@ package org.nl.wms.ext_manage.bigScreen.service.impl; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; - import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.wql.WQL; import org.nl.wms.ext_manage.bigScreen.SwitchOnOff; import org.nl.wms.ext_manage.bigScreen.WordOrderUtils; import org.nl.wms.ext_manage.bigScreen.service.ProductService; +import org.nl.wms.product_manage.service.produceshiftorder.dao.MpsBdProduceshiftorder; +import org.nl.wms.product_manage.service.produceshiftorder.dao.mapper.MpsBdProduceshiftorderMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Slf4j public class ProductServiceImpl implements ProductService { + @Autowired + private MpsBdProduceshiftorderMapper mpsBdProduceshiftorderMapper; + @Override public Map planReached(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.planReached(); } String today = DateUtil.today(); @@ -60,6 +71,61 @@ public class ProductServiceImpl implements ProductService { monthResult.put("joo1", joo1); monthResult.put("joo2", joo2); monthResult.put("joo3", joo3); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("dayResult", dayResult); + returnjo.put("monthResult", monthResult); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.planReached(); + } + String today = DateUtil.today(); + //1.计算当天的计划达成 + //01-弯头工段、02-综合工段、03-成品工段 + JSONObject map = new JSONObject(); + map.put("produce_date", today); + + map.put("worksection_type_scode", "01"); + JSONObject jo1 = mpsBdProduceshiftorderMapper.countTodayPlan(map); + + map.put("worksection_type_scode", "02"); + JSONObject jo2 = mpsBdProduceshiftorderMapper.countTodayPlan(map); + + + map.put("worksection_type_scode", "03"); + JSONObject jo3 = mpsBdProduceshiftorderMapper.countTodayPlan(map); + + JSONObject dayResult = new JSONObject(); + dayResult.put("jo1", jo1); + dayResult.put("jo2", jo2); + dayResult.put("jo3", jo3); + + //2.计算一个月的计划达成 + String beginOfMonth = DateUtil.formatTime(DateUtil.beginOfMonth(DateUtil.parseDate(today))); + JSONObject monthResult = new JSONObject(); + map.put("end_produce_date", today); + map.put("begin_produce_date", beginOfMonth); + + map.put("worksection_type_scode", "01"); + JSONObject joo1 = mpsBdProduceshiftorderMapper.countMoonPlan(map); + + map.put("worksection_type_scode", "02"); + JSONObject joo2 = mpsBdProduceshiftorderMapper.countMoonPlan(map); + + + map.put("worksection_type_scode", "03"); + JSONObject joo3 = mpsBdProduceshiftorderMapper.countMoonPlan(map); + + + monthResult.put("joo1", joo1); + monthResult.put("joo2", joo2); + monthResult.put("joo3", joo3); + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -70,7 +136,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map productSchedule(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.productSchedule(); } String today = DateUtil.today(); @@ -79,6 +145,25 @@ public class ProductServiceImpl implements ProductService { map.put("flag", "2"); map.put("produce_date", today); JSONArray result = WQL.getWO("BIGSCREENPRODUCT").addParamMap(map).process().getResultJSONArray(0); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", result); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.productSchedule(); + } + String today = DateUtil.today(); + //今日排产生产进度跟踪 + JSONObject map = new JSONObject(); + map.put("produce_date", today); + + List result = mpsBdProduceshiftorderMapper.productSchedule(map); + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -88,7 +173,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map output(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.output(); } JSONObject result = new JSONObject(); @@ -119,6 +204,58 @@ public class ProductServiceImpl implements ProductService { result.put("delayed_qty", delayed_qty); result.put("normal_qty", sum_qty - delayed_qty); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", result); + return returnjo;*/ + + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.output(); + } + + JSONObject result = new JSONObject(); + + String today = DateUtil.today(); + JSONObject map = new JSONObject(); + map.put("produce_date", today); + //统计产量方式一: 1 计算工单物料 2 计算每个物料清洗前一个工序 3拿着工序+物料 关联工单表 统计总数 + //1激光下料——推弯——清洗 + //2旋压-清洗 + //3盘管无屑下料-三通拉伸-镗孔-清洗 + //4直管无屑下料-镗孔-清洗 + //统计产量方式二: 只需要统计 推弯,旋压。镗孔 3个工序工单的数量 ('07','06','02') + JSONObject joo = mpsBdProduceshiftorderMapper.countProduct(map); + result.put("real_qty", joo.getString("real_qty")); + result.put("plan_qty", joo.getString("plan_qty")); + result.put("finish_rate", joo.getString("finish_rate")); + + //统计工单个数 + int sum_qty = mpsBdProduceshiftorderMapper.selectCount( + new QueryWrapper().lambda() + .eq(MpsBdProduceshiftorder::getIs_delete, "0") + .eq(MpsBdProduceshiftorder::getProduce_date, today) + .ne(MpsBdProduceshiftorder::getOrder_status, "00") + ); + + //统计延时工单 + map.put("product_date", today); + map.put("flag", "5"); + int delayed_qty = mpsBdProduceshiftorderMapper.selectCount( + new QueryWrapper().lambda() + .eq(MpsBdProduceshiftorder::getProduce_date, today) + .ne(MpsBdProduceshiftorder::getOrder_status, "00") + .apply("realproduceend_date > planproduceend_date") + ); + + result.put("sum_qty", sum_qty); + result.put("delayed_qty", delayed_qty); + result.put("normal_qty", sum_qty - delayed_qty); + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -126,10 +263,9 @@ public class ProductServiceImpl implements ProductService { return returnjo; } - @Override public Map worksectionHarvest(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.worksectionHarvest(); } //近一周工段产量 @@ -141,6 +277,7 @@ public class ProductServiceImpl implements ProductService { DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(DateUtil.now()), -i); dataArr.add(dateTime.toString().substring(0, 10)); } + for (int i = 0; i < dataArr.size(); i++) { JSONObject jo = new JSONObject(); String date = dataArr.get((dataArr.size() - i - 1)).toString(); @@ -161,6 +298,77 @@ public class ProductServiceImpl implements ProductService { jo.put("date", date.substring(5, date.length())); results.add(jo); } + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", results); + return returnjo;*/ + + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.worksectionHarvest(); + } + + //近一周工段产量 + //获取一周的日期 + JSONArray dataArr = new JSONArray(); + JSONArray results = new JSONArray(); + + for (int i = 0; i < 7; i++) { + DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(DateUtil.now()), -i); + dataArr.add(dateTime.toString().substring(0, 10)); + } + + // 7天日期集合 + List strList = JSONArray.parseArray(JSON.toJSONString(dataArr), String.class); + + // 查询所有工段7天的产量 + List allList = mpsBdProduceshiftorderMapper.workSectionHarvest(strList); + + // 处理每天的数据 + for (int i = 0; i < dataArr.size(); i++) { + JSONObject jo = new JSONObject(); + String date = dataArr.get((dataArr.size() - i - 1)).toString(); + + // 根据工段分组 + Map> mapList = allList.stream() + .collect(Collectors.groupingBy(row -> row.getString("worksection_type_scode"))); + + // 定义数据 + double elbow_qty = 0; // 弯头工段 + double comprehensive_qty = 0; // 综合工段 + double end_product_qty = 0; // 成品工段 + + // 处理数据 + for (String worksection_type_scode : mapList.keySet()) { + List groupList = mapList.get(worksection_type_scode); + + double real_qty = groupList.stream() + .filter(row -> date.equals(row.getString("produce_date"))) + .map(row -> row.getBigDecimal("real_qty")) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .doubleValue(); + + if ("01".equals(worksection_type_scode)) { + elbow_qty = real_qty; + } else if ("02".equals(worksection_type_scode)) { + comprehensive_qty = real_qty; + } else { + end_product_qty = real_qty; + } + + } + + jo.put("elbow_qty",elbow_qty); + jo.put("comprehensive_qty",comprehensive_qty); + jo.put("end_product_qty",end_product_qty); + jo.put("date", date.substring(5, date.length())); + results.add(jo); + } + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -170,7 +378,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map topHarvest(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.topHarvest(); } String today = DateUtil.today(); @@ -179,6 +387,27 @@ public class ProductServiceImpl implements ProductService { map.put("flag", "10"); map.put("produce_date", today); JSONArray results = WQL.getWO("BIGSCREENPRODUCT").addParamMap(map).process().getResultJSONArray(0); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", results); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.topHarvest(); + } + + //今日Top10产量 + String today = DateUtil.today(); + + JSONObject map = new JSONObject(); + map.put("produce_date", today); + + List results = mpsBdProduceshiftorderMapper.topHarvest(map); + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -188,7 +417,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map monthHarvest(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.monthHarvest(); } //30天产量走势 @@ -215,6 +444,49 @@ public class ProductServiceImpl implements ProductService { jo.put("date", date.substring(5, date.length())); results.add(jo); } + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", results); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.monthHarvest(); + } + + //30天产量走势 + JSONArray dataArr = new JSONArray(); + JSONArray results = new JSONArray(); + for (int i = 0; i < 30; i++) { + DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(DateUtil.now()), -i); + dataArr.add(dateTime.toString().substring(0, 10)); + } + + // 30天日期list数据 + List strList = JSONArray.parseArray(JSON.toJSONString(dataArr), String.class); + + // 30内所有数据 + List allList = mpsBdProduceshiftorderMapper.monthHarvest(strList); + + // 处理数据 + for (int i = 0; i < dataArr.size(); i++) { + String date = dataArr.get(dataArr.size() - i - 1).toString(); + + // 处理每一天数据 + BigDecimal real_qty = allList.stream() + .filter(row -> date.equals(row.getString("produce_date"))) + .map(row -> row.getBigDecimal("real_qty")) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + JSONObject jo = new JSONObject(); + jo.put("real_qty", real_qty); + jo.put("date", date.substring(5, date.length())); + results.add(jo); + } + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -224,7 +496,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map unfinishOrder(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.unfinishOrder(); } String today = DateUtil.today(); @@ -232,6 +504,26 @@ public class ProductServiceImpl implements ProductService { map.put("flag", "11"); map.put("produce_date", today); JSONArray results = WQL.getWO("BIGSCREENPRODUCT").addParamMap(map).process().getResultJSONArray(0); + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", results); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.unfinishOrder(); + } + + String today = DateUtil.today(); + + JSONObject map = new JSONObject(); + map.put("produce_date_today", today); + + List results = mpsBdProduceshiftorderMapper.unfinishOrder(map); + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); @@ -241,7 +533,7 @@ public class ProductServiceImpl implements ProductService { @Override public Map monthOrder(Map param) { - if (SwitchOnOff.type == 1){ + /* if (SwitchOnOff.type == 1){ return WordOrderUtils.monthOrder(); } //计算前9种物料产能 @@ -273,6 +565,50 @@ public class ProductServiceImpl implements ProductService { } } + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "操作成功!"); + returnjo.put("result", results); + return returnjo;*/ + + /* + * mybatis 优化 + */ + if (SwitchOnOff.type == 1){ + return WordOrderUtils.monthOrder(); + } + + //计算前9种物料产能 + String today = DateUtil.today(); + String beginOfMonth = DateUtil.formatTime(DateUtil.beginOfMonth(DateUtil.parseDate(today))); + + JSONObject map = new JSONObject(); + map.put("produce_date", today); + map.put("end_produce_date", today); + map.put("begin_produce_date", beginOfMonth); + + List results = mpsBdProduceshiftorderMapper.topNineProduct(map); + + //计算所有的产能 + int sum_count = mpsBdProduceshiftorderMapper.allProduct(map).getIntValue("real_qty"); + + // 前9种物料之和 + int count_num_flag = results.stream() + .map(row -> row.getBigDecimal("real_qty")) + .reduce(BigDecimal.ZERO, BigDecimal::add) + .intValue(); + + //如果有9种物料则需要计算其他 + if (results.size() == 9) { + if (count_num_flag < sum_count) { + JSONObject joo = new JSONObject(); + joo.put("material_name", "其他"); + joo.put("material_spec", "其他"); + joo.put("real_qty", sum_count - count_num_flag); + results.add(joo); + } + } + JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "操作成功!"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/produceshiftorder/MpsBdProduceshiftorderController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/produceshiftorder/MpsBdProduceshiftorderController.java new file mode 100644 index 00000000..15788881 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/produceshiftorder/MpsBdProduceshiftorderController.java @@ -0,0 +1,30 @@ +package org.nl.wms.product_manage.controller.produceshiftorder; + + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.product_manage.service.produceshiftorder.IMpsBdProduceshiftorderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 生产班次工单表 前端控制器 + *

+ * + * @author generator + * @since 2023-08-22 + */ +@RestController +@Api(tags = "工单") +@RequestMapping("api/mpsBdProduceshiftorder") +@Slf4j +public class MpsBdProduceshiftorderController { + + @Autowired + private IMpsBdProduceshiftorderService iMpsBdProduceshiftorderService; + +} + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/IMpsBdProduceshiftorderService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/IMpsBdProduceshiftorderService.java new file mode 100644 index 00000000..d554757a --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/IMpsBdProduceshiftorderService.java @@ -0,0 +1,16 @@ +package org.nl.wms.product_manage.service.produceshiftorder; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.product_manage.service.produceshiftorder.dao.MpsBdProduceshiftorder; + +/** + *

+ * 生产班次工单表 服务类 + *

+ * + * @author generator + * @since 2023-08-22 + */ +public interface IMpsBdProduceshiftorderService extends IService { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/MpsBdProduceshiftorder.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/MpsBdProduceshiftorder.java new file mode 100644 index 00000000..8986d617 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/MpsBdProduceshiftorder.java @@ -0,0 +1,181 @@ +package org.nl.wms.product_manage.service.produceshiftorder.dao; + +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 生产班次工单表 + *

+ * + * @author generator + * @since 2023-08-22 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("mps_bd_produceshiftorder") +public class MpsBdProduceshiftorder implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 生产班次工单标识 + */ + private String produceorder_id; + + /** + * 生产班次工单编号 + */ + private String produceorder_code; + + /** + * 机台工单号 + */ + private String producedeviceorder_code; + + /** + * 班次类型 + */ + private String shift_type_scode; + + /** + * 工序标识 + */ + private String workprocedure_id; + + /** + * 生产日期 + */ + private String produce_date; + + /** + * 计划数量 + */ + private BigDecimal plan_qty; + + /** + * 实际数量 + */ + private BigDecimal real_qty; + + /** + * 报工数量 + */ + private BigDecimal report_qty; + + /** + * 物料标识 + */ + private String material_id; + + /** + * 物料单重 + */ + private BigDecimal material_weight; + + /** + * 计划生产开始时间 + */ + private String planproducestart_date; + + /** + * 计划生产结束时间 + */ + private String planproduceend_date; + + /** + * 实际生产开始时间 + */ + private String realproducestart_date; + + /** + * 实际生产结束时间 + */ + private String realproduceend_date; + + /** + * 工单状态 + */ + private String order_status; + + /** + * 是否搬运 + */ + private String is_needmove; + + /** + * 工单类型 + */ + private String order_type_scode; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 部门ID + */ + private String sysdeptid; + + /** + * 公司ID + */ + private String syscompanyid; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 生产设备标识 + */ + private String device_id; + + /** + * 是否允许操作工修改报工数量 + */ + private String is_canupdate_update; + + /** + * 销售单标识 + */ + private String sale_id; + + private String jockey_id; + + private String is_error; + + private String error_info; + + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/MpsBdProduceshiftorderMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/MpsBdProduceshiftorderMapper.java new file mode 100644 index 00000000..b6452ca2 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/MpsBdProduceshiftorderMapper.java @@ -0,0 +1,90 @@ +package org.nl.wms.product_manage.service.produceshiftorder.dao.mapper; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.product_manage.service.produceshiftorder.dao.MpsBdProduceshiftorder; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 生产班次工单表 Mapper 接口 + *

+ * + * @author generator + * @since 2023-08-22 + */ +public interface MpsBdProduceshiftorderMapper extends BaseMapper { + + /** + * 大屏数据 - 计划达成 - 计算当天计划达成 + * @param json / + * @return / + */ + JSONObject countTodayPlan(JSONObject json); + + /** + * 大屏数据 - 计划达成 - 计算一个月计划达成 + * @param json / + * @return / + */ + JSONObject countMoonPlan(JSONObject json); + + /** + * 大屏数据 - 今日排产生产进度跟踪 + * @param json / + * @return / + */ + List productSchedule(JSONObject json); + + /** + * 大屏数据 - 今日产量 - 统计产量 + * @param json / + * @return / + */ + JSONObject countProduct(JSONObject json); + + /** + * 大屏数据 - 近一周工段产量 + * @param list / + * @return / + */ + List workSectionHarvest(@Param("chanList") List list); + + /** + * 大屏数据 - 今日Top10产量 + * @param json / + * @return / + */ + List topHarvest(JSONObject json); + + /** + * 大屏数据 - 30天产量走势 + * @param list / + * @return / + */ + List monthHarvest(@Param("chanList") List list); + + /** + * 大屏数据 - 今日未完成订单 + * @param json / + * @return / + */ + List unfinishOrder(JSONObject json); + + /** + * 大屏数据 - 30天生产订单分布 - 前9产能 + * @param json / + * @return / + */ + List topNineProduct(JSONObject json); + + /** + * 大屏数据 - 30天生产订单分布 - 计算所有产能 + * @param json / + * @return / + */ + JSONObject allProduct(JSONObject json); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/xml/MpsBdProduceshiftorderMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/xml/MpsBdProduceshiftorderMapper.xml new file mode 100644 index 00000000..f2f13712 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/dao/mapper/xml/MpsBdProduceshiftorderMapper.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/impl/MpsBdProduceshiftorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/impl/MpsBdProduceshiftorderServiceImpl.java new file mode 100644 index 00000000..fdacb494 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/produceshiftorder/impl/MpsBdProduceshiftorderServiceImpl.java @@ -0,0 +1,20 @@ +package org.nl.wms.product_manage.service.produceshiftorder.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.wms.product_manage.service.produceshiftorder.IMpsBdProduceshiftorderService; +import org.nl.wms.product_manage.service.produceshiftorder.dao.MpsBdProduceshiftorder; +import org.nl.wms.product_manage.service.produceshiftorder.dao.mapper.MpsBdProduceshiftorderMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 生产班次工单表 服务实现类 + *

+ * + * @author generator + * @since 2023-08-22 + */ +@Service +public class MpsBdProduceshiftorderServiceImpl extends ServiceImpl implements IMpsBdProduceshiftorderService { + +}