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 9f20ccc05..c7de5bcbe 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 @@ -68,7 +68,7 @@ and CONVERT(varchar(10),plan_pro_date, 120) >= '${planDateStart}' and '${planDateEnd}%' >= CONVERT(varchar(10),plan_pro_date, 120) and prod_type != 'white' - and del_flag = #{delFlag} + and del_flag = '0' ORDER BY plan_pro_date DESC 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 806d6bf34..d061c259a 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 000000000..d8448d3d8 --- /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 000000000..d5dad30e8 --- /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 f45fb9e6f..b74b119fd 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 07eb3a573..96637ab3f 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 60087a3e8..cadb129cb 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 7e3945418..cf7281e5b 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/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index c4f7ac0da..9f58eaa03 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -61,9 +61,11 @@ from qc_check_task qct and qct.check_no = #{checkNo} - and qct.income_batch_no = #{incomeBatchNo} + and qct.income_batch_no like concat('%', + #{incomeBatchNo}, '%') and qct.order_no = #{orderNo} - and qct.material_code = #{materialCode} + and qct.material_code like concat('%', + #{materialCode}, '%') and qct.material_name like concat('%', #{materialName}, '%') 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 0443bac64..8e8bf55b0 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 e78c52f4d..d3733fc05 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 1719d1718..9f8473dd9 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(); }