| doc/君歌化工.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/home/controller/HomeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/home/service/HomeService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/pojo/QualityInspect.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/production/ProductProcessMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
doc/¾ý¸è»¯¹¤.sql
@@ -41,4 +41,7 @@ MODIFY COLUMN `plan_start_time` datetime NULL DEFAULT NULL COMMENT '计åå¼å§æ¶é´' AFTER `work_order_no`, MODIFY COLUMN `plan_end_time` datetime NULL DEFAULT NULL COMMENT '计åç»ææ¶é´' AFTER `plan_start_time`, MODIFY COLUMN `actual_start_time` datetime NULL DEFAULT NULL COMMENT 'å®é å¼å§æ¶é´' AFTER `plan_end_time`, MODIFY COLUMN `actual_end_time` datetime NULL DEFAULT NULL COMMENT 'å®é ç»ææ¶é´' AFTER `actual_start_time`; MODIFY COLUMN `actual_end_time` datetime NULL DEFAULT NULL COMMENT 'å®é ç»ææ¶é´' AFTER `actual_start_time`; ALTER TABLE `product-inventory-management-jghg`.`quality_inspect` ADD COLUMN `process_type` int NULL DEFAULT NULL COMMENT 'å·¥åºç±»å' AFTER `dept_id`; src/main/java/com/ruoyi/home/controller/HomeController.java
@@ -174,7 +174,7 @@ @GetMapping("/processDataProductionStatistics") @ApiOperation("å·¥åºæ°æ®ç产ç»è®¡æ°æ®") public AjaxResult processDataProductionStatistics(@DefaultType Integer type,@RequestParam(required = false) List<Long> processTypes) { List<processDataProductionStatisticsDto> list = homeService.processDataProductionStatistics(type, processTypes); List<ProcessDataProductionStatisticsDto> list = homeService.processDataProductionStatistics(type, processTypes); return AjaxResult.success(list); } src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java
ÎļþÃû´Ó src/main/java/com/ruoyi/home/dto/processDataProductionStatisticsDto.java ÐÞ¸Ä @@ -16,7 +16,7 @@ */ @Data public class processDataProductionStatisticsDto { public class ProcessDataProductionStatisticsDto { /** * å·¥åºåç§° src/main/java/com/ruoyi/home/service/HomeService.java
@@ -94,5 +94,5 @@ QualityStatisticsDto qualityInspectionStatistics(Integer type); List<processDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes); List<ProcessDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes); } src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -12,7 +12,6 @@ import com.ruoyi.approve.pojo.ApproveProcess; import com.ruoyi.basic.mapper.CustomerMapper; import com.ruoyi.basic.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductModelMapper; import com.ruoyi.basic.mapper.SupplierManageMapper; import com.ruoyi.basic.pojo.Customer; import com.ruoyi.basic.pojo.Product; @@ -29,9 +28,6 @@ import com.ruoyi.framework.security.LoginUser; import com.ruoyi.home.dto.*; import com.ruoyi.home.service.HomeService; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.utils.StockUtils; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductWorkOrderDto; import com.ruoyi.production.mapper.ProductOrderMapper; @@ -40,7 +36,6 @@ import com.ruoyi.production.mapper.ProductionProductInputMapper; import com.ruoyi.production.mapper.ProductionProductOutputMapper; import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper; import com.ruoyi.production.pojo.ProductProcess; import com.ruoyi.production.pojo.ProductWorkOrder; import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.mapper.SysDeptMapper; @@ -2482,7 +2477,7 @@ } @Override public List<processDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes) { public List<ProcessDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes) { LoginUser loginUser = SecurityUtils.getLoginUser(); Long userId = SecurityUtils.isAdmin(loginUser.getUserId()) ? null : loginUser.getUserId(); @@ -2511,7 +2506,7 @@ LocalDateTime startDateTime = startDate.atStartOfDay(); LocalDateTime endDateTime = endDate.atTime(LocalTime.MAX); List<processDataProductionStatisticsDto> result = productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processTypes); List<ProcessDataProductionStatisticsDto> result = productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processTypes); if (!ObjectUtils.isEmpty(result)) { result.forEach(dto -> { if (dto == null) { src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
@@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.home.dto.processDataProductionStatisticsDto; import com.ruoyi.home.dto.ProcessDataProductionStatisticsDto; import com.ruoyi.production.dto.ProductProcessDto; import com.ruoyi.production.pojo.ProductProcess; import org.apache.ibatis.annotations.Mapper; @@ -17,5 +17,5 @@ IPage<ProductProcessDto> listPage(Page page, @Param("productProcessDto") ProductProcessDto productProcessDto); List<processDataProductionStatisticsDto> calculateProductionStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime, Long userId, List<Long> processTypes); List<ProcessDataProductionStatisticsDto> calculateProductionStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime, Long userId, List<Long> processTypes); } src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -31,7 +31,7 @@ /** * ç±»å«(0:åæææ£éª;1:è¿ç¨æ£éª;2:åºåæ£éª) */ @Excel(name = "ç±»å«",readConverterExp = "0=åæææ£éª,1=è¿ç¨æ£éª,2=åºåæ£éª") @Excel(name = "ç±»å«", readConverterExp = "0=åæææ£éª,1=è¿ç¨æ£éª,2=åºåæ£éª") @NotBlank(message = "ç±»å«ä¸è½ä¸ºç©º!!") private Integer inspectType; @@ -41,8 +41,6 @@ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "æ£æµæ¥æ", width = 30, dateFormat = "yyyy-MM-dd") private Date checkTime; /** @@ -62,6 +60,11 @@ */ @Excel(name = "å·¥åº") private String process; /** * å·¥åºç±»å */ private Integer processType; /** * æ£éªå @@ -110,7 +113,6 @@ */ @Excel(name = "æ£æµç»æ") private String checkResult; @ApiModelProperty(value = "å建æ¶é´") src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -10,6 +10,9 @@ import com.deepoove.poi.config.Configure; import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.HackLoopTableRenderPolicy; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.procurementrecord.service.ProcurementRecordService; @@ -33,6 +36,7 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -59,6 +63,7 @@ public int add(QualityInspectDto qualityInspectDto) { QualityInspect qualityInspect = new QualityInspect(); BeanUtils.copyProperties(qualityInspectDto, qualityInspect); validateProcessType(qualityInspect); qualityInspect.setInspectState(0);//é»è®¤æªæäº¤ qualityInspectMapper.insert(qualityInspect); for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) { @@ -167,6 +172,7 @@ } QualityInspect qualityInspect = new QualityInspect(); BeanUtils.copyProperties(qualityInspectDto, qualityInspect); validateProcessType(qualityInspect); return qualityInspectMapper.updateById(qualityInspect); } @@ -178,7 +184,19 @@ @Override public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) { List<QualityInspect> qualityInspects = qualityInspectMapper.qualityInspectExport(qualityInspect); ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class); if (qualityInspects != null && !qualityInspects.isEmpty()) { for (QualityInspect inspect : qualityInspects) { if (inspect == null || inspect.getProcessType() == null) { continue; } String processLabel = DictUtils.getDictLabel("product_process_type", String.valueOf(inspect.getProcessType())); if (StringUtils.isNotEmpty(processLabel)) { inspect.setProcess(processLabel); } } } ExcelUtil<QualityInspect> util = new ExcelUtil<>(QualityInspect.class); switch (qualityInspect.getInspectType()) { case 0: util.exportExcel(response, qualityInspects, "åæææ£éªå¯¼åº"); @@ -193,5 +211,29 @@ } private void validateProcessType(QualityInspect qualityInspect) { if (qualityInspect == null || qualityInspect.getProcessType() == null) { return; } String dictType = "product_process_type"; String input = String.valueOf(qualityInspect.getProcessType()); String dictValue = DictUtils.getDictValue(dictType, input); if (StringUtils.isNotEmpty(dictValue)) { qualityInspect.setProcessType(Integer.valueOf(dictValue)); return; } String dictValues = DictUtils.getDictValues(dictType); if (StringUtils.isNotEmpty(dictValues)) { List<String> valueList = Arrays.asList(dictValues.split(DictUtils.SEPARATOR)); if (valueList.contains(input)) { return; } } throw new ServiceException("å·¥åºç±»åã" + input + "ãä¸åå¨ï¼è¯·å¡«åæ£ç¡®çç±»åï¼" + DictUtils.getDictLabels(dictType)); } } src/main/resources/mapper/production/ProductProcessMapper.xml
@@ -33,7 +33,7 @@ order by pp.id asc </select> <select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.processDataProductionStatisticsDto"> <select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.ProcessDataProductionStatisticsDto"> SELECT pp.type AS processType, SUM(pi.quantity) AS totalInput,