diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java index 402061924..83c3eda55 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java @@ -8,6 +8,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.Map; + /** auth YangWl * 能源服务 */ @@ -26,4 +28,7 @@ public interface RemoteEnergyService { @PostMapping(value = "/record/dnbInstant/getNhEnergyDetail") public R SyncNhEnergyDetail(); + + @PostMapping(value = "/record/dnbInstant/fixWwEnergyData",headers = {"poolName=ds_1000"}) + public R syncFixWwEnergyData(@RequestBody Map map); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java index e35333810..0a7eba004 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java @@ -20,7 +20,6 @@ import java.util.Map; * @author OP */ @FeignClient(contextId = "remoteSapService", value = ServiceNameConstants.SAP_SERVICE, fallbackFactory = RemoteSapFallbackFactory.class) - public interface RemoteSapService { @PostMapping("/sap/shopOrderSync") public R> shopOrderSync(@RequestBody SapShopOrderQuery sapProOrder); @@ -157,8 +156,14 @@ public interface RemoteSapService { public R handMadeInStorage(@RequestBody List list); @PostMapping("/sap/updateMaterialEntry") - R updateMaterialEntry(@RequestBody List list, @RequestParam("optionType") String optionType // 关键:指定value - ); + R updateMaterialEntry(@RequestBody List list, @RequestParam("optionType") String optionType); + + /** + * 311转储过账 + * **/ + @PostMapping("/sap/sapTransferPosting") + R sapTransferPosting(@RequestBody List> list); + } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java index 32a0e9b19..085e5d861 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteEnergyFallbackFactory.java @@ -9,6 +9,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.Map; + @Component public class RemoteEnergyFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteEnergyFallbackFactory.class); @@ -36,6 +38,11 @@ public class RemoteEnergyFallbackFactory implements FallbackFactory map) { + return R.fail("修正威伟电表数据失败:" + throwable.getMessage()); + } }; } } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java index 1def8ec25..8cdabb5bc 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java @@ -198,6 +198,16 @@ public class RemoteSapFallbackFactory implements FallbackFactory> list) { + return R.fail("311转储过账" + throwable.getMessage()); + } + }; } } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java index 1f599e72a..d913c6ba2 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java @@ -200,6 +200,8 @@ public class BaseMonitorInfo extends BaseEntity { private Boolean flag; + private String electricityMeterType; + public String getPhysicalCode() { return physicalCode; } @@ -481,6 +483,14 @@ public class BaseMonitorInfo extends BaseEntity { this.connCode = connCode; } + public String getElectricityMeterType() { + return electricityMeterType; + } + + public void setElectricityMeterType(String electricityMeterType) { + this.electricityMeterType = electricityMeterType; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java b/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java index 5f85a9f51..792f0fed1 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/controller/RecordDnbInstantController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * 电实时数据Controller @@ -209,5 +210,28 @@ public class RecordDnbInstantController extends BaseController { return AjaxResult.success(); } + /** + * 获取威伟电表能耗明细导出 + * **/ + @PostMapping("/testGetNhEnergyDetail") + @ResponseBody + public void testGetNhEnergyDetail( HttpServletResponse response ,@RequestBody Map params) { + List list = recordDnbInstantService.testGetNhEnergyDetail(params); + ExcelUtil util = new ExcelUtil(RecordDnbInstant.class); + util.exportExcel(response, list, "导出"); + } + + /** + * 修正威伟电表数据 + * **/ + @PostMapping("/fixWwEnergyData") + @ResponseBody + public AjaxResult fixWwEnergyData(@RequestBody Map params ) { + recordDnbInstantService.fixWwEnergyData(params); + return AjaxResult.success(); + } + + + } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java b/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java index 6fad8b347..ceeeaa72b 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/domain/RecordDnbInstant.java @@ -32,7 +32,6 @@ public class RecordDnbInstant extends BaseEntity { /** * 计量设备名称 */ - @Excel(name = "计量设备名称") private String monitorName; /** @@ -51,37 +50,31 @@ public class RecordDnbInstant extends BaseEntity { /** * A项电压 */ - @Excel(name = "A项电压") private BigDecimal vA; /** * B项电压 */ - @Excel(name = "B项电压") private BigDecimal vB; /** * C项电压 */ - @Excel(name = "C项电压") private BigDecimal vC; /** * A项电流 */ - @Excel(name = "A项电流") private BigDecimal iA; /** * B项电流 */ - @Excel(name = "B项电流") private BigDecimal iB; /** * C项电流 */ - @Excel(name = "C项电流") private BigDecimal iC; /** @@ -92,7 +85,6 @@ public class RecordDnbInstant extends BaseEntity { /** * 功率因数 */ - @Excel(name = "功率因数") private BigDecimal glys; /** @@ -104,25 +96,21 @@ public class RecordDnbInstant extends BaseEntity { /** * 有功功率 */ - @Excel(name = "有功功率") private BigDecimal activePower; /** * 无功功率 */ - @Excel(name = "无功功率") private BigDecimal reactivePower; /** * 电耗量 */ - @Excel(name = "电耗量") private BigDecimal consumption; /** * 采集方式 */ - @Excel(name = "采集方式") private Long collectType; /** diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java b/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java index 837ea3fdb..dc67af770 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/service/IRecordDnbInstantService.java @@ -4,6 +4,7 @@ package com.op.energy.record.service; import com.op.energy.record.domain.RecordDnbInstant; import java.util.List; +import java.util.Map; /** * 电实时数据Service接口 @@ -89,4 +90,8 @@ public interface IRecordDnbInstantService { void getNhEnergyDetail(); void getNhEnergy(); + + List testGetNhEnergyDetail(Map params); + + void fixWwEnergyData(Map params); } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java index 113588c0a..517d274ba 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java @@ -454,4 +454,46 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService { return defaultValue; } } + + + @Override + public List testGetNhEnergyDetail(Map params) { + List list = new ArrayList<>(); + + /** + * 电压/电流 + * **/ + AjaxResult electricQuantityRes= remoteOpenService.getElectricQuantity(params); + + if(electricQuantityRes.isSuccess()){ + JSONObject resData = JSONObject.parseObject(JSON.toJSONString(electricQuantityRes.get(AjaxResult.DATA_TAG))); + JSONArray array = JSONArray.parseArray(resData.get("Data").toString()); + + for (int i = 0; i < array.size(); i++) { + RecordDnbInstant instant = new RecordDnbInstant(); + instant.setMonitorId(array.getJSONObject(i).getString("Address")); + instant.setZxyg(getSafeBigDecimal(array.getJSONObject(i), "ZYGDNSZ")); + instant.setCollectTime(DateUtils.dateTime("yyyy-MM-dd HH:mm", array.getJSONObject(i).getString("ReadingDate"))); + list.add(instant); + } + } + + return list; + + } + + @Override + @DS("#header.poolName") + public void fixWwEnergyData(Map params) { + //获取威伟电表 + BaseMonitorInfo query = new BaseMonitorInfo(); + query.setElectricityMeterType("2"); + List list = baseMonitorInfoMapper.selectBaseMonitorInfoList(query); + + for (BaseMonitorInfo info : list) { + params.put("monitorId", info.getMonitorId()); + reportPointDnbMapper.fixWwEnergyData(params); + } + + } } 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 7db82206d..779248c3c 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 @@ -13,11 +13,13 @@ import com.op.energy.base.utils.ExportExcelUtil; import com.op.energy.base.utils.SpringUtils; import com.op.energy.report.domain.ExportReport; import com.op.energy.report.domain.ReportOrderEnergyDTO; +import com.op.energy.report.domain.ReportPointDnb; import com.op.energy.report.service.IDataAnalysisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; @@ -280,4 +282,24 @@ public class dataAnalysisController extends BaseController { util.exportExcel(response, orderEnergyList, "单耗统计数据"); } + + /** + * 能耗补录模版 + * **/ + @PostMapping("/energyTemplate") + public void energyTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil<>(ReportPointDnb.class); + util.importTemplateExcel(response, "能耗补录-导入模板"); + } + + /** + * 能耗补录 + * **/ + @PostMapping("/energyImport") + public AjaxResult energyImport(MultipartFile file) throws Exception { + ExcelUtil util = new ExcelUtil<>(ReportPointDnb.class); + List list = util.importExcel(file.getInputStream()); + return AjaxResult.success(dataAnalysisService.importReportPointDnb(list)); + } + } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/report/domain/ReportPointDnb.java b/op-modules/op-energy/src/main/java/com/op/energy/report/domain/ReportPointDnb.java index cd6136866..4dc4289eb 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/report/domain/ReportPointDnb.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/report/domain/ReportPointDnb.java @@ -56,7 +56,7 @@ public class ReportPointDnb extends BaseEntity { /** * 计量设备位置 */ - @Excel(name = "计量设备位置") + @Excel(name = "计量设备位置", type = Excel.Type.EXPORT) private String address; /** @@ -68,7 +68,7 @@ public class ReportPointDnb extends BaseEntity { /** * 价格 */ - @Excel(name = "价格") + @Excel(name = "价格", type = Excel.Type.EXPORT) private BigDecimal price; /** @@ -95,7 +95,7 @@ public class ReportPointDnb extends BaseEntity { * 记录时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Excel.Type.EXPORT) private Date recordTime; /** diff --git a/op-modules/op-energy/src/main/java/com/op/energy/report/mapper/ReportPointDnbMapper.java b/op-modules/op-energy/src/main/java/com/op/energy/report/mapper/ReportPointDnbMapper.java index 7d7c9ddd6..da27a7b44 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/report/mapper/ReportPointDnbMapper.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/report/mapper/ReportPointDnbMapper.java @@ -4,6 +4,7 @@ package com.op.energy.report.mapper; import com.op.energy.report.domain.ReportOrderEnergyDTO; import com.op.energy.report.domain.ReportPointDnb; import com.op.energy.report.domain.ReportPointDnbDTO; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -90,4 +91,10 @@ public interface ReportPointDnbMapper { List selectPointDnbGroupList(ReportPointDnb pointDnb); List> datePointDnbGroupList(ReportPointDnb lineDnb); + + Integer fixWwEnergyData(@Param("params") Map params); + + int batchInsertReportPointDnb(@Param("list") List list); + + } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/report/service/IDataAnalysisService.java b/op-modules/op-energy/src/main/java/com/op/energy/report/service/IDataAnalysisService.java index cde409d23..24c09ab7d 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/report/service/IDataAnalysisService.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/report/service/IDataAnalysisService.java @@ -3,6 +3,7 @@ package com.op.energy.report.service; import com.op.energy.base.domain.BaseLineLoss; import com.op.energy.report.domain.ExportReport; import com.op.energy.report.domain.ReportOrderEnergyDTO; +import com.op.energy.report.domain.ReportPointDnb; import java.util.List; import java.util.Map; @@ -108,4 +109,6 @@ public interface IDataAnalysisService { List classificationExportReport(Map paramMap); public List OrderEnergyList(ReportOrderEnergyDTO reportOrderEnergyDTO); + + String importReportPointDnb(List list); } 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 d2fc2fa37..95dd0d12d 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 @@ -22,6 +22,7 @@ import com.op.energy.report.domain.ReportPointWater; import com.op.energy.report.mapper.ReportPointDnbMapper; import com.op.energy.report.mapper.ReportPointWaterMapper; import com.op.energy.report.service.IDataAnalysisService; +import org.apache.commons.collections4.ListUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -1047,4 +1048,15 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService { return reportOrderEnergyDTOList; } + + @Override + @DS("#header.poolName") + public String importReportPointDnb(List importList) { + if (importList.isEmpty()){ + throw new RuntimeException("导入数据为空"); + } + int successCount = reportPointDnbMapper.batchInsertReportPointDnb(importList); + + return String.format("导入成功。上传数量:%d,导入数量:%d", importList.size(), successCount); + } } diff --git a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml index b13249795..b792d0788 100644 --- a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml @@ -81,6 +81,7 @@ and room_code = #{roomCode} and address_code = #{addressCode} and conn_code = #{connCode} + and electricity_meter_type = #{electricityMeterType} 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 4e9d9d6ad..712aa7eee 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 @@ -506,4 +506,67 @@ order by ert.pointTime asc + + + + INSERT INTO report_point_dnb + ( + monitor_id, monitor_name, begin_time, end_time, + record_time, expend, meter_value, collect_type + ) + SELECT + t.monitorId, t.monitorName, t.beginTime, t.endTime, + t.recordTime, t.expend, t.meterValue, t.collectType + FROM ( + + SELECT + #{item.monitorId,jdbcType=VARCHAR} AS monitorId, + #{item.monitorName,jdbcType=VARCHAR} AS monitorName, + #{item.beginTime,jdbcType=TIMESTAMP} AS beginTime, + #{item.endTime,jdbcType=TIMESTAMP} AS endTime, + GETDATE() AS recordTime, + #{item.expend,jdbcType=DECIMAL} AS expend, + #{item.meterValue,jdbcType=DECIMAL} AS meterValue, + '1' AS collectType + + ) t + + diff --git a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java index ea361f333..1efa5f283 100644 --- a/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java +++ b/op-modules/op-job/src/main/java/com/op/job/task/RyTask.java @@ -11,7 +11,9 @@ import org.springframework.stereotype.Component; import com.op.common.core.utils.StringUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 定时任务调度测试 @@ -291,5 +293,23 @@ public class RyTask { logger.info("+++留样复检任务提醒++syncSendSampleCheckRemind+++++"); remoteQualityService.syncSendSampleCheckRemind(); } + + /**********修正威伟电表数据(有参)*********/ + public void syncFixWwEnergyData(String beginDate,String endDate){ + logger.info("+++修正威伟电表数据(有参)++syncFixWwEnergyData+++++"); + Map map = new HashMap<>(); + map.put("beginDate",beginDate); + map.put("endDate",endDate); + remoteEnergyService.syncFixWwEnergyData(map); + } + + /** 修正威伟电表数据(无参) **/ + public void syncFixWwEnergyData(){ + logger.info("+++修正威伟电表数据(无参)++syncFixWwEnergyData+++++"); + Map map = new HashMap<>(); + map.put("beginDate",""); + map.put("endDate",""); + remoteEnergyService.syncFixWwEnergyData(map); + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java index cb2ac7294..2de90e543 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkConsumeServiceImpl.java @@ -266,9 +266,9 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer mesReportWorkMapper.updateAttr2AndRspos(params); } //attr2 0->1组件完成修改 -// int f = mesReportWorkMapper.updateAttr2(workorder); - logger.info("组件修改完成:"); } + int f = mesReportWorkMapper.updateAttr2(workorder); + logger.info("组件修改完成:"); } } diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java index a3f7f287e..cdac6a16c 100644 --- a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -313,4 +313,11 @@ public class OpenController extends BaseController { } + /** + * 对外缺陷类型查询 + * **/ + @GetMapping("/getClassInfoListByCheckType") + public AjaxResult getClassInfoListByCheckType(String checkType) { + return openService.getClassInfoListByCheckType(checkType); + } } diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java index d58853640..ac3fe37e7 100644 --- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -11,11 +11,13 @@ import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.mes.*; import com.op.system.api.domain.quality.*; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.Date; import java.util.List; +import java.util.Map; /** * 生产rfid流程Mapper接口 @@ -109,6 +111,10 @@ public interface OpenMapper { void updateEquipmentStatuss(EquEquipmentBo equEquipment); EquEquipmentBo selectEquEquipmentByEquEquipmentCode(String equipmentCode); + + + @MapKey("id") + List> getClassInfoListByCheckType(@Param(value = "checkType") String checkType); // // int updateEquBatchs(@Param("list") List updates); // diff --git a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java index df54f5c33..8a5de1aee 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java @@ -59,4 +59,6 @@ public interface OpenService { AjaxResult getFrozenElectricity(NhQuery paramMap); AjaxResult getAttRecord(HrQuery paramMap); + + AjaxResult getClassInfoListByCheckType(String checkType); } 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 bde409b2d..cb931b235 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 @@ -1059,4 +1059,24 @@ public class OpenServiceImpl implements OpenService { public AjaxResult getAttRecord(HrQuery paramMap) { return AjaxResult.success(hrApi.getAttRecord(paramMap)); } + + @Override + public AjaxResult getClassInfoListByCheckType(String checkType) { + if (StringUtils.isBlank(checkType)){ + return error("缺陷类型不能为空"); + } + + DynamicDataSourceContextHolder.push("ds_1000" ); + try { + return success(openMapper.getClassInfoListByCheckType(checkType)) ; + }catch(Exception e){ + logger.info(e.getMessage()); + e.printStackTrace(); + return error(e.getMessage()); + } + finally { + DynamicDataSourceContextHolder.poll(); + } + + } } diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml index 6e7fcfd96..b9dce7d87 100644 --- a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml +++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml @@ -626,4 +626,13 @@ and del_flag = '0' + + diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java index b8998134c..748a65ad4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java @@ -146,7 +146,7 @@ public class QcInterfaceController { * @return */ @PostMapping("/getMonthOfYearContrast") - public Map getMonthOfYearContrast(@RequestBody QcInterface qcInterface) { + public List getMonthOfYearContrast(@RequestBody QcInterface qcInterface) { return qcInterfaceService.getMonthOfYearContrast(qcInterface); } @@ -154,4 +154,16 @@ public class QcInterfaceController { public QcLineChartDto getLineQcData(QcInterface qcInterface) { return qcInterfaceService.getLineQcData(qcInterface); } + + /** + * 白坯每月不合格数量 + * + * @param queryDate 查询日期 + * @return + */ + @GetMapping("/getBpMonthNoOk") + public Map> getBpMonthNoOk(String queryDate) { + return qcInterfaceService.getBpMonthNoOk(queryDate); + } + } 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 b69feb899..eacc2c8af 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 @@ -968,16 +968,16 @@ public class QcStaticTableController extends BaseController { @Log(title = "白坯缺陷排列报表导出", businessType = BusinessType.EXPORT) @PostMapping("/getMonthOfDataDefectExport") public void getMonthOfDataDefectExport(HttpServletResponse response, QcStaticTable qcStaticTable) { - List> list = qcStaticTableService.getMonthOfDataDefect(qcStaticTable); + List> list = qcStaticTableService.getMonthOfDataDefectV2(qcStaticTable); //表格结构数据 List titils = qcStaticTableService.getDaysOfMonth(qcStaticTable); ArrayList excelCols = new ArrayList<>(); - excelCols.add(new ExcelCol("不良项目", "dataType", 30)); + excelCols.add(new ExcelCol("不良项目", "defect", 30)); for(int m=0;m> list = qcStaticTableService.getDefectItemData(qcStaticTable); + List> list = qcStaticTableService.getDefectItemDataV2(qcStaticTable); //表格结构数据 List titils = qcStaticTableService.getDefectItemTitle(qcStaticTable); @@ -1060,10 +1060,11 @@ public class QcStaticTableController extends BaseController { @Log(title = "白坯性能报表导出", businessType = BusinessType.EXPORT) @PostMapping("/getDefectItemDataPCExport") public void getDefectItemDataPCExport(HttpServletResponse response, QcStaticTable qcStaticTable) { - List> list = qcStaticTableService.getDefectItemDataPC(qcStaticTable); + List> list = qcStaticTableService.getDefectItemDataPCV2(qcStaticTable); //表格结构数据 List titils = qcStaticTableService.getDefectItemTitle(qcStaticTable); + titils.add("其他"); ArrayList excelCols = new ArrayList<>(); excelCols.add(new ExcelCol("项目", "dataType", 30)); for(int m=0;m getProduceNoOkList1(QcInterface qcInterface); List getCheckProjectsPie1(QcInterface qcInterface); + + @MapKey("ymd") + Map getBpMonthNoOk(String queryDate); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java index 7059b0ef0..1de1ec87f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcInterfaceService.java @@ -39,4 +39,6 @@ public interface IQcInterfaceService { QcLineChartDto getLineQcData(QcInterface qcInterface); List getCheckProjectsPieLL(QcInterface qcInterface); + + Map> getBpMonthNoOk(String queryDate); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index 0c0899407..e50f9441f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -446,4 +446,35 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { } return days; } + + + @Override + @DS("#header.poolName") + public Map> getBpMonthNoOk(String queryDate) { + Map> dtoMap = new HashMap<>(); + + String nowYMD = DateUtils.getDate(); + String[] nowYMDs = nowYMD.split("-"); + int nowMonth = Integer.parseInt(nowYMDs[1]); + List monthNames = new ArrayList<>(); + + Map noOkHzs = qcInterfaceMapper.getBpMonthNoOk(queryDate); + List monthData = new ArrayList<>(); + + for (int mh = 1; mh <= nowMonth; mh++) { + String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh); + monthNames.add(yyyymm); + if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) { + monthData.add(noOkHzs.get(yyyymm).getNoOkQuality()); + } else { + monthData.add("0"); + } + } + + dtoMap.put("month", monthNames); + dtoMap.put("monthData", monthData); + return dtoMap; + } + + } 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 92826dd35..3bcb1f256 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 @@ -1788,6 +1788,8 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { if (StringUtils.isNotBlank(data.getAttr2())){ count = count + Integer.parseInt(data.getAttr2()); } + }else { + map.put(data.getAttr1(), "0"); } } map.put("count", Integer.toString(count)); @@ -1801,7 +1803,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { map2.put("defect","抽样数"); for (QcCheckTaskDefect data : list){ if ("合计".equals(data.getDefectSubclass())){ - map1.put(data.getAttr1(),data.getAttr2()); + map1.put(data.getAttr1(),StringUtils.isEmpty(data.getAttr2()) ? "0" : data.getAttr2()); map2.put(data.getAttr1(),data.getAttr3()); if (StringUtils.isNotBlank(data.getAttr2())){ count1 = count1 + Integer.parseInt(data.getAttr2()); @@ -2082,6 +2084,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { List> dtos = new ArrayList<>(); //获取不良种类 List bpDefects = qcStaticTableMapper.getBpDefects(qcStaticTable); + bpDefects.add("其他"); List monthList = qcStaticTableMapper.getBPDefectMothPCMapV2(qcStaticTable); qcStaticTable.setYearMonth(null); List totalList = qcStaticTableMapper.getBPDefectMothPCMapV2(qcStaticTable); @@ -2100,21 +2103,16 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { for (String defect : bpDefects) { for (QcCheckTaskDefect item : list){ if (defect.equals(item.getDefectSubclass())){ - if (StringUtils.isNotBlank(item.getAttr1())){ - if ("rate".equals(type)){ - result.put("item"+i, item.getAttr1()); - }else { - if (StringUtils.isNotBlank(item.getAttr2())){ - result.put("item"+i,new BigDecimal(item.getAttr1()).divide(new BigDecimal(item.getAttr2()),2,RoundingMode.HALF_UP).toString()); - }else { - result.put("item"+i,"100"); - } - } - + if (StringUtils.isNotBlank(item.getAttr2()) && StringUtils.isNotBlank(item.getAttr3())){ + BigDecimal itemNoOkRate = new BigDecimal(0); + itemNoOkRate = new BigDecimal(item.getAttr2()).divide(new BigDecimal(item.getAttr3()),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); + result.put("item"+i,itemNoOkRate.toString()); }else { result.put("item"+i,"0"); } break; + }else { + result.put("item"+i,"0"); } } i++; @@ -2198,6 +2196,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { //获取不良种类 List bpDefects = qcStaticTableMapper.getBpDefects(qcStaticTable); + bpDefects.add("其他"); result.put("xData",bpDefects); //当前查询月份的不良率 @@ -2232,7 +2231,14 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { boolean flag = true; for (QcCheckTaskDefect item : monthList){ if (defect.equals(item.getDefectSubclass())){ - yDataLeft.add(item.getAttr1()); + if (StringUtils.isNotBlank(item.getAttr2()) && StringUtils.isNotBlank(item.getAttr3())){ + //不良率 + BigDecimal itemNoOkRate = new BigDecimal(0); + itemNoOkRate = new BigDecimal(item.getAttr2()).divide(new BigDecimal(item.getAttr3()),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); + yDataLeft.add(itemNoOkRate.toString()); + }else { + yDataLeft.add("0"); + } flag = false; break; } @@ -2252,7 +2258,14 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { boolean flag = true; for (QcCheckTaskDefect item : totalList){ if (defect.equals(item.getDefectSubclass())){ - yDataRight.add(item.getAttr1()); + if (StringUtils.isNotBlank(item.getAttr2()) && StringUtils.isNotBlank(item.getAttr3())){ + //不良率 + BigDecimal itemNoOkRate = new BigDecimal(0); + itemNoOkRate = new BigDecimal(item.getAttr2()).divide(new BigDecimal(item.getAttr3()),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); + yDataRight.add(itemNoOkRate.toString()); + }else { + yDataRight.add("0"); + } flag = false; break; } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml index 09a32734b..2d99d88e4 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml @@ -360,6 +360,22 @@ order by qctd.update_time desc + + + + select ow.workorder_code workorderCode + from mes_prepare ms + left join pro_order_workorder ow on ms.workorder_code = ow.workorder_code + + ow.del_flag = '0' and ow.parent_order = '0' and ms.del_flag = '0' + and ow.product_date = #{productDate} + + + + + \ No newline at end of file diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml index 134972833..082841756 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml @@ -2203,4 +2203,118 @@ ) + + + + + + UPDATE wms_ods_procure_out_order + SET + order_status = #{item.orderStatus}, + Out_Number = #{item.outNumber}, + user_defined9 = #{item.userDefined9}, + user_defined10 = #{item.userDefined10}, + user_defined11 = #{item.userDefined11}, + last_update_by = #{item.lastUpdateBy}, + last_update_date = #{item.lastUpdateDate} + WHERE + id = #{item.ID} + + + + + + + + + + + + INSERT INTO wms_material_entry ( + work_order_code, + material_code, + batch_code, + factory_code, + location, + area_code, + status, + create_time, + create_by + ) + VALUES + + ( + #{item.workOrderCode}, + #{item.materialCode}, + #{item.batchCode}, + #{item.factoryCode}, + #{item.location}, + #{item.areaCode}, + #{item.status}, + GETDATE(), + #{item.createBy} + ) + + + + diff --git a/op-modules/pom.xml b/op-modules/pom.xml index 185134ecf..5820aad11 100644 --- a/op-modules/pom.xml +++ b/op-modules/pom.xml @@ -28,6 +28,14 @@ op-modules pom + + + org.projectlombok + lombok + provided + + + op-modules业务模块