| | |
| | | /*******************************************æ±æ»ç»è®¡*****************************************************************************************************************************************************************************/ |
| | | |
| | | @GetMapping("/statistics") |
| | | @ApiOperation("è½èç»è®¡---ææ¥æå¹´æ±æ»ç»è®¡") |
| | | @ApiOperation("è½è管ç---è½èç»è®¡") |
| | | public R statistics(EnergyStatisticsVo energyStatisticsVo) { |
| | | return R.ok(energyConsumptionDetailService.statistics(energyStatisticsVo)); |
| | | } |
| | | |
| | | @GetMapping("/account") |
| | | @ApiOperation("è½èææ¬æ ¸ç®---ææ¥ææ±æ»ç»è®¡") |
| | | @ApiOperation("ææ¬æ ¸ç®---è½èææ¬æ ¸ç®") |
| | | public R account(EnergyStatisticsVo energyStatisticsVo) { |
| | | energyStatisticsVo.setType(null); |
| | | return R.ok(energyConsumptionDetailService.account(energyStatisticsVo)); |
| | | } |
| | | |
| | | @GetMapping("/collectEnergy") |
| | | @ApiOperation("å³çåæ---è½èåè") |
| | | public R collectEnergy(EnergyStatisticsVo energyStatisticsVo) { |
| | | return R.ok(energyConsumptionDetailService.collectEnergy(energyStatisticsVo)); |
| | | } |
| | | |
| | | } |
| | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel("è½èææ¬æ ¸ç®---ææ¥ææ±æ»ç»è®¡") |
| | | @ApiModel("ææ¬æ ¸ç®---è½èææ¬æ ¸ç®") |
| | | public class EnergyAccountDto { |
| | | |
| | | @ApiModelProperty("æ»è½èææ¬") |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.energy.dto; |
| | | |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel("å³çåæ---è½èåè") |
| | | public class EnergyCollectDto { |
| | | |
| | | @ApiModelProperty("è½èç±»åå æ¯") |
| | | private List<EnergyConsumptionTypeDto> energyConsumptionTypeProportion; |
| | | |
| | | |
| | | } |
| | |
| | | import java.util.Map; |
| | | |
| | | @Data |
| | | @ApiModel("è½èç»è®¡---ææ¥æå¹´æ±æ»ç»è®¡çè½èæ°æ®") |
| | | @ApiModel("è½è管ç---è½èç»è®¡") |
| | | public class EnergyStatisticsDto { |
| | | |
| | | @ApiModelProperty("æ»èç¨é") |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.energy.dto.EnergyAccountDto; |
| | | import com.ruoyi.energy.dto.EnergyCollectDto; |
| | | import com.ruoyi.energy.dto.EnergyConsumptionDetailDto; |
| | | import com.ruoyi.energy.dto.EnergyStatisticsDto; |
| | | import com.ruoyi.energy.pojo.EnergyConsumptionDetail; |
| | |
| | | EnergyStatisticsDto statistics(EnergyStatisticsVo energyStatisticsVo); |
| | | |
| | | EnergyAccountDto account(EnergyStatisticsVo energyStatisticsVo); |
| | | |
| | | EnergyCollectDto collectEnergy(EnergyStatisticsVo energyStatisticsVo); |
| | | } |
| | |
| | | energyAccountDto.setEnergyConsumptionDetailDtoList(energyConsumptionDetailDtoList); |
| | | return energyAccountDto; |
| | | } |
| | | |
| | | @Override |
| | | public EnergyCollectDto collectEnergy(EnergyStatisticsVo energyStatisticsVo) { |
| | | EnergyCollectDto energyCollectDto = new EnergyCollectDto(); |
| | | //è½èåèæ°æ® |
| | | List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo); |
| | | energyCollectDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos); |
| | | //è½èåèè¶å¿(å¾
å®ç°) |
| | | return energyCollectDto; |
| | | } |
| | | } |
| | |
| | | |
| | | //è½èåºæ¯(åå
¬/ç产) |
| | | private String type; |
| | | |
| | | //è½èç±»å(æ°´/çµ/æ°) |
| | | private String energyName; |
| | | } |
| | |
| | | @Excel(name = "è§æ ¼") |
| | | private String model; |
| | | |
| | | @ApiModelProperty(value = "产åç±»å") |
| | | @Excel(name = "产åç±»å") |
| | | private String strength; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºè·¯çº¿æè¿°") |
| | | @Excel(name = "å·¥èºè·¯çº¿æè¿°") |
| | | private String description; |
| | |
| | | import com.ruoyi.production.dto.ProductStructureDto; |
| | | import com.ruoyi.production.pojo.ProcessRoute; |
| | | import com.ruoyi.production.pojo.ProductOrder; |
| | | import com.ruoyi.quality.dto.FinishedPageDto; |
| | | import com.ruoyi.quality.dto.FinishedRatioDto; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | Integer countPending(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | List<ProductOrderSourceDto> productOrderSource(@Param("orderId") Long orderId); |
| | | |
| | | IPage<FinishedPageDto> finishedPage(Page page, @Param("c") FinishedPageDto finishedPageDto); |
| | | |
| | | List<FinishedRatioDto> finishedRatio(@Param("productOrderId") Long productOrderId); |
| | | } |
| | |
| | | package com.ruoyi.production.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.production.pojo.ProductionProductRouteItem; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.quality.dto.ProcessPageDto; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface ProductionProductRouteItemMapper extends BaseMapper<ProductionProductRouteItem> { |
| | | |
| | | IPage<ProcessPageDto> processPage(Page page, @Param("c") ProcessPageDto processPageDto); |
| | | } |
| | |
| | | package com.ruoyi.production.mapper; |
| | | |
| | | import com.ruoyi.production.pojo.ProductionOrderRouteItemParam; |
| | | import com.ruoyi.production.pojo.ProductionProductRouteItemParam; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface ProductionProductRouteItemParamMapper extends BaseMapper<ProductionProductRouteItemParam> { |
| | | |
| | | List<ProductionProductRouteItemParam> processDetails(@Param("productionProductRouteItemId") Long productionProductRouteItemId); |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "ç¶æï¼1.å¾
å¼å§ã2.è¿è¡ä¸ã3.已宿ã4.已忶ï¼") |
| | | private Integer status; |
| | | |
| | | /** |
| | | * å
³èç©æä¿¡æ¯è¡¨ID |
| | | */ |
| | | @ApiModelProperty("å
³èç©æä¿¡æ¯è¡¨ID") |
| | | private Long productMaterialSkuId; |
| | | } |
| | |
| | | throw new ServiceException("æ¥å·¥å¤±è´¥,çäº§è®¢åæ´æ°å¤±è´¥"); |
| | | } |
| | | |
| | | // 宿æ¥å·¥ä¸»è¡¨-æå
¥è¡¨-产åºè¡¨æ°æ® |
| | | // 宿æ¥å·¥ä¸»è¡¨-产åºè¡¨-äº§åºæç»è¡¨æ°æ® |
| | | ProductionProductMain productionProductMain = new ProductionProductMain(); |
| | | productionProductMain.setProductNo(productionProductMainService.generateProductNo()); |
| | | productionProductMain.setProductOrderId(dto.getProductOrderId()); |
| | |
| | | productionProductInput.setQuantity(dto.getQuantity()); |
| | | result = productionProductInputService.save(productionProductInput); |
| | | if (!result) { |
| | | throw new ServiceException("æ¥å·¥å¤±è´¥,ç产æå
¥åå¨å¤±è´¥"); |
| | | throw new ServiceException("æ¥å·¥å¤±è´¥,ç产产åºåå¨å¤±è´¥"); |
| | | } |
| | | |
| | | ProductionProductOutput productionProductOutput = new ProductionProductOutput(); |
| | |
| | | dto.setMaterialCode(productMaterialSkuDto.getMaterialCode()); |
| | | dto.setModel(productMaterialSkuDto.getModel()); |
| | | |
| | | // æ¥è¯¢æå
¥è¡¨ï¼è·å产åIDåæå
¥æ°éï¼ |
| | | // æ¥è¯¢æ»çäº§åºæ°é(è¿éææå
¥è¡¨å¼æäºäº§åºæ»è¡¨) |
| | | ProductionProductInput input = productionProductInputService.getOne( |
| | | new LambdaQueryWrapper<ProductionProductInput>() |
| | | .eq(ProductionProductInput::getProductMainId, productMainId) |
| | |
| | | productOrder.setPlanCompleteTime(productionPlanDto.getPlanCompleteTime()); |
| | | productOrder.setStatus(ProductOrderStatusEnum.WAIT.getCode()); |
| | | productOrder.setStrength(productionPlanDto.getStrength()); |
| | | productOrder.setProductMaterialSkuId(productionPlanDto.getProductMaterialSkuId()); |
| | | |
| | | Long orderId = productOrderService.insertProductOrder(productOrder); |
| | | |
| | |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.quality.dto.FinishedPageDto; |
| | | import com.ruoyi.quality.dto.ProcessPageDto; |
| | | import com.ruoyi.quality.dto.QualityInspectDto; |
| | | import com.ruoyi.quality.pojo.QualityInspect; |
| | | import com.ruoyi.quality.pojo.QualityInspectFile; |
| | |
| | | import com.ruoyi.quality.service.IQualityInspectFileService; |
| | | import com.ruoyi.quality.service.IQualityInspectParamService; |
| | | import com.ruoyi.quality.service.IQualityInspectService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | * åæææ£éª/è¿ç¨æ£éª/åºåæ£éª |
| | | */ |
| | | @RestController |
| | | @Api(tags = "è´¨é管ç") |
| | | @RequestMapping("/quality/qualityInspect") |
| | | public class QualityInspectController { |
| | | |
| | |
| | | public void down(HttpServletResponse response,@RequestBody QualityInspect qualityInspect) { |
| | | qualityInspectService.down(response, qualityInspect); |
| | | } |
| | | |
| | | /************************************************å®å¤ä¸ç建æçè¿ç¨æ£åæåæ£*********************************************************************************/ |
| | | |
| | | /** |
| | | * è¿ç¨æ£å页æ¥è¯¢ |
| | | * @param page |
| | | * @param processPageDto |
| | | * @return |
| | | */ |
| | | @GetMapping("/processPage") |
| | | @ApiOperation("è¿ç¨æ£å页æ¥è¯¢") |
| | | public AjaxResult processPage(Page page, ProcessPageDto processPageDto) { |
| | | return AjaxResult.success(qualityInspectService.processPage(page, processPageDto)); |
| | | } |
| | | |
| | | /** |
| | | * è¿ç¨æ£è¯¦æ
|
| | | * @param processPageDto |
| | | * @return |
| | | */ |
| | | @GetMapping("/processDetails") |
| | | @ApiOperation("è¿ç¨æ£è¯¦æ
") |
| | | public AjaxResult processDetails(ProcessPageDto processPageDto) { |
| | | return AjaxResult.success(qualityInspectService.processDetails(processPageDto)); |
| | | } |
| | | |
| | | /** |
| | | * æåæ£å页æ¥è¯¢ |
| | | * @param page |
| | | * @param finishedPageDto |
| | | * @return |
| | | */ |
| | | @GetMapping("/finishedPage") |
| | | @ApiOperation("æåæ£å页æ¥è¯¢") |
| | | public AjaxResult finishedPage(Page page, FinishedPageDto finishedPageDto) { |
| | | return AjaxResult.success(qualityInspectService.finishedPage(page, finishedPageDto)); |
| | | } |
| | | |
| | | /** |
| | | * æåæ£-计ç®å®é
æå
¥äº§åºæ¯ä¾åæ åæå
¥äº§åºæ¯çåå·®ç |
| | | * æ ¹æ®bomæ¥ç® |
| | | * @param finishedPageDto |
| | | * @return |
| | | */ |
| | | @GetMapping("/finishedRatio") |
| | | @ApiOperation("æåæ£-æ¥çæ åæå
¥äº§åºæ¯ä¾") |
| | | public AjaxResult finishedRatio(FinishedPageDto finishedPageDto) { |
| | | return AjaxResult.success(qualityInspectService.finishedRatio(finishedPageDto)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.quality.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.framework.aspectj.lang.annotation.Excel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @ApiModel("è´¨é管ç---æåæ£(å°è´¦)") |
| | | public class FinishedPageDto { |
| | | |
| | | @ApiModelProperty("ç产订åid") |
| | | private Long productOrderId; |
| | | |
| | | @ApiModelProperty(value = "ç¶æï¼1.å¾
å¼å§ã2.è¿è¡ä¸ã3.已宿ã4.已忶ï¼") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "ç产订åå·") |
| | | private String npsNo; |
| | | |
| | | @ApiModelProperty(value = "产åç¼ç ") |
| | | private String materialCode; |
| | | |
| | | @ApiModelProperty(value = "产ååç§°") |
| | | private String productName; |
| | | |
| | | @ApiModelProperty(value = "è§æ ¼") |
| | | private String model; |
| | | |
| | | @ApiModelProperty(value = "产åç±»å") |
| | | private String strength; |
| | | |
| | | @ApiModelProperty(value = "ç产订åéæ±æ°é") |
| | | private BigDecimal needQuantity; |
| | | |
| | | @ApiModelProperty("æ»åæ ¼æ°é") |
| | | private BigDecimal qualifiedQuantity; |
| | | |
| | | @ApiModelProperty("æ»ä¸åæ ¼æ°é") |
| | | private BigDecimal unqualifiedQuantity; |
| | | |
| | | @ApiModelProperty("æ»äº§åºæ°é") |
| | | private BigDecimal quantity; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.quality.dto; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | @Data |
| | | @ApiModel("è´¨é管ç---æåæ£(æ¥çæ åæå
¥äº§åºæ¯ä¾)") |
| | | public class FinishedRatioDto { |
| | | |
| | | |
| | | @ApiModelProperty(value = "产åç¼ç ") |
| | | private String materialCode; |
| | | |
| | | @ApiModelProperty(value = "产ååç§°") |
| | | private String productName; |
| | | |
| | | @ApiModelProperty(value = "è§æ ¼") |
| | | private String model; |
| | | |
| | | @ApiModelProperty(value = "åä½") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "å®é
æå
¥é") |
| | | private BigDecimal actualInputQuantity; |
| | | |
| | | @ApiModelProperty(value = "å®é
产åºé") |
| | | private BigDecimal actualOutputQuantity; |
| | | |
| | | @ApiModelProperty("å®é
æå
¥äº§åºæ¯ä¾") |
| | | private BigDecimal actualInputOutputRatio; |
| | | |
| | | @ApiModelProperty("æ åæå
¥äº§åºæ¯ä¾") |
| | | private BigDecimal standardInputOutputRatio; |
| | | |
| | | @ApiModelProperty("å®é
䏿 åçåå·®ç") |
| | | private BigDecimal deviationRate; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.quality.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.framework.aspectj.lang.annotation.Excel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @ApiModel("è´¨é管ç---è¿ç¨æ£(å°è´¦)") |
| | | public class ProcessPageDto { |
| | | |
| | | @ApiModelProperty("ç产æ¥å·¥è®°å½çå·¥åºè¡¨id") |
| | | private Long productionProductRouteItemId; |
| | | |
| | | @ApiModelProperty(value = "æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "æ¥å·¥åå·") |
| | | private String productNo; |
| | | |
| | | @ApiModelProperty(value = "ç产订åå·") |
| | | private String npsNo; |
| | | |
| | | @ApiModelProperty(value = "å·¥åºåç§°") |
| | | private String process; |
| | | |
| | | @ApiModelProperty(value = "å²ä½äººå") |
| | | private String postName; |
| | | |
| | | @ApiModelProperty(value = "çæ¬¡") |
| | | private String schedule; |
| | | |
| | | @ApiModelProperty(value = "产åç¼ç ") |
| | | private String materialCode; |
| | | |
| | | @ApiModelProperty(value = "产ååç§°") |
| | | private String productName; |
| | | |
| | | @ApiModelProperty(value = "è§æ ¼") |
| | | private String model; |
| | | |
| | | @ApiModelProperty(value = "产åç±»å") |
| | | private String strength; |
| | | |
| | | @ApiModelProperty("åæ ¼æ°é") |
| | | private BigDecimal qualifiedQuantity; |
| | | |
| | | @ApiModelProperty("ä¸åæ ¼æ°é") |
| | | private BigDecimal unqualifiedQuantity; |
| | | |
| | | @ApiModelProperty("äº§åºæ°é") |
| | | private BigDecimal quantity; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate startTime; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate endTime; |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.production.dto.ProcessRouteItemParamDto; |
| | | import com.ruoyi.production.pojo.ProductionOrderRouteItemParam; |
| | | import com.ruoyi.production.pojo.ProductionProductRouteItemParam; |
| | | import com.ruoyi.quality.dto.FinishedPageDto; |
| | | import com.ruoyi.quality.dto.FinishedRatioDto; |
| | | import com.ruoyi.quality.dto.ProcessPageDto; |
| | | import com.ruoyi.quality.dto.QualityInspectDto; |
| | | import com.ruoyi.quality.pojo.QualityInspect; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | public interface IQualityInspectService extends IService<QualityInspect> { |
| | | |
| | |
| | | int submit(QualityInspect qualityInspect); |
| | | |
| | | void down(HttpServletResponse response, QualityInspect qualityInspect); |
| | | |
| | | IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto); |
| | | |
| | | List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto); |
| | | |
| | | IPage<FinishedPageDto> finishedPage(Page page, FinishedPageDto finishedPageDto); |
| | | |
| | | List<FinishedRatioDto> finishedRatio(FinishedPageDto finishedPageDto); |
| | | } |
| | |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.production.dto.ProcessRouteItemParamDto; |
| | | import com.ruoyi.production.mapper.ProductOrderMapper; |
| | | import com.ruoyi.production.mapper.ProductionProductRouteItemMapper; |
| | | import com.ruoyi.production.mapper.ProductionProductRouteItemParamMapper; |
| | | import com.ruoyi.production.pojo.ProductionOrderRouteItemParam; |
| | | import com.ruoyi.production.pojo.ProductionProductRouteItemParam; |
| | | import com.ruoyi.quality.dto.FinishedPageDto; |
| | | import com.ruoyi.quality.dto.FinishedRatioDto; |
| | | import com.ruoyi.quality.dto.ProcessPageDto; |
| | | import com.ruoyi.quality.dto.QualityInspectDto; |
| | | import com.ruoyi.quality.mapper.QualityInspectMapper; |
| | | import com.ruoyi.quality.mapper.QualityTestStandardMapper; |
| | |
| | | private SalesLedgerProductMapper salesLedgerProductMapper; |
| | | |
| | | private ProcurementRecordService procurementRecordService; |
| | | |
| | | private ProductionProductRouteItemMapper productionProductRouteItemMapper; |
| | | |
| | | private ProductionProductRouteItemParamMapper productionProductRouteItemParamMapper; |
| | | |
| | | private ProductOrderMapper productOrderMapper; |
| | | |
| | | @Override |
| | | public int add(QualityInspectDto qualityInspectDto) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public IPage<ProcessPageDto> processPage(Page page, ProcessPageDto processPageDto) { |
| | | return productionProductRouteItemMapper.processPage(page,processPageDto); |
| | | } |
| | | |
| | | @Override |
| | | public List<ProductionProductRouteItemParam> processDetails(ProcessPageDto processPageDto) { |
| | | return productionProductRouteItemParamMapper.processDetails(processPageDto.getProductionProductRouteItemId()); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<FinishedPageDto> finishedPage(Page page, FinishedPageDto finishedPageDto) { |
| | | return productOrderMapper.finishedPage(page,finishedPageDto); |
| | | } |
| | | |
| | | @Override |
| | | public List<FinishedRatioDto> finishedRatio(FinishedPageDto finishedPageDto) { |
| | | return productOrderMapper.finishedRatio(finishedPageDto.getProductOrderId()); |
| | | } |
| | | |
| | | @Override |
| | | public int updateQualityInspect(QualityInspectDto qualityInspectDto) { |
| | | if (ObjectUtils.isNotNull(qualityInspectDto.getQualityInspectParams())) { |
| | | qualityInspectParamService.remove(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, qualityInspectDto.getId())); |
| | |
| | | FROM product_order po |
| | | LEFT JOIN process_route pr ON po.route_id = pr.id |
| | | LEFT JOIN product_bom pb ON pr.bom_id = pb.id |
| | | LEFT JOIN ( |
| | | SELECT product_order_id, MIN(production_plan_id) AS production_plan_id |
| | | FROM product_order_plan |
| | | GROUP BY product_order_id |
| | | ) pop ON po.id = pop.product_order_id |
| | | LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id |
| | | LEFT JOIN product_material_sku pms ON pms.id = pp.product_material_sku_id |
| | | LEFT JOIN product_material_sku pms ON pms.id = po.product_material_sku_id |
| | | LEFT JOIN product_material pm ON pm.id = pms.product_id |
| | | <where> |
| | | <if test="c.npsNo != null and c.npsNo != ''"> |
| | |
| | | ORDER BY pp.apply_no |
| | | |
| | | </select> |
| | | <select id="finishedPage" resultType="com.ruoyi.quality.dto.FinishedPageDto"> |
| | | select * from |
| | | (select po.id productOrderId, |
| | | po.status, |
| | | po.nps_no, |
| | | sku.material_code, |
| | | pm.product_name, |
| | | sku.model, |
| | | po.strength, |
| | | po.quantity needQuantity, |
| | | sum(ppo.quantity) qualifiedQuantity, |
| | | sum(ppo.scrap_qty) unqualifiedQuantity, |
| | | sum(ppo.quantity+ppo.scrap_qty) quantity |
| | | from product_order po |
| | | LEFT JOIN product_material_sku sku ON po.product_material_sku_id = sku.id |
| | | LEFT JOIN product_material pm ON sku.product_id = pm.id |
| | | LEFT JOIN production_product_main ppm ON ppm.product_order_id = po.id |
| | | LEFT JOIN production_product_output ppo ON ppo.product_main_id = ppm.id |
| | | group by po.id , |
| | | po.status, |
| | | po.nps_no, |
| | | sku.material_code, |
| | | pm.product_name, |
| | | sku.model, |
| | | po.strength, |
| | | po.quantity |
| | | order by po.id desc )A |
| | | <where> |
| | | <if test="c.npsNo != null and c.npsNo != ''"> |
| | | AND A.nps_no LIKE CONCAT('%', #{c.npsNo}, '%') |
| | | </if> |
| | | <if test="c.productName != null and c.productName != ''"> |
| | | AND A.product_name LIKE CONCAT('%', #{c.productName}, '%') |
| | | </if> |
| | | <if test="c.materialCode != null and c.materialCode != ''"> |
| | | AND A.material_code LIKE CONCAT('%', #{c.materialCode}, '%') |
| | | </if> |
| | | <if test="c.model != null and c.model != ''"> |
| | | AND A.model LIKE CONCAT('%', #{c.model}, '%') |
| | | </if> |
| | | <if test="c.strength != null and c.strength != ''"> |
| | | AND A.strength = #{c.strength} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="finishedRatio" resultType="com.ruoyi.quality.dto.FinishedRatioDto"> |
| | | select A.material_code, |
| | | product_name, |
| | | model, |
| | | unit, |
| | | actualInputQuantity, |
| | | actualOutputQuantity, |
| | | actualInputQuantity / actualOutputQuantity actualInputOutputRatio, |
| | | unit_quantity standardInputOutputRatio, |
| | | (actualInputQuantity / actualOutputQuantity - unit_quantity)/unit_quantity deviationRate |
| | | from (select |
| | | sku.material_code, |
| | | pm.product_name, |
| | | sku.model, |
| | | pprip.unit, |
| | | pos.unit_quantity, |
| | | sum(pprip.product_value) actualInputQuantity, |
| | | sum(ppo.quantity+ppo.scrap_qty) actualOutputQuantity |
| | | from production_product_route_item_param pprip |
| | | left join production_product_route_item ppri on ppri.id=pprip.production_product_route_item_id |
| | | left join production_product_main ppm on ppm.id=ppri.product_main_id |
| | | left join production_product_output ppo on ppm.id=ppo.product_main_id |
| | | left join product_material_sku sku ON pprip.product_id = sku.id |
| | | left join product_material pm ON sku.product_id = pm.id |
| | | left join production_order_structure pos ON pos.product_model_id = pprip.product_id |
| | | where ppm.product_order_id = #{productOrderId} |
| | | and pos.order_id = #{productOrderId} |
| | | and pprip.order_item_param_id is null |
| | | group by sku.material_code, |
| | | pm.product_name, |
| | | sku.model, |
| | | pos.unit_quantity, |
| | | pprip.unit)A |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="tenant_id" property="tenantId"/> |
| | | </resultMap> |
| | | <select id="processPage" resultType="com.ruoyi.quality.dto.ProcessPageDto"> |
| | | select ppri.id productionProductRouteItemId, |
| | | ppri.create_time, |
| | | ppm.product_no, |
| | | po.nps_no, |
| | | pp.name process, |
| | | ppri.post_name, |
| | | ppm.schedule, |
| | | pms.material_code, |
| | | pm.product_name, |
| | | pms.model, |
| | | po.strength, |
| | | ppo.quantity qualifiedQuantity, |
| | | ppo.scrap_qty unqualifiedQuantity, |
| | | ppo.quantity + ppo.scrap_qty quantity |
| | | from production_product_route_item ppri |
| | | left join production_product_main ppm on ppri.product_main_id = ppm.id |
| | | left join production_product_output ppo on ppo.product_main_id = ppm.id |
| | | left join product_order po on ppm.product_order_id = po.id |
| | | left join product_process pp on ppri.process_id = pp.id |
| | | left join product_material_sku pms on pms.id = po.product_material_sku_id |
| | | left join product_material pm on pm.id = pms.product_id |
| | | where 1=1 |
| | | <if test="c.npsNo != null and c.npsNo != ''"> |
| | | AND po.nps_no LIKE CONCAT('%', #{c.npsNo}, '%') |
| | | </if> |
| | | <if test="c.process != null and c.process != ''"> |
| | | AND pp.name LIKE CONCAT('%', #{c.process}, '%') |
| | | </if> |
| | | <if test="c.productNo != null and c.productNo != ''"> |
| | | AND ppm.product_no LIKE CONCAT('%', #{c.productNo}, '%') |
| | | </if> |
| | | <if test="c.productName != null and c.productName != ''"> |
| | | AND pm.product_name LIKE CONCAT('%', #{c.productName}, '%') |
| | | </if> |
| | | <if test="c.materialCode != null and c.materialCode != ''"> |
| | | AND pms.material_code LIKE CONCAT('%', #{c.materialCode}, '%') |
| | | </if> |
| | | <if test="c.model != null and c.model != ''"> |
| | | AND pms.model LIKE CONCAT('%', #{c.model}, '%') |
| | | </if> |
| | | <if test="c.strength != null and c.strength != ''"> |
| | | AND po.strength = #{c.strength} |
| | | </if> |
| | | <if test="c.startTime != null and c.endTime != null"> |
| | | AND ppri.create_time BETWEEN #{c.startTime} AND #{c.endTime} + INTERVAL 1 DAY - INTERVAL 1 MICROSECOND |
| | | </if> |
| | | order by ppri.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="tenant_id" property="tenantId"/> |
| | | </resultMap> |
| | | <select id="processDetails" resultType="com.ruoyi.production.pojo.ProductionProductRouteItemParam"> |
| | | select pprip.* |
| | | from production_product_route_item_param pprip |
| | | where pprip.production_product_route_item_id = #{productionProductRouteItemId} |
| | | and pprip.order_item_param_id is not null |
| | | </select> |
| | | |
| | | </mapper> |