package com.zbooksoft.gdmis.operate; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruili.wcp.common.SpringContextUtil; import com.ruili.wcp.common.StringUtil; import com.ruili.wcp.data.entity.config.View; import com.ruili.wcp.service.config.ViewService; import com.ruili.wcp.web.model.AjaxResponse; import com.ruili.wcp.web.model.ErrorInfo; import com.zbooksoft.gdmis.data.entity.PackingManage; import com.zbooksoft.gdmis.service.CatSmxxService; import com.zbooksoft.gdmis.service.CatYswjxxService; import com.zbooksoft.gdmis.service.PackingManageService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.BatchPreparedStatementSetter; import org.springframework.jdbc.core.JdbcTemplate; import java.sql.PreparedStatement; import java.sql.SQLException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * @Description:原始文件信息操作方法 * @Author: zhai * @Date: 2024/8/15 **/ public class CatYswjxxOperate { private static final Logger logger = LoggerFactory.getLogger(CatYswjxxOperate.class); CatYswjxxService catYswjxxService = (CatYswjxxService) SpringContextUtil.getBean("catYswjxxServiceImpl"); CatSmxxService catSmxxService = (CatSmxxService) SpringContextUtil.getBean("catSmxxServiceImpl"); PackingManageService packingManageService = (PackingManageService) SpringContextUtil.getBean("packingManageServiceImpl"); ViewService viewService = (ViewService) SpringContextUtil.getBean("viewServiceImpl"); JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtil.getBean("jdbcTemplate"); /** * 退回待著录 * * @param viewId * @param idList * @return */ public AjaxResponse submitCheck(Long viewId, ArrayList idList) { View view = viewService.getViewById(viewId); int state = 2; String strSql = "update " + view.getMainTableName() + " set yszt = " + state; try { jdbcTemplate.batchUpdate(strSql + " where " + view.getIdField() + "=?", new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { ps.setLong(1, idList.get(i));// 下标从1开始 } @Override public int getBatchSize() { return idList.size(); } }); return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } /** * 验收后中数据进行撤回 * * @param viewId * @param idList * @return */ public AjaxResponse revocationCheck(Long viewId, ArrayList idList) { View view = viewService.getViewById(viewId); int state = 0; String strSql = "update " + view.getMainTableName() + " set yszt = " + state; try { jdbcTemplate.batchUpdate(strSql + " where " + view.getIdField() + "=?", new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { ps.setLong(1, idList.get(i));// 下标从1开始 } @Override public int getBatchSize() { return idList.size(); } }); return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } /** * 是否可借阅 * * @param viewId * @param idList * @return */ public AjaxResponse isBorrow(Long viewId, ArrayList idList) { //纸质借阅状态,0可外借,1不可借出 View view = viewService.getViewById(viewId); int state = 1; String strSql = "update " + view.getMainTableName() + " set JYZT = " + state; try { jdbcTemplate.batchUpdate(strSql + " where " + view.getIdField() + "=?", new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { ps.setLong(1, idList.get(i));// 下标从1开始 } @Override public int getBatchSize() { return idList.size(); } }); return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } /** * 原始文件装盒 * * @return */ public AjaxResponse packagingBoxYs(Long viewId, ArrayList idList) { try { String box = "0001"; String maxBoxSql = "select max(box_number) from BUS_PACKING_MANAGE WHERE TYPE = 1"; String boxNum = jdbcTemplate.queryForObject(maxBoxSql, String.class); if (boxNum != null || "".equals(boxNum)) { int num = Integer.parseInt(boxNum); num += 1; DecimalFormat df = new DecimalFormat("0000"); box = df.format(num); } int newPage = 0; View view = viewService.getViewById(viewId); String mainTableName = view.getMainTableName(); for (int i = 0; i < idList.size(); i++) { String selectSql = "select * from " + mainTableName + " where id = " + idList.get(i); Map map = jdbcTemplate.queryForMap(selectSql); String itemNum = StringUtil.nullToEmpty(map.get("DH")).trim(); String id = StringUtil.nullToEmpty(map.get("ID")).trim(); String ajId = StringUtil.nullToEmpty(map.get("AJ_ID")).trim(); QueryWrapper packingManageQueryWrapper = new QueryWrapper<>(); packingManageQueryWrapper.eq("item_id", idList.get(i)); PackingManage packingManage = new PackingManage(); List packingManageList = packingManageService.list(packingManageQueryWrapper); if (packingManageList.size() > 0) { packingManage = packingManageList.get(0); } packingManage.setItemId(id); packingManage.setAjId(ajId); packingManage.setCreateTime(new java.util.Date()); packingManage.setType(1); String zzys = map.get("ZZYS") == null ? "0" : map.get("ZZYS").toString(); if (newPage + Integer.parseInt(zzys) > 500) { int num = Integer.parseInt(box); num += 1; DecimalFormat df = new DecimalFormat("0000"); String newBox = df.format(num); box = newBox; newPage = Integer.parseInt(zzys); } else { newPage = newPage + Integer.parseInt(zzys); } packingManage.setItemNum(itemNum + "-" + box); packingManage.setBoxNumber(box); packingManageService.saveOrUpdate(packingManage); String updateSql = "update " + mainTableName + " set HH = '" + box + "' where id = " + idList.get(i); jdbcTemplate.update(updateSql); } return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } /** * 文件装盒 * * @return */ public AjaxResponse packagingBoxCg(Long viewId, ArrayList idList) { try { //分成果和原始 原始盒子命名规则最大号,成果文件报告号 //解析纸张大小, 获取最大盒子号,进行装盒 500页 String box = "01"; int newPage = 0; View view = viewService.getViewById(viewId); String mainTableName = view.getMainTableName(); String selectSqlOne = "select * from " + mainTableName + " where id = " + idList.get(0); Map mapList = jdbcTemplate.queryForMap(selectSqlOne); String sl = mapList.get("SL") == null ? "0" : mapList.get("SL").toString(); for (int i = 1; i <= Integer.parseInt(sl); i++) { DecimalFormat df = new DecimalFormat("00"); String cover = df.format(i); for (int j = 0; j < idList.size(); j++) { String selectSql = "select * from " + mainTableName + " where id = " + idList.get(j); Map map = jdbcTemplate.queryForMap(selectSql); String zzys = map.get("ZZYS") == null ? "0" : map.get("ZZYS").toString(); String id = StringUtil.nullToEmpty(map.get("ID")).trim(); String dh = StringUtil.nullToEmpty(map.get("DH")).trim(); String bgbh = StringUtil.nullToEmpty(map.get("BGBH")).trim(); String ajId = StringUtil.nullToEmpty(map.get("AJ_ID")).trim(); PackingManage packingManage = new PackingManage(); packingManage.setItemNum(dh + "-" + i); packingManage.setItemId(id); packingManage.setAjId(ajId); packingManage.setType(0); packingManage.setCreateTime(new java.util.Date()); //计算盒号 if (newPage + Integer.parseInt(zzys) > 500) { int num = Integer.parseInt(box); num += 1; String newBox = df.format(num); box = newBox; newPage = Integer.parseInt(zzys); packingManage.setBoxNumber(bgbh + "-" + cover + "-" + newBox); } else { newPage = newPage + Integer.parseInt(zzys); packingManage.setBoxNumber(bgbh + "-" + cover + "-" + box); } packingManageService.saveOrUpdate(packingManage); } } // for (int i = 0; i < idList.size(); i++) { // String selectSql = "select * from " + mainTableName + " where id = " + idList.get(i); // Map map = jdbcTemplate.queryForMap(selectSql); // String zzys = map.get("ZZYS") == null ? "0" : map.get("ZZYS").toString(); // String dh = map.get("DH") == null ? "0" : map.get("DH").toString(); // if (newPage + Integer.parseInt(zzys) > 500) { // int num = Integer.parseInt(box); // num += 1; // DecimalFormat df = new DecimalFormat("0000"); // String newBox = df.format(num); // box = newBox; // newPage = Integer.parseInt(zzys); // } else { // newPage = newPage + Integer.parseInt(zzys); // } // String updateSql = "update " + mainTableName + " set HH = '" + box + "' where id = " + idList.get(i); // jdbcTemplate.update(updateSql); // // // //查询拆分了几份 // QueryWrapper packingManageQueryWrapper = new QueryWrapper<>(); // packingManageQueryWrapper.eq("item_id", idList.get(i)); // List packingManageList = packingManageService.list(packingManageQueryWrapper); // for (int j = 0; j < packingManageList.size(); j++) { // PackingManage packingManage = packingManageList.get(j); // if (newPage + Integer.parseInt(zzys) > 500) { // int num = Integer.parseInt(box); // num += 1; // DecimalFormat df = new DecimalFormat("00"); // String newBox = df.format(num); // box = newBox; // newPage = Integer.parseInt(zzys); // packingManage.setBoxNumber(dh + "-" + newBox); // } else { // newPage = newPage + Integer.parseInt(zzys); // packingManage.setBoxNumber(dh + "-" + box); // } // if (j == 0) { // String updateSql = "update " + mainTableName + " set HH = '" + dh + "-" + box + "' where id = " + idList.get(i); // jdbcTemplate.update(updateSql); // } // packingManageService.saveOrUpdate(packingManage); // } // } return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } /** * 取消发布 * * @param viewId * @param idList * @return */ public AjaxResponse createArchiveCode(Long viewId, ArrayList idList) { try { Long aLong = idList.get(0); String selectSql = "select AJ_ID from CAT_ITEM_YSWJXX where id = " + aLong; Map map = jdbcTemplate.queryForMap(selectSql); Long ajId = map.get("AJ_ID") == null ? 0 : Long.parseLong(map.get("AJ_ID").toString()); String sql = "select DH FROM CAT_FILE_AJJXX where id = " + ajId; Map stringObjectMap = jdbcTemplate.queryForMap(sql); String maxDH = stringObjectMap.get("DH") == null ? "" : stringObjectMap.get("DH").toString(); for (int i = 0; i < idList.size(); i++) { String sqlSelect = "select JNXH from CAT_ITEM_YSWJXX where id = " + idList.get(i); Map stringObjectMap1 = jdbcTemplate.queryForMap(sqlSelect); String jnxh = stringObjectMap1.get("JNXH") == null ? "" : stringObjectMap1.get("JNXH").toString(); String dh = maxDH + "-" + jnxh; String updateSql = "update CAT_ITEM_YSWJXX set DH = '" + dh + "' where ID = " + idList.get(i); jdbcTemplate.update(updateSql); } return new AjaxResponse(true); } catch (Exception e) { logger.error(e.getMessage(), e); return new AjaxResponse(new ErrorInfo(e.getMessage()), false); } } }