| | |
| | | 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); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | |
| | | public class ProcessPageDto { |
| | | |
| | | @ApiModelProperty("ç产æ¥å·¥è®°å½çå·¥åºè¡¨id") |
| | | private Long ProductionProductRouteItemId; |
| | | private Long productionProductRouteItemId; |
| | | |
| | | @ApiModelProperty(value = "æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | |
| | | @ApiModelProperty("äº§åºæ°é") |
| | | private BigDecimal quantity; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate startTime; |
| | | |
| | | private LocalDateTime startTime; |
| | | private LocalDateTime endTime; |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate endTime; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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.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; |
| | |
| | | private ProductionProductRouteItemMapper productionProductRouteItemMapper; |
| | | |
| | | private ProductionProductRouteItemParamMapper productionProductRouteItemParamMapper; |
| | | |
| | | private ProductOrderMapper productOrderMapper; |
| | | |
| | | @Override |
| | | public int add(QualityInspectDto qualityInspectDto) { |
| | |
| | | } |
| | | |
| | | @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())); |
| | |
| | | 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="tenant_id" property="tenantId"/> |
| | | </resultMap> |
| | | <select id="processPage" resultType="com.ruoyi.quality.dto.ProcessPageDto"> |
| | | select ppri.id ProductionProductRouteItemId, |
| | | select ppri.id productionProductRouteItemId, |
| | | ppri.create_time, |
| | | ppm.product_no, |
| | | po.nps_no, |
| | |
| | | AND po.strength = #{c.strength} |
| | | </if> |
| | | <if test="c.startTime != null and c.endTime != null"> |
| | | AND po.create_time BETWEEN #{c.startTime} AND #{c.endTime} |
| | | AND ppri.create_time BETWEEN #{c.startTime} AND #{c.endTime} + INTERVAL 1 DAY - INTERVAL 1 MICROSECOND |
| | | </if> |
| | | order by ppri.id desc |
| | | </select> |