| | |
| | | @Excel(name = "è§æ ¼") |
| | | private String model; |
| | | |
| | | @ApiModelProperty(value = "产åç±»å") |
| | | @Excel(name = "产åç±»å") |
| | | private String strength; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºè·¯çº¿æè¿°") |
| | | @Excel(name = "å·¥èºè·¯çº¿æè¿°") |
| | | private String description; |
| | |
| | | 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.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)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.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; |
| | | |
| | | |
| | | private LocalDateTime startTime; |
| | | private LocalDateTime 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.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); |
| | | } |
| | |
| | | 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.ProductionProductRouteItemMapper; |
| | | import com.ruoyi.production.mapper.ProductionProductRouteItemParamMapper; |
| | | import com.ruoyi.production.pojo.ProductionOrderRouteItemParam; |
| | | import com.ruoyi.production.pojo.ProductionProductRouteItemParam; |
| | | 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; |
| | | |
| | | @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 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 != ''"> |
| | |
| | | <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 po.create_time BETWEEN #{c.startTime} AND #{c.endTime} |
| | | </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> |