From 5fad84018dcf5e30399893f1cd058141ac0feba8 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 21 Oct 2024 23:04:47 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcStaticTableController.java | 34 +++++ .../op/quality/domain/CheckTypeXJDetail.java | 143 ++++++++++++++++++ .../op/quality/domain/IncomeTableExport.java | 130 ++++++++++++++++ .../com/op/quality/domain/QcStaticTable.java | 22 ++- .../quality/mapper/QcStaticTableMapper.java | 2 + .../service/IQcStaticTableService.java | 7 +- .../impl/QcStaticTableServiceImpl.java | 6 + .../quality/QcCheckTaskInventoryMapper.xml | 3 + .../mapper/quality/QcStaticTableMapper.xml | 31 +++- .../service/impl/SysUserServiceImpl.java | 17 ++- 10 files changed, 379 insertions(+), 16 deletions(-) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/CheckTypeXJDetail.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java 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 806d6bf3..d061c259 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 @@ -11,6 +11,7 @@ import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import com.op.common.core.domain.ExcelCol; +import com.op.common.core.utils.bean.BeanUtils; import com.op.common.core.utils.poi.ExcelMapUtil; import com.op.quality.domain.*; import com.op.system.api.domain.mes.ProLineDTO; @@ -72,6 +73,30 @@ public class QcStaticTableController extends BaseController { } return null; } + @Log(title = "供应商质量统计导出", businessType = BusinessType.EXPORT) + @PostMapping("/getIncomeTableExport") + public void getIncomeTableExport(HttpServletResponse response, QcStaticTable qcStaticTable) { + if (StringUtils.isNotBlank(qcStaticTable.getSupplierCode())) { + List codes = Arrays.asList(qcStaticTable.getSupplierCode().split(",")); + qcStaticTable.setSupplierCodes(codes); + } + //默认时间范围T 00:00:00~T+1 00:00:00 + if (StringUtils.isEmpty(qcStaticTable.getYearMonth())) { + LocalDate date = LocalDate.now(); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM"); + String ymStr = dtf.format(date); + qcStaticTable.setYearMonth(ymStr);//end + } + List list0 = qcStaticTableService.selectQcStaticTableList(qcStaticTable); + List list = new ArrayList<>(); + for(QcStaticTable actable:list0){ + IncomeTableExport income = new IncomeTableExport(); + BeanUtils.copyProperties(actable,income); + list.add(income); + } + ExcelUtil util = new ExcelUtil(IncomeTableExport.class); + util.exportExcel(response, list, "供应商质量统计"); + } @PostMapping("/getIncomeChartList") @Log(title = "供应商质量统计图表", businessType = BusinessType.QUERY) @@ -369,6 +394,15 @@ public class QcStaticTableController extends BaseController { return getDataTable(list); } + @PostMapping("/getXJCheckExport") + @Log(title = "生成巡检记录", businessType = BusinessType.QUERY) + public void getXJCheckExport(HttpServletResponse response, QcStaticTable qcStaticTable) { + + List list = qcStaticTableService.getXJCheckTableDetailList(qcStaticTable); + ExcelUtil util = new ExcelUtil(CheckTypeXJDetail.class); + util.exportExcel(response, list, "巡检记录明细"); + } + @GetMapping("/getXJCheckTableDetail") public List getXJCheckTableDetail(QcStaticTable qcStaticTable) { List list = qcStaticTableService.getXJCheckTableDetail(qcStaticTable); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/CheckTypeXJDetail.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/CheckTypeXJDetail.java new file mode 100644 index 00000000..d8448d3d --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/CheckTypeXJDetail.java @@ -0,0 +1,143 @@ +package com.op.quality.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import com.op.system.api.domain.quality.ChartDTO; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +/** + * 质量系统报对象 qc_static_table + * + * @author Open Platform + * @date 2023-11-08 + */ +public class CheckTypeXJDetail extends BaseEntity { + + @Excel(name = "订单编码") + private String workorderCodeSap; + @Excel(name = "工单编码") + private String orderNo; + @Excel(name = "产品编码") + private String materialCode; + @Excel(name = "产品名称") + private String materialName; + @Excel(name = "数量") + private String quality; + @Excel(name = "单位") + private String unit; + @Excel(name = "批次") + private String batchCode; + @Excel(name = "生产时间") + @JsonFormat(pattern = "yyyy-MM-dd") + private String incomeTimeStr; + @Excel(name = "班次") + private String shiftId; + @Excel(name = "线体名称") + private String equipmentName; + @Excel(name = "检验人") + private String checkManName; + @Excel(name = "检验时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String checkTime; + + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getQuality() { + return quality; + } + + public void setQuality(String quality) { + this.quality = quality; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getBatchCode() { + return batchCode; + } + + public void setBatchCode(String batchCode) { + this.batchCode = batchCode; + } + + public String getIncomeTimeStr() { + return incomeTimeStr; + } + + public void setIncomeTimeStr(String incomeTimeStr) { + this.incomeTimeStr = incomeTimeStr; + } + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } + + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getCheckManName() { + return checkManName; + } + + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + + public String getCheckTime() { + return checkTime; + } + + public void setCheckTime(String checkTime) { + this.checkTime = checkTime; + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java new file mode 100644 index 00000000..d5dad30e --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/IncomeTableExport.java @@ -0,0 +1,130 @@ +package com.op.quality.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import com.op.system.api.domain.quality.ChartDTO; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +/** + * @date 2023-11-08 + */ +public class IncomeTableExport extends BaseEntity { + private static final long serialVersionUID = 1L; + + private String supplierId; + + @Excel(name = "单位编码") + private String supplierCode; + + @Excel(name = "单位名称") + private String supplierName; + @Excel(name = "总批数") + private int batchs; + @Excel(name = "合格批次") + private int okBatchs; + @Excel(name = "不合格批次") + private int noOkBatchs; + @Excel(name = "批次不良率") + private String noOkBatchRate; + @Excel(name = "总数量") + private int nums; + @Excel(name = "合格数") + private int okNums; + @Excel(name = "不合格数量") + private int noOkNums; + @Excel(name = "数量比例") + private String noOkNumRate; + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierCode() { + return supplierCode; + } + + public void setSupplierCode(String supplierCode) { + this.supplierCode = supplierCode; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public int getBatchs() { + return batchs; + } + + public void setBatchs(int batchs) { + this.batchs = batchs; + } + + public int getOkBatchs() { + return okBatchs; + } + + public void setOkBatchs(int okBatchs) { + this.okBatchs = okBatchs; + } + + public int getNoOkBatchs() { + return noOkBatchs; + } + + public void setNoOkBatchs(int noOkBatchs) { + this.noOkBatchs = noOkBatchs; + } + + public String getNoOkBatchRate() { + return noOkBatchRate; + } + + public void setNoOkBatchRate(String noOkBatchRate) { + this.noOkBatchRate = noOkBatchRate; + } + + public int getNums() { + return nums; + } + + public void setNums(int nums) { + this.nums = nums; + } + + public int getOkNums() { + return okNums; + } + + public void setOkNums(int okNums) { + this.okNums = okNums; + } + + public int getNoOkNums() { + return noOkNums; + } + + public void setNoOkNums(int noOkNums) { + this.noOkNums = noOkNums; + } + + public String getNoOkNumRate() { + return noOkNumRate; + } + + public void setNoOkNumRate(String noOkNumRate) { + this.noOkNumRate = noOkNumRate; + } +} 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 f45fb9e6..b74b119f 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 @@ -37,7 +37,7 @@ public class QcStaticTable extends BaseEntity { private int noOkBatchs; private int nums; private int okNums; - + private String equipmentName; private String typeCode; private String checkResult; private String noOkBatchRate; @@ -48,8 +48,10 @@ public class QcStaticTable extends BaseEntity { private List legendData; private List xAxis; private List series; - @Excel(name = "订单编码") + @Excel(name = "工单编码") private String orderNo; + @Excel(name = "订单编码") + private String workorderCodeSap; @Excel(name = "批次") private String incomeBatchNo; @Excel(name = "产品编码") @@ -117,6 +119,22 @@ public class QcStaticTable extends BaseEntity { private String incomeTimeStart; private String incomeTimeEnd; + public String getEquipmentName() { + return equipmentName; + } + + public void setEquipmentName(String equipmentName) { + this.equipmentName = equipmentName; + } + + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + public String getIncomeTimeStart() { return incomeTimeStart; } 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 07eb3a57..96637ab3 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 @@ -116,4 +116,6 @@ public interface QcStaticTableMapper { @MapKey("yearMonth") Map getDLDataDay(QcCPKInfo qcCPKInfo); + + List getXJCheckTableDetailList(QcStaticTable qcStaticTable); } 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 60087a3e..cadb129c 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 @@ -4,10 +4,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import com.op.quality.domain.QcCPKInfo; -import com.op.quality.domain.QcCheckDetail; -import com.op.quality.domain.QcCheckType; -import com.op.quality.domain.QcStaticTable; +import com.op.quality.domain.*; import com.op.system.api.domain.mes.ProLineDTO; import com.op.system.api.domain.quality.ChartSeriesDTO; import com.op.system.api.domain.quality.FactoryDto; @@ -78,4 +75,6 @@ public interface IQcStaticTableService { QcCPKInfo getTableCPKList(QcCPKInfo qcCPKInfo); List getProdLineList(); + + List getXJCheckTableDetailList(QcStaticTable qcStaticTable); } 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 7e394541..cf7281e5 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 @@ -1356,6 +1356,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return qcStaticTableMapper.getProdLineList(); } + @Override + @DS("#header.poolName") + public List getXJCheckTableDetailList(QcStaticTable qcStaticTable) { + return qcStaticTableMapper.getXJCheckTableDetailList(qcStaticTable); + } + //获取指定范围内得月份输出格式yyyy-mm private List getMonthByMonth(String startM,String endM){ YearMonth start = YearMonth.of(Integer.parseInt(startM.split("-")[0]), Integer.parseInt(startM.split("-")[1])); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml index 0443bac6..8e8bf55b 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml @@ -324,6 +324,9 @@ where bp.warehouse_cycle is not null and t.check_type in('checkTypeLL','checkTypeCP') and t.del_flag = '0' and t.material_code like concat('%',#{materialCode}, '%') and t.material_name like concat('%',#{materialName}, '%') + and t.order_no like concat('%',#{orderNo}, '%') + + order by t.income_time desc,t.order_no,t.material_code 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 e78c52f4..d3733fc0 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 @@ -189,15 +189,17 @@ + diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index 1719d171..9f8473dd 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -541,16 +541,17 @@ public class SysUserServiceImpl implements ISysUserService { public R syncUserInfoTask() { DynamicDataSourceContextHolder.push("master");// 这是数据源的key - Date maxTime0 = userMapper.getMaxTime(); - if(maxTime0 != null){ - Calendar calendar = Calendar.getInstance(); - calendar.setTime(maxTime0); - calendar.add(Calendar.DAY_OF_YEAR, 1); - Date maxTime = calendar.getTime(); + //Date maxTime0 = userMapper.getMaxTime(); + //if(maxTime0 != null){ +// Calendar calendar = Calendar.getInstance(); +// calendar.setTime(maxTime0); +// calendar.add(Calendar.DAY_OF_YEAR, 1); +// Date maxTime = calendar.getTime(); + Date maxTime = DateUtils.getNowDate(); String ymd = DateFormatUtils.format(maxTime, "yyyy-MM-dd");//yyyy-MM-dd log.info("更新人力-参数:"+ ymd); //AjaxResult hrR = remoteOpenService.GetHrUserInfo(ymd); - AjaxResult hrR = remoteOpenService.GetHrUserInfo("2024-09-01"); + AjaxResult hrR = remoteOpenService.GetHrUserInfo(ymd); List infoList = new ArrayList<>(); if((int)hrR.get("code")==200 && hrR.get("data")!=null){ @@ -563,7 +564,7 @@ public class SysUserServiceImpl implements ISysUserService { }else{ return R.fail("无最新需要更新的人力数据"); } - } + //} return R.ok(); }