Browse Source

aps-导入导出修改

sucheng 3 tháng trước cách đây
mục cha
commit
0df3cde5f2

+ 2 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationProcessEquDao.java

@@ -147,6 +147,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     List<DeviceCodeAndNameDownVo> selectAllDevice(@Param("tenantId") String tenantId);
 
     List<RollerTypeDownVo> selectAllRollerType(@Param("tenantId") String tenantId);
+
+    List<RollerTypeExcelLookVo> selectAllRollerTypeAndWorkShopAndDevice(@Param("tenantId") String tenantId);
 }
 
 

+ 10 - 17
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java

@@ -14,32 +14,23 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.google.common.collect.Maps;
 import com.rongwei.bscommon.sys.dao.ApsProcessOperationProcessEquDao;
 import com.rongwei.bscommon.sys.listener.SpecificRowDropDownHandler;
 import com.rongwei.bscommon.sys.listener.WorkShopImportListener;
 import com.rongwei.bscommon.sys.service.*;
-import com.rongwei.bscommon.sys.utils.ApsUtils;
 import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.*;
-import com.rongwei.rwadmincommon.system.service.SysGeneralCRUDService;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.base.exception.CustomException;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.StringUtils;
-import com.rongwei.rwcommon.vo.CriteriaBuilder;
 import com.rongwei.rwcommon.vo.CriteriaQuery;
 import com.rongwei.safecommon.fegin.CXAdminFeginClient;
 import com.rongwei.safecommon.utils.CXCommonUtils;
-import com.rongwei.safecommon.utils.SaveConstans;
 import com.rongwei.wfserver.wfcommon.sys.service.impl.ProcessServiceImpl;
 import lombok.extern.log4j.Log4j2;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -53,21 +44,14 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.IntPredicate;
-import java.util.function.Supplier;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import static com.rongwei.bscommon.sys.utils.ApsUtils.addNewConflictsDesc;
-import static com.rongwei.safecommon.utils.SaveConstans.CloseStatus.UNFINISHED;
 import static com.rongwei.safecommon.utils.SaveConstans.ForcedConflictsDescription.*;
 import static com.rongwei.safecommon.utils.SaveConstans.JobStatus.*;
 import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_N;
@@ -2624,6 +2608,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             WorkShopExportVo workShopExportVo = BeanUtil.toBean(convertKeysToLowercase, WorkShopExportVo.class);
             res.add(workShopExportVo);
         }
+        res.sort(Comparator.comparing(WorkShopExportVo::getPlanstartdate));
 
         String tenantId = CXCommonUtils.getCurrentUserFactoryId(null);
         // 动态选项提供者(可以从数据库或其他服务获取)
@@ -2635,8 +2620,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         List<RollerTypeDownVo> rollerTypes = this.baseMapper.selectAllRollerType(tenantId);
         String rollerExpression = "辊下拉选!$A$2:$A$" + (rollerTypes.size() + 1);
 
+        //辊对照表
+        List<RollerTypeExcelLookVo> rollerTypeExcelLookVo = this.baseMapper.selectAllRollerTypeAndWorkShopAndDevice(tenantId);
+
         // 只对第2行和第4行设置下拉(relativeRowIndex从0开始)
-        IntPredicate rowFilter = rowIndex -> rowIndex != 0;
+        IntPredicate rowFilter = rowIndex -> true;
 
         // 设置响应头
         String fileName = "车间作业跟踪导出数据_" + System.currentTimeMillis() + ".xlsx";
@@ -2674,6 +2662,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 .head(RollerTypeDownVo.class)
                 .build();
         excelWriter.write(rollerTypes, rollerSheet);
+        // 第4个Sheet:辊对照表(直接写入字符串列表)
+        WriteSheet rollerSheet2 = EasyExcel.writerSheet(3, "设备辊类型")
+                .head(RollerTypeExcelLookVo.class)
+                .build();
+        excelWriter.write(rollerTypeExcelLookVo, rollerSheet2);
         excelWriter.finish();
 //        // 写入Excel
 //        EasyExcel.write(response.getOutputStream(), WorkShopExportVo.class)

+ 16 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationProcessEquDao.xml

@@ -711,4 +711,20 @@
     <select id="selectAllRollerType" resultType="com.rongwei.bsentity.vo.RollerTypeDownVo">
         select distinct ROLLERTYPE AS 'rollerType' from aps_roller_type where DELETED = 0 AND TENANTID = #{tenantId}
     </select>
+    <select id="selectAllRollerTypeAndWorkShopAndDevice"
+            resultType="com.rongwei.bsentity.vo.RollerTypeExcelLookVo">
+        SELECT
+            aci.USEDEPTNAME AS 'workshop',
+            aci.CHECKITEMNAME AS 'device',
+            aci.CHECKITEMCODE AS 'deviceCode',
+            art.ROLLERTYPE AS 'rollerType'
+        FROM
+            aps_roller_type art
+                LEFT JOIN asp_check_items aci ON art.CHECKITEMID = aci.ID
+                AND aci.DELETED = 0
+        WHERE
+            art.DELETED = 0
+        AND art.TENANTID = #{tenantId}
+        ORDER BY aci.USEDEPTNAME,aci.CHECKITEMNAME,art.ROLLERTYPE
+    </select>
 </mapper>

+ 20 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/RollerTypeExcelLookVo.java

@@ -0,0 +1,20 @@
+package com.rongwei.bsentity.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * @author :sc
+ * @since :2025/4/21
+ */
+@Data
+public class RollerTypeExcelLookVo {
+    @ExcelProperty("加工车间")
+    private String workshop;
+    @ExcelProperty("加工设备")
+    private String device;
+    @ExcelProperty("设备编号")
+    private String deviceCode;
+    @ExcelProperty("辊类型")
+    private String rollerType;
+}