liyong
2026-04-23 ec03bfa81ac2000000eef30036e77298352bdc41
Merge remote-tracking branch 'origin/dev_天津_阳光彩印' into dev_天津_阳光彩印
已添加2个文件
已修改6个文件
133 ■■■■■ 文件已修改
src/main/java/com/ruoyi/dto/SimplePersonDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/MaterialInfoDto.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProcessContentDto.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductOrder.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/dto/SimplePersonDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
 * @author buhuazhen
 * @date 2026/4/23
 * @email 3038525872@qq.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SimplePersonDto implements Serializable {
    private Integer userId;
    private String userName;
}
src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ruoyi.production.controller;
import com.ruoyi.production.dto.SaveProductionPrintOrderDto;
import com.ruoyi.production.pojo.ProductionPrintOrder;
import com.ruoyi.production.service.ProductionPrintOrderService;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author buhuazhen
 * @date 2026/4/23
 * @email 3038525872@qq.com
 */
@RequestMapping("/productionProductInput")
@RestController
@Api(value = "印刷单")
@RequiredArgsConstructor
public class ProductionPrintOrderController {
    private final ProductionPrintOrderService productionPrintOrderService;
    @PostMapping("/save")
    public void save(@RequestBody SaveProductionPrintOrderDto dto){
        productionPrintOrderService.save(dto);
    }
}
src/main/java/com/ruoyi/production/dto/MaterialInfoDto.java
@@ -1,10 +1,12 @@
package com.ruoyi.production.dto;
import com.ruoyi.dto.SimplePersonDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
 * @author buhuazhen
@@ -21,7 +23,8 @@
    private String num;
    private String numSuffix = "å¼ ";
    private String unit;
    private String unitSuffix = "元/kg";
    private String unitSuffix = "kg";
    private String price;
    private String priceSuffix = "元/kg";
    private String totalAmount;
}
src/main/java/com/ruoyi/production/dto/ProcessContentDto.java
@@ -1,10 +1,12 @@
package com.ruoyi.production.dto;
import com.ruoyi.dto.SimplePersonDto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
 * å·¥åºåР工内容Dto
@@ -22,4 +24,10 @@
    private String openCount;         // å¼€æ•°
    private String processPositive;   // å·¥è‰ºæ­£æ•°
    private String allowanceQty;      // åŠ æ”¾æ•°
    // æœºå°ä¿¡æ¯
    private Long deviceId;
    private String deviceName;
    List<SimplePersonDto> reportWorkerList;
}
src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java
@@ -18,6 +18,6 @@
@AllArgsConstructor
@NoArgsConstructor
public class ProductionPrintOrderDto extends ProductionPrintOrder implements Serializable {
    private String xxx;
}
src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -110,4 +110,10 @@
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;
    /**
     * å¤‡æ³¨
     */
    @TableField(value = "remark")
    private String remark;
}
src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java
@@ -7,11 +7,13 @@
import java.util.List;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.production.dto.MaterialInfoDto;
import com.ruoyi.production.dto.PlateMakingDto;
import com.ruoyi.production.dto.ProcessContentDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * å°åˆ·å®šå°å•
@@ -35,19 +37,23 @@
    /**
     * å¯¹åº”的生产工单
     */
    @TableField(value = "product_order")
    private Long productOrder;
    @TableField(value = "product_order_id")
    private Long productOrderId;
    /**
     * åˆ¶å•日期
     */
    @TableField(value = "print_order_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime printOrderTime;
    /**
     * å®Œæˆæ—¥æœŸ
     */
    @TableField(value = "finish_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime;
    /**
@@ -186,12 +192,16 @@
     * 
     */
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 
     */
    @TableField(value = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @TableField(exist = false)
@@ -216,4 +226,22 @@
    @TableField(value = "update_user_name", fill = FieldFill.INSERT_UPDATE)
    private String updateUserName;
    /**
     * å°ç›’数量
     */
    @TableField(value = "small_box_qty")
    private String smallBoxQty;
    /**
     * ä¸­ç›’数量
     */
    @TableField(value = "medium_box_qty")
    private String mediumBoxQty;
    /**
     * æˆå“id
     */
    @TableField(value = "product_model_id")
    private Long productModelId;
}
src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
@@ -2,10 +2,15 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.dto.SimplePersonDto;
import com.ruoyi.production.dto.ProcessContentDto;
import com.ruoyi.production.dto.ProcessRouteAnticlockwiseDto;
import com.ruoyi.production.dto.SaveProductionPrintOrderDto;
import com.ruoyi.production.mapper.ProductOrderMapper;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.pojo.ProductionPrintOrder;
import com.ruoyi.production.service.ProductionPrintOrderService;
import com.ruoyi.production.mapper.ProductionPrintOrderMapper;
@@ -14,6 +19,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author buhuazhen
@@ -27,6 +33,8 @@
    private final ProductionPrintOrderMapper productionPrintOrderMapper;
    private final ProductOrderMapper productOrderMapper;
    private final ProcessRouteServiceImpl processRouteService;
    @Override
    @Transactional
    public void save(SaveProductionPrintOrderDto dto) {
@@ -39,7 +47,28 @@
                processContentDto.setId(IdUtil.simpleUUID());
            }
        });
        // è°ƒç”¨å·¥åºæ–¹å¢ž å‡½æ•°
        List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos = processContentDtoList.stream().map(it -> {
            ProcessRouteAnticlockwiseDto pdto = new ProcessRouteAnticlockwiseDto();
            pdto.setProcessId(it.getProcessId());
            pdto.setProcessRouteName(it.getProcessContent());
            pdto.setProcessRouteOpenNum(it.getOpenCount());
            pdto.setProcessRouteNum(it.getProcessPositive());
            pdto.setProcessRouteAddNum(it.getProcessPositive());
//            pdto.setProcessRouteRequire(); å·¥è‰ºè¦æ±‚
            pdto.setProductModelId(dto.getProductModelId());
            pdto.setUserIds(it.getReportWorkerList().stream().map(SimplePersonDto::getUserName).collect(Collectors.joining(",")));
            pdto.setDeviceId(it.getDeviceId());
            return pdto;
        }).collect(Collectors.toList());
        processRouteService.processRouteAnticlockwise(processRouteAnticlockwiseDtos,dto.getProductModelId(),dto.getProductOrderId());
        // ç”Ÿæˆå¤‡æ³¨ å¤‡æ³¨ç”±å…¨éƒ¨å·¥åºåç§°æ¥ ç»„成
        String remark = processContentDtoList.stream().map(ProcessContentDto::getProcessContent).collect(Collectors.joining("、"));
        ProductOrder productOrder = new ProductOrder();
        productOrder.setId(dto.getProductOrderId());
        productOrder.setRemark(remark);
        productOrderMapper.updateById(productOrder);
        int i = dto.getId() == null ? productionPrintOrderMapper.insert(productionPrintOrder) : productionPrintOrderMapper.updateById(productionPrintOrder);
    }
}