Fancy
2024-08-20 1ade3411b380253e8789fa85aeeb70c4d64530dd
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/taskPlan/AssemblyPlanCtrl.java
@@ -7,21 +7,19 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.aop.Log;
import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan;
import com.dy.pmsGlobal.pojoPr.PrEquip;
import com.dy.pmsGlobal.pojoPr.PrDevice;
import com.dy.pmsGlobal.util.QrCodeUtil;
import com.google.zxing.WriterException;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * 组装任务计划
@@ -39,7 +37,7 @@
    }
    @PostMapping(path="save")
    @SsoPowerAop(power = "-1")
    @SsoPowerAop(power = "10200001")
    @Log("保存组装任务计划")
    public BaseResponse<Boolean> save(@RequestBody @Valid PrAssemblyPlan plan){
        int count = sv.save(plan);
@@ -56,7 +54,7 @@
     * @return
     */
    @PostMapping(path="update")
    @SsoPowerAop(power = "-1")
    @SsoPowerAop(power = "10200001")
    @Log("更新组装任务计划")
    public BaseResponse<Boolean> update(@RequestBody @Valid PrAssemblyPlan plan){
        int count = sv.update(plan);
@@ -68,7 +66,7 @@
    }
    @PostMapping(path="updateStatus")
    @SsoPowerAop(power = "-1")
    @SsoPowerAop(power = "10200001")
    @Log("更新任务计划状态")
    public BaseResponse<Boolean> updateStatus(@RequestBody PrAssemblyPlan plan){
        int count = sv.updateStatus(plan);
@@ -83,7 +81,7 @@
     * @return
     */
    @GetMapping(path="one")
    @SsoPowerAop(power = "-1")
    @SsoPowerAop(power = "10200000")
    @Log("根据ID查询组装任务计划")
    public BaseResponse<PrAssemblyPlan> one(Long id){
        PrAssemblyPlan plan=sv.selectById(id);
@@ -96,7 +94,7 @@
     * @return
     */
    @PostMapping(path="some")
    @SsoPowerAop(power = "-1")
    @SsoPowerAop(power = "10200000")
    @Log("分页查询组装任务计划")
    public BaseResponse<QueryResultVo<List<PrAssemblyPlan>>> some(@RequestBody QueryVo vo){
        QueryResultVo<List<PrAssemblyPlan>> list = sv.selectSome(vo) ;
@@ -106,14 +104,14 @@
    /**
     * 增加设备号
     */
    @PostMapping(path="addEquip")
    @SsoPowerAop(power = "-1")
    @PostMapping(path="addDevice")
    @SsoPowerAop(power = "10200001")
    @Log("增加设备号")
    public BaseResponse<?> addEquip(@RequestBody QueryVo vo){
    public BaseResponse<?> addDevice(@RequestBody QueryVo vo){
        if(vo.addNum == null || vo.addNum <= 0 || vo.planId == null){
            return BaseResponseUtils.buildFail("参数错误");
        }
        int count = sv.addEquip(vo.planId,vo.addNum);
        int count = sv.addDevice(vo.planId,vo.addNum);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
@@ -121,28 +119,28 @@
        }
    }
    @PostMapping(path="someEquip")
    @SsoPowerAop(power = "-1")
    @PostMapping(path="someDevice")
    @SsoPowerAop(power = "10200000")
    @Log("分页查询设备号")
    public BaseResponse<QueryResultVo<List<PrEquip>>> someEquip(@RequestBody QueryVo queryVo){
        QueryResultVo<List<PrEquip>> list = sv.selectSomeEquip(queryVo) ;
    public BaseResponse<QueryResultVo<List<PrDevice>>> someDevice(@RequestBody QueryVo queryVo){
        QueryResultVo<List<PrDevice>> list = sv.selectSomeDevice(queryVo) ;
        return BaseResponseUtils.buildSuccess(list);
    }
    @GetMapping(path="exportEquip")
    @SsoPowerAop(power = "-1")
    @GetMapping(path="exportDevice")
    @SsoPowerAop(power = "10200001")
    @Log("导出设备号")
    public void exportEquip(Long batchId, HttpServletResponse response){
    public void exportDevice(Long batchId, HttpServletResponse response){
        Date start = new Date() ;
        List<Converter> list = new ArrayList<>();
        List<PrEquip> equipList = sv.selectEquipByBatchId(batchId) ;
        List<PrDevice> deviceList = sv.selectDeviceByBatchId(batchId) ;
        // 使用并行流提高性能
        equipList.parallelStream().forEach(equip -> {
        deviceList.parallelStream().forEach(device -> {
            ExcelVo vo = new ExcelVo();
            vo.equipNo = equip.equipNo;
            vo.deviceNo = device.deviceNo;
            try {
                vo.qrCode = QrCodeUtil.genQrCode(vo.equipNo);
                vo.qrCode = QrCodeUtil.genQrCode(vo.deviceNo);
            } catch (IOException | WriterException e) {
                e.printStackTrace();
            }