From f221f0ec05783be7a3302e08677503f03d6e6edd Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 23 Nov 2023 08:44:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E5=88=86=E6=9E=90=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/quality/ChartDTO.java | 6 +- .../system/api/domain/quality/FactoryDto.java | 126 ++++++++++++++++++ .../op/open/service/impl/OpenServiceImpl.java | 12 +- .../impl/ProOrderWorkorderServiceImpl.java | 20 +-- .../controller/QcStaticTableController.java | 65 +++++++-- .../op/quality/controller/QuaController.java | 44 +++++- .../com/op/quality/domain/QcCheckType.java | 22 ++- .../com/op/quality/domain/QcStaticTable.java | 27 ++++ .../op/quality/mapper/QcCheckTypeMapper.java | 16 ++- .../quality/mapper/QcStaticTableMapper.java | 9 +- .../quality/service/IQcCheckTypeService.java | 18 ++- .../service/IQcStaticTableService.java | 11 +- .../impl/QcStaticTableServiceImpl.java | 35 +++-- .../serviceImpl/QcCheckTypeServiceImpl.java | 28 +++- .../mapper/quality/QcCheckTypeMapper.xml | 34 ++++- .../mapper/quality/QcStaticTableMapper.xml | 61 +++++++-- 16 files changed, 449 insertions(+), 85 deletions(-) create mode 100644 op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/FactoryDto.java diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartDTO.java index 0f795e1b6..c070aa2ee 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartDTO.java @@ -17,7 +17,7 @@ import java.util.List; public class ChartDTO { private String name; private String type; - private List data; + private List data; public String getType() { return type; @@ -27,11 +27,11 @@ public class ChartDTO { this.type = type; } - public List getData() { + public List getData() { return data; } - public void setData(List data) { + public void setData(List data) { this.data = data; } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/FactoryDto.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/FactoryDto.java new file mode 100644 index 000000000..1964ae425 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/FactoryDto.java @@ -0,0 +1,126 @@ +package com.op.system.api.domain.quality; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.TreeEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 工厂模型对象 sys_factory + * + * @author Open Platform + * @date 2023-07-03 + */ +public class FactoryDto extends TreeEntity { + private static final long serialVersionUID = 1L; + + /** 工厂id */ + private Long factoryId; + + /** 部门名称 */ + @Excel(name = "工厂名称") + private String factoryName; + + /** 负责人 */ + @Excel(name = "负责人") + private String leader; + + /** 联系电话 */ + @Excel(name = "联系电话") + private String phone; + + /** 邮箱 */ + @Excel(name = "邮箱") + private String email; + + /** 部门状态(0正常 */ + @Excel(name = "工厂状态") + private String status; + + /** 删除标志(0代表存在 */ + private String delFlag; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + public void setFactoryId(Long factoryId) { + this.factoryId = factoryId; + } + + public Long getFactoryId() { + return factoryId; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public String getFactoryName() { + return factoryName; + } + + public void setLeader(String leader) { + this.leader = leader; + } + + public String getLeader() { + return leader; + } + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPhone() { + return phone; + } + public void setEmail(String email) { + this.email = email; + } + + public String getEmail() { + return email; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("factoryId", getFactoryId()) + .append("parentId", getParentId()) + .append("ancestors", getAncestors()) + .append("factoryName", getFactoryName()) + .append("orderNum", getOrderNum()) + .append("leader", getLeader()) + .append("phone", getPhone()) + .append("email", getEmail()) + .append("status", getStatus()) + .append("delFlag", getDelFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .toString(); + } +} diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index c5bc8c0cf..6cc06aee5 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -186,14 +186,14 @@ public class OpenServiceImpl implements OpenService { sysSapLog.setCreateTime(DateUtils.getNowDate()); openMapper.addSapLog(sysSapLog); - //R r = remoteSapService.sapRFWOrder(sapRFW); + R r = remoteSapService.sapRFWOrder(sapRFW); //上传成功,更改mes_report_work状态 - //if (r.getCode() == 200) { + if (r.getCode() == 200) { work.setUploadStatus("1"); - //} else { - // work.setUploadStatus("2"); - // work.setUploadMsg(r.getMsg()); - //} + } else { + work.setUploadStatus("2"); + work.setUploadMsg(r.getMsg()); + } work.setUploadTime(DateUtils.getNowDate()); openMapper.updateSyncSapStatus(work); //工单完成数量>工单数量:关闭订单 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 aac5d70a1..3509a1c85 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 @@ -279,20 +279,14 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { sysSapLog.setReqcode("请求"); sysSapLog.setCreateTime(DateUtils.getNowDate()); proOrderMapper.addSapLog(sysSapLog); -//未来生产要打开 -// R> r = remoteSapService.SapCreateOrder(sapList); -// logger.info("sap工单回传:" + r.getMsg()); -// if (500 == r.getCode()) { -// logger.error("sap工单回传:" + r.getMsg()); -// return 0; -// } -// List returnCodes = r.getData(); - //未来生产要删掉 - List returnCodes = new ArrayList<>(); - for(SapCreateOrder xnsap:sapList){ - returnCodes.add("test"); - } + R> r = remoteSapService.SapCreateOrder(sapList); + logger.info("sap工单回传:" + r.getMsg()); + if (500 == r.getCode()) { + logger.error("sap工单回传:" + r.getMsg()); + return 0; + } + List returnCodes = r.getData(); if (!CollectionUtils.isEmpty(returnCodes)) { for (String sapCode : returnCodes) { ProOrderWorkorder oworkSap = new ProOrderWorkorder(); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index 521a89928..c863f96fa 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -1,15 +1,18 @@ package com.op.quality.controller; +import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.op.common.core.utils.DateUtils; import com.op.system.api.domain.quality.ChartDTO; +import com.op.system.api.domain.quality.FactoryDto; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -86,26 +89,68 @@ public class QcStaticTableController extends BaseController { qcStaticTable.setYmArrayStart(ymStr); qcStaticTable.setYmArrayEnd(ymStr); } + if(StringUtils.isNotBlank(qcStaticTable.getMaterialCode())){ + qcStaticTable.setMaterialCode("'"+qcStaticTable.getMaterialCode().replace(",","','")+"'"); + } //xAxis; if(qcStaticTable.getYmArrayStart().equals(qcStaticTable.getYmArrayEnd())){ /**月内每日**/ List days = this.getXNames(qcStaticTable.getYmArrayStart()+"-01", qcStaticTable.getYmArrayEnd()+"-01","ymd"); resultdto.setxAxis(days); + + qcStaticTable.setDataType("ymd"); + qcStaticTable.setYmArrayStart(days.get(0)); + qcStaticTable.setYmArrayEnd(days.get(days.size()-1)); }else{ /**年内各月**/ List months = this.getXNames(qcStaticTable.getYmArrayStart(),qcStaticTable.getYmArrayEnd(),"ym"); resultdto.setxAxis(months); - } - //series;//legend.data - List seriesdtos= qcStaticTableService.getProduceChartData(qcStaticTable); - ChartDTO chartDTO = new ChartDTO(); - for(QcStaticTable seriesdto:seriesdtos){ - chartDTO.setName(seriesdto.getMaterialName()); - chartDTO.setType("line"); + + qcStaticTable.setDataType("ym"); + qcStaticTable.setYmArrayStart(months.get(0)); + qcStaticTable.setYmArrayEnd(months.get(months.size()-1)); } - resultdto.setSeries(null); + + List serieDTOs = qcStaticTableService.getProduceNames(qcStaticTable); + //legendData + List pnames = serieDTOs.stream().map(u -> u.getMaterialName()).collect(Collectors.toList()); + resultdto.setLegendData(pnames); + + Map seriesdtos= null; + if("ymd".equals(qcStaticTable.getDataType())){//ymd + //code->materialCode+yyyy-mm-dd + seriesdtos= qcStaticTableService.getProduceChartData(qcStaticTable); + }else{//ym + //code->materialCode+yyyy-mm-dd + seriesdtos= qcStaticTableService.getProduceChartDataYM(qcStaticTable); + } + + List seriesChart = new ArrayList<>(); + for(QcStaticTable serieDTO:serieDTOs){ + ChartDTO chartDTO = new ChartDTO(); + chartDTO.setName(serieDTO.getMaterialName()); + chartDTO.setType("line"); + String keyPre = serieDTO.getMaterialCode(); + List datas = new ArrayList<>(); + for(String ymd:resultdto.getxAxis()){ + String key = keyPre+ymd; + QcStaticTable mdata = seriesdtos.get(key); + if(mdata != null){ + BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65")) + .add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35))) + .divide(new BigDecimal(mdata.getSampleQuality())) + .setScale(2, BigDecimal.ROUND_HALF_UP); + datas.add(defectRate.doubleValue()); + }else{ + datas.add(0.00); + } + } + chartDTO.setData(datas); + seriesChart.add(chartDTO); + } + resultdto.setSeries(seriesChart); return resultdto; } @@ -163,4 +208,8 @@ public class QcStaticTableController extends BaseController { util.exportExcel(response, list, "质量系统报数据"); } + @GetMapping("/getWorkcenterList") + public List getWorkcenterList(FactoryDto factoryDto) { + return qcStaticTableService.getWorkcenterList(factoryDto); + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index b1a4176c8..d242a381b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -6,11 +6,10 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.page.TableDataInfo; -import com.op.quality.domain.QcCheckTaskProduce; -import com.op.quality.domain.QcCheckTaskWarehousing; -import com.op.quality.domain.QcProCheck; +import com.op.quality.domain.*; import com.op.quality.service.IQcCheckTaskProduceService; import com.op.quality.service.IQcCheckTaskWarehousingService; +import com.op.quality.service.IQcCheckTypeService; import com.op.quality.service.QcProCheckService; import com.op.system.api.RemoteMesService; import com.op.system.api.domain.dto.WCSDTO; @@ -34,12 +33,12 @@ public class QuaController extends BaseController { @Autowired private RemoteMesService remoteMesService; - @Autowired private IQcCheckTaskProduceService qcCheckTaskProduceService; - @Autowired private IQcCheckTaskWarehousingService qcCheckTaskWarehousingService; + @Autowired + private IQcCheckTypeService qcCheckTypeService; @PostMapping("/saveQcProCheck") public R saveQcProCheck(@RequestBody QcProCheck qcProCheck) { @@ -149,4 +148,39 @@ public class QuaController extends BaseController { //添加检测任务 return success(qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing)); } + + /** + * 任务数量管理 + */ + @GetMapping(value = "getTopTaskInfo") + public AjaxResult getTopTaskInfo(QcCheckType qcCheckType) { + if(StringUtils.isBlank(qcCheckType.getFactoryCode())){ + return error("[factoryCode]不能为空"); + } + return success(qcCheckTypeService.getTopTaskInfo(qcCheckType)); + } + + + /** + * 获取检验节点下拉列表 + */ + @GetMapping(value = "getCheckType") + public AjaxResult getCheckType(QcCheckType qcCheckType) { + if(StringUtils.isBlank(qcCheckType.getFactoryCode())){ + return error("[factoryCode]不能为空"); + } + return success(qcCheckTypeService.getCheckType(qcCheckType)); + } + + /** + * 获取待检验信息列表 + */ + @GetMapping(value = "getCheckTaskList") + public AjaxResult getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) { +// if(StringUtils.isBlank(qcCheckType.getFactoryCode())){ +// return error("[factoryCode]不能为空"); +// } +// return success(qcCheckTypeService.getCheckType(qcCheckType)); + return null; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckType.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckType.java index e6f76a14f..79249d12e 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckType.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckType.java @@ -7,7 +7,7 @@ import com.op.common.core.web.domain.BaseEntity; /** * 检验节点维护对象 qc_check_type - * + * * @author Open Platform * @date 2023-10-12 */ @@ -24,7 +24,7 @@ public class QcCheckType extends BaseEntity { /** 名称 */ @Excel(name = "名称") private String checkName; - + private String checkType; /** 类型编码 */ @Excel(name = "类型编码") private String typeCode; @@ -44,6 +44,24 @@ public class QcCheckType extends BaseEntity { /** 删除标识1删除0正常 */ private String delFlag; + private int taskNum; + + public int getTaskNum() { + return taskNum; + } + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public void setTaskNum(int taskNum) { + this.taskNum = taskNum; + } + public void setId(String id) { this.id = id; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java index c337a9e54..5a0fe17cd 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -50,6 +50,33 @@ public class QcStaticTable extends BaseEntity { private BigDecimal bNoOkquality; private BigDecimal cNoOkquality; private BigDecimal defectRate;//不良率 + private String materailDate; + private String dataType; + private String workCenter; + + public String getWorkCenter() { + return workCenter; + } + + public void setWorkCenter(String workCenter) { + this.workCenter = workCenter; + } + + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + public String getMaterailDate() { + return materailDate; + } + + public void setMaterailDate(String materailDate) { + this.materailDate = materailDate; + } public BigDecimal getDefectRate() { return defectRate; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeMapper.java index a5a45573b..3069165d8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeMapper.java @@ -7,7 +7,7 @@ import org.apache.ibatis.annotations.Mapper; /** * 检验节点维护Mapper接口 - * + * * @author Open Platform * @date 2023-10-12 */ @@ -15,7 +15,7 @@ import org.apache.ibatis.annotations.Mapper; public interface QcCheckTypeMapper { /** * 查询检验节点维护 - * + * * @param id 检验节点维护主键 * @return 检验节点维护 */ @@ -23,7 +23,7 @@ public interface QcCheckTypeMapper { /** * 查询检验节点维护列表 - * + * * @param qcCheckType 检验节点维护 * @return 检验节点维护集合 */ @@ -31,7 +31,7 @@ public interface QcCheckTypeMapper { /** * 新增检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -39,7 +39,7 @@ public interface QcCheckTypeMapper { /** * 修改检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -47,7 +47,7 @@ public interface QcCheckTypeMapper { /** * 删除检验节点维护 - * + * * @param id 检验节点维护主键 * @return 结果 */ @@ -55,9 +55,11 @@ public interface QcCheckTypeMapper { /** * 批量删除检验节点维护 - * + * * @param ids 需要删除的数据主键集合 * @return 结果 */ public int deleteQcCheckTypeByIds(String[] ids); + + List getTopTaskInfo(QcCheckType qcCheckType); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java index 070dee5f4..052af7fc6 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; import com.op.quality.domain.QcStaticTable; +import com.op.system.api.domain.quality.FactoryDto; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -30,6 +31,12 @@ public interface QcStaticTableMapper { @MapKey("supplierCode") public Map selectNumMap(@Param("qc")QcStaticTable qcStaticTable, @Param("codes")List tabledtos); + @MapKey("materailDate") + Map getProduceChartData(QcStaticTable qcStaticTable); - List getProduceChartData(QcStaticTable qcStaticTable); + List getProduceNames(QcStaticTable qcStaticTable); + @MapKey("materailDate") + Map getProduceChartDataYM(QcStaticTable qcStaticTable); + + List getWorkcenterList(FactoryDto factoryDto); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeService.java index 7067bb367..a2588c9e3 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeService.java @@ -5,14 +5,14 @@ import com.op.quality.domain.QcCheckType; /** * 检验节点维护Service接口 - * + * * @author Open Platform * @date 2023-10-12 */ public interface IQcCheckTypeService { /** * 查询检验节点维护 - * + * * @param id 检验节点维护主键 * @return 检验节点维护 */ @@ -20,7 +20,7 @@ public interface IQcCheckTypeService { /** * 查询检验节点维护列表 - * + * * @param qcCheckType 检验节点维护 * @return 检验节点维护集合 */ @@ -28,7 +28,7 @@ public interface IQcCheckTypeService { /** * 新增检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -36,7 +36,7 @@ public interface IQcCheckTypeService { /** * 修改检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -44,7 +44,7 @@ public interface IQcCheckTypeService { /** * 批量删除检验节点维护 - * + * * @param ids 需要删除的检验节点维护主键集合 * @return 结果 */ @@ -52,9 +52,13 @@ public interface IQcCheckTypeService { /** * 删除检验节点维护信息 - * + * * @param id 检验节点维护主键 * @return 结果 */ public int deleteQcCheckTypeById(String id); + + List getCheckType(QcCheckType qcCheckType); + + List getTopTaskInfo(QcCheckType qcCheckType); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java index 54c247c47..e722ca1e5 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -1,7 +1,10 @@ package com.op.quality.service; import java.util.List; +import java.util.Map; + import com.op.quality.domain.QcStaticTable; +import com.op.system.api.domain.quality.FactoryDto; /** * 质量系统报Service接口 @@ -19,5 +22,11 @@ public interface IQcStaticTableService { */ public List selectQcStaticTableList(QcStaticTable qcStaticTable); - public List getProduceChartData(QcStaticTable qcStaticTable); + public Map getProduceChartData(QcStaticTable qcStaticTable); + + public List getProduceNames(QcStaticTable qcStaticTable); + + public Map getProduceChartDataYM(QcStaticTable qcStaticTable); + + List getWorkcenterList(FactoryDto factoryDto); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 3a43465ad..a1f9e4d86 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -6,6 +6,7 @@ import java.util.Map; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; +import com.op.system.api.domain.quality.FactoryDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.quality.mapper.QcStaticTableMapper; @@ -76,7 +77,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //批次合格率 if(tabledto.getBatchs() != 0){ BigDecimal noOkBatchRate = new BigDecimal(tabledto.getNoOkBatchs()).multiply(new BigDecimal("100.00")) - .divide(new BigDecimal(tabledto.getBatchs())) + .divide(new BigDecimal(tabledto.getBatchs()),BigDecimal.ROUND_CEILING) .setScale(2,BigDecimal.ROUND_HALF_UP); tabledto.setNoOkBatchRate(noOkBatchRate.toString()+"%"); }else{ @@ -93,7 +94,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //数量不良率 if(tabledto.getNums() != 0){ BigDecimal noOkNumRate = new BigDecimal(tabledto.getNoOkNums()).multiply(new BigDecimal("100.00")) - .divide(new BigDecimal(tabledto.getNums())) + .divide(new BigDecimal(tabledto.getNums()),BigDecimal.ROUND_CEILING) .setScale(2,BigDecimal.ROUND_HALF_UP); tabledto.setNoOkNumRate(noOkNumRate.toString()+"%"); }else{ @@ -111,15 +112,29 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { */ @Override @DS("#header.poolName") - public List getProduceChartData(QcStaticTable qcStaticTable) { - List dtos = qcStaticTableMapper.getProduceChartData(qcStaticTable); - for(QcStaticTable dto:dtos){ - BigDecimal defectRate = (dto.getaNoOkquality().add(dto.getbNoOkquality()).multiply(new BigDecimal("0.65")) - .add(dto.getcNoOkquality()).multiply(new BigDecimal(0.35))) - .divide(new BigDecimal(dto.getSampleQuality())); - dto.setDefectRate(defectRate); - } + public Map getProduceChartData(QcStaticTable qcStaticTable) { + Map dtos = qcStaticTableMapper.getProduceChartData(qcStaticTable); return dtos; } + @Override + @DS("#header.poolName") + public List getProduceNames(QcStaticTable qcStaticTable) { + return qcStaticTableMapper.getProduceNames(qcStaticTable); + } + + @Override + @DS("#header.poolName") + public Map getProduceChartDataYM(QcStaticTable qcStaticTable) { + Map dtos = qcStaticTableMapper.getProduceChartDataYM(qcStaticTable); + return dtos; + } + + @Override + @DS("#header.poolName") + public List getWorkcenterList(FactoryDto factoryDto) { + return qcStaticTableMapper.getWorkcenterList(factoryDto); + } + + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeServiceImpl.java index e75c29b20..0c7ff187d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeServiceImpl.java @@ -3,6 +3,7 @@ package com.op.quality.service.serviceImpl; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; @@ -19,7 +20,7 @@ import javax.servlet.http.HttpServletRequest; /** * 检验节点维护Service业务层处理 - * + * * @author Open Platform * @date 2023-10-12 */ @@ -30,7 +31,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 查询检验节点维护 - * + * * @param id 检验节点维护主键 * @return 检验节点维护 */ @@ -42,7 +43,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 查询检验节点维护列表 - * + * * @param qcCheckType 检验节点维护 * @return 检验节点维护 */ @@ -54,7 +55,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 新增检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -77,7 +78,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 修改检验节点维护 - * + * * @param qcCheckType 检验节点维护 * @return 结果 */ @@ -91,7 +92,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 批量删除检验节点维护 - * + * * @param ids 需要删除的检验节点维护主键 * @return 结果 */ @@ -103,7 +104,7 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { /** * 删除检验节点维护信息 - * + * * @param id 检验节点维护主键 * @return 结果 */ @@ -112,4 +113,17 @@ public class QcCheckTypeServiceImpl implements IQcCheckTypeService { public int deleteQcCheckTypeById(String id) { return qcCheckTypeMapper.deleteQcCheckTypeById(id); } + + @Override + public List getCheckType(QcCheckType qcCheckType) { + DynamicDataSourceContextHolder.push(qcCheckType.getFactoryCode());// 这是数据源的key + return qcCheckTypeMapper.selectQcCheckTypeList(qcCheckType); + } + + @Override + public List getTopTaskInfo(QcCheckType qcCheckType) { + DynamicDataSourceContextHolder.push(qcCheckType.getFactoryCode());// 这是数据源的key + return qcCheckTypeMapper.getTopTaskInfo(qcCheckType); + } + } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml index fd1a4aa94..ef7216b69 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -20,27 +20,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, order_code, check_name, type_code, type_name, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_check_type + select id, order_code, check_name, type_code, type_name, attr1, create_by, + create_time, update_by, update_time, factory_code, del_flag from qc_check_type - + - + + + insert into qc_check_type @@ -101,4 +123,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index f51290ebd..861aa428b 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -57,14 +57,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" group by qct.supplier_code,qct.supplier_name + + + -