xiaochen 2 سال پیش
والد
کامیت
a9a68964a7

+ 2 - 0
src/main/java/com/tld/controller/WebPrintController.java

@@ -95,6 +95,8 @@
 //                     System.out.println("---路径---"+file.toFile());
 //                        //生成路径并且保存文件
 //                        MatrixToImageWriter.writeToPath(bitMatrix,type,file);
+//                        //将图片二维码放入到excel中
+//
 //                        //开始打印
 //                         MyQRUtils.getPrint(file.toFile());
 //

+ 2 - 1
src/main/java/com/tld/mapper/AskGoodsMapper.java

@@ -66,7 +66,7 @@ public interface AskGoodsMapper {
 
     List<Map<String, Object>> plugOutRemoval(String removalCode);
 
-    List<Map<String, Object>> getRemovalz(String askGoodsId);
+    List<Map<String, Object>> getRemovalz(@Param("askGoodsId")String askGoodsId, @Param("warehouseWhere")String warehouseWhere);
 
     List<AskGoods> getRemoval(AskGoods askGoods);
 
@@ -92,4 +92,5 @@ public interface AskGoodsMapper {
 
     List<Inventory> getInventoryInfo(AskGoods askGoods);
 
+    List<String> getWarehouseWhere(String removalCode);
 }

+ 45 - 38
src/main/java/com/tld/service/impl/AskGoodsServiceImpl.java

@@ -242,7 +242,7 @@ public class AskGoodsServiceImpl implements AskGoodsService {
                     .setSourceType(askGoods3.getSourceType())
                     .setMoveType(askGoods3.getMoveType());
             askGoodsMapper.addReturnGsRemovalF(returRemoval1);//新增返回gs数据父表信息
-            map.put("data", askGoods3.getAskGoodsId());
+            map.put("data", removalCode);
             map.put("msg", "200");
         }catch (Exception e){
             e.printStackTrace();
@@ -263,45 +263,52 @@ public class AskGoodsServiceImpl implements AskGoodsService {
     @Transactional(rollbackFor = Exception.class)
     public void plugOutRemoval(String removalCode) {
         try{
-            List<Map<String, Object>> mapList = askGoodsMapper.plugOutRemoval(removalCode);
-            if(mapList.size() >0 ) {
-                JSONObject returnData = new JSONObject();
-
-                JSONObject strJson = new JSONObject();
-                //父表
-                strJson.put("askGoodsId", mapList.get(0).get("askGoodsId").toString());//要货单id
-                strJson.put("removalCode", mapList.get(0).get("removalCode").toString());//出库单编号
-                strJson.put("sourceType", mapList.get(0).get("sourceType").toString());//来源类型
-                strJson.put("moveType", mapList.get(0).get("moveType").toString());//移动类型
-                //子表
-                List<JSONObject> list = new LinkedList<>();
-                for(Map<String,Object> map:askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString())) {
-                    JSONObject BillItems = new JSONObject();
-                    BillItems.put("entryNumber", map.get("entryNumber"));//分录ID
-//                    BillItems.put("PurOrderID", returnWarehousing.getOrderNumber());//采购单id
-//                    BillItems.put("PurOrderItemID", returnWarehousing.getEntryNumber());//采购订单明细ID
-                    BillItems.put("Material", map.get("materialId"));//物料id
-                    BillItems.put("Quantity", map.get("num"));//数量
-                    BillItems.put("FlexField1", map.get("wbs"));//wbs
-                    BillItems.put("FlexField1Code", " ");//WBS编号
-                    BillItems.put("FlexField1Name", " ");//WBS名称
-                    list.add(BillItems);
-                }
-                strJson.put("BillItems", list);
-                returnData.put("strJson", JSON.toJSONString(strJson));
-                System.out.println(returnData);
-                HttpClientUtil httpClientUtil1 = new HttpClientUtil();
-                Map<String, Object> result = httpClientUtil1.doPost("http://localhost:3339/api/Values", returnData);
-                if (Integer.parseInt(result.get("msg").toString()) != 200) {
-                    //如果失败存入报错信息跟数据
-                    Error error = new Error()
-                            .setErrorInfo(result.get("data").toString())
-                            .setUrl("http://localhost:44303/api/Values")
-                            .setDataVal(strJson.toJSONString());
-                    errorMapper.addError(error);
-
+            JSONObject returnData = new JSONObject();
+            List<JSONObject> retunList = new LinkedList<>();
+            for(String warehouseWhere : askGoodsMapper.getWarehouseWhere(removalCode)){
+                List<Map<String, Object>> mapList = askGoodsMapper.plugOutRemoval(removalCode);
+                if(mapList.size() >0 ) {
+                    JSONObject strJson = new JSONObject();
+                    //父表
+                    strJson.put("GIReqBillID", mapList.get(0).get("askGoodsId").toString());//要货单id
+                    strJson.put("WMSID", mapList.get(0).get("askGoodsId").toString());//出库单id
+                    strJson.put("WMSCode", mapList.get(0).get("removalCode").toString());//出库单编号
+                    strJson.put("WareHouse", warehouseWhere);//仓库ID1
+                    strJson.put("SourceBillDate", mapList.get(0).get("removalCode").toString());//业务日期1
+                    strJson.put("sourceType", mapList.get(0).get("sourceType").toString());//来源类型
+                    strJson.put("moveType", mapList.get(0).get("moveType").toString());//移动类型
+                    strJson.put("IsRed", 0);//是否红单1
+                    strJson.put("Creator", "测试");//制单人姓名1
+                    //子表
+                    List<JSONObject> list = new LinkedList<>();
+                    for (Map<String, Object> map : askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString(), warehouseWhere)) {
+                        JSONObject BillItems = new JSONObject();
+                        BillItems.put("WMSItemID", map.get("entryNumber"));//分录ID
+                        BillItems.put("GIReqBillID", map.get("askGoodsId"));//要货申请单ID
+                        BillItems.put("GIReqBillItemID", map.get("id"));//要货申请明细ID
+                        BillItems.put("Material", map.get("materialId"));//物料id
+                        BillItems.put("Quantity", map.get("num"));//数量
+                        BillItems.put("FlexField1", map.get("wbs"));//wbs
+                        BillItems.put("FlexField1Code", " ");//WBS编号
+                        BillItems.put("FlexField1Name", " ");//WBS名称
+                        list.add(BillItems);
+                    }
+                    strJson.put("BillItems", list);
+                    retunList.add(strJson);
                 }
             }
+            returnData.put("strJson", JSON.toJSONString(retunList));
+            System.out.println(returnData);
+            HttpClientUtil httpClientUtil1 = new HttpClientUtil();
+            Map<String, Object> result = httpClientUtil1.doPost("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreatePurInStock", returnData);
+            if (Integer.parseInt(result.get("msg").toString()) != 200) {
+                //如果失败存入报错信息跟数据
+                Error error = new Error()
+                        .setErrorInfo(result.get("data").toString())
+                        .setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreatePurInStock")
+                        .setDataVal(JSON.toJSONString(retunList));
+                errorMapper.addError(error);
+            }
         }catch (Exception e){
             e.printStackTrace();
         }

+ 78 - 0
src/main/java/com/tld/util/MyQRUtils.java

@@ -14,6 +14,7 @@
 //import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 //import org.apache.poi.ss.usermodel.HorizontalAlignment;
 //import org.apache.poi.ss.usermodel.VerticalAlignment;
+//import org.apache.poi.xssf.usermodel.*;
 //
 //import javax.imageio.ImageIO;
 //import javax.print.*;
@@ -26,6 +27,7 @@
 //import javax.print.event.PrintJobListener;
 //import java.awt.*;
 //import java.awt.image.BufferedImage;
+//import java.awt.image.ImageProducer;
 //import java.awt.print.PrinterJob;
 //import java.io.*;
 //import java.util.Hashtable;
@@ -43,6 +45,11 @@
 //    private static final int WHITE = 0xFFFFFFFF;
 //    private static final int LogoPart = 4;
 //
+//    // 方法中用到的宏定义
+//    private static final short TWIPS_PER_PIEXL = 15; // 1 Pixel = 1440 TPI / 96 DPI = 15 Twips
+//    private static final double THGPS_PER_PIEXL = 2.5;
+//    public static XSSFWorkbook wb =  new XSSFWorkbook(new FileInputStream("D\\test\\test.xlsx"));;
+//
 //    /**
 //      * 生成二维码前的配置信息
 //      * @param content 生成二维码图片内容
@@ -236,4 +243,75 @@
 //
 //    }
 //
+//    /**
+//     *  插入图片
+//     * file 图片路线径
+//     * c1 excel中的开始列
+//     * r1 excel中的开始行
+//     * c2 excel中的结束列
+//     * r2 excel中的结束行
+//     * cellWidth 图片宽度
+//     * cellHeight 图片高度
+//     *
+//     */
+//    public void insertImage(File file, int c1, int r1, int c2, int r2, int cellWidth, int cellHeight) {
+//        try {
+//            ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
+//            Image src;
+//            System.out.println("==>		图片路径 " + file.getPath());
+//            if (file.getPath().endsWith(".bmp") || file.getPath().endsWith(".BMP")) {
+//                BufferedImage bi = ImageIO.read(file);
+//                ImageProducer producer = bi.getSource();
+//                Toolkit toolkit = Toolkit.getDefaultToolkit();
+//                src = toolkit.createImage(producer);
+//            } else {
+//                src = Toolkit.getDefaultToolkit().getImage(file.getPath());
+//            }
+//            BufferedImage bufferImg = toBufferedImage(src);
+//            int imageWidthPixel = bufferImg.getWidth();
+//            int imageHeightPixel = bufferImg.getHeight();
+//            double imageWidth = pixel2PoiWidth(imageWidthPixel);
+//            double imageHeight = poiHeight2Pixel(imageHeightPixel);
+//
+//            ImageIO.write(bufferImg, "jpg", byteArrayOut);
+//            System.out.println();
+//            // 根据需求对图片进行微调
+//            XSSFClientAnchor anchor = new XSSFClientAnchor(XSSFShape.EMU_PER_POINT * 5, XSSFShape.EMU_PER_POINT * 5,
+//                    XSSFShape.EMU_PER_POINT * -5, XSSFShape.EMU_PER_POINT * -5, c1, r1, c2, r2);
+//            anchor.setAnchorType(3);
+//
+//            XSSFPicture pic = patriarch.createPicture(anchor,
+//                    wb.addPicture(byteArrayOut.toByteArray(), XSSFWorkbook.PICTURE_TYPE_JPEG));
+//            byteArrayOut.flush();
+//            byteArrayOut.close();
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//    }
+//
+//    private static int getColsWidth(XSSFSheet sheet, int firstCol, int colCnt) {
+//        int colWidth = 0;
+//        for (int i = firstCol; i < firstCol + colCnt; i++) {
+//            colWidth = colWidth + sheet.getColumnWidth(i);
+//        }
+//        return colWidth;
+//    }
+//
+//    private static int getRowsHeight(XSSFSheet sheet, int firstRow, int rowCnt) {
+//        int rowHeight = 0;
+//        for (int i = firstRow; i < firstRow + rowCnt; i++) {
+//            rowHeight += sheet.getRow(i).getHeight();
+//        }
+//        return rowHeight;
+//    }
+//    public static double poiHeight2Pixel(double height) {
+//        return height / TWIPS_PER_PIEXL;
+//    }
+//
+//    // 像素转poi宽度
+//    public static double pixel2PoiWidth(double pixel) {
+//        double numChars = pixel * TWIPS_PER_PIEXL * THGPS_PER_PIEXL;
+//        return numChars;
+//    }
+//
 //}

+ 23 - 8
src/main/resources/mapper/AskGoodsMapper.xml

@@ -248,14 +248,18 @@
     </select>
     <!-- 查询字表回传数据 -->
     <select id="getRemovalz" resultType="java.util.Map">
-        select
-            material_id as materialId,
-            wbs,
-            num,
-            entry_number as entryNumber,
-            document_id as askGoodsId,
-            document_points_id as askId
-        from tld_return_gs_removal_z where document_id = #{askGoodsId}
+        SELECT
+            a.material_id AS materialId,
+            a.wbs,
+            a.num,
+            a.entry_number AS entryNumber,
+            a.document_id AS askGoodsId,
+            a.document_points_id AS askId
+        FROM
+            tld_return_gs_removal_z a
+            join tld_storage_location b on a.storage_location_code = b.storage_location_code
+        WHERE
+            a.document_id = #{askGoodsId} and b.warehouse_where = #{warehouseWhere}
     </select>
     <!-- 查询出库流水 -->
     <select id="getRemoval" resultType="com.tld.model.AskGoods">
@@ -544,4 +548,15 @@
             and wbs is null
         </if>
     </select>
+    <!-- 查询仓库 -->
+    <select id="getWarehouseWhere" resultType="String">
+        SELECT
+            DISTINCT b.warehouse_where
+        FROM
+            tld_return_gs_removal_z a
+            JOIN tld_storage_location b ON a.storage_location_code = b.storage_location_code
+        WHERE
+            a.document_id = #{removalCode}
+
+    </select>
 </mapper>

+ 5 - 5
src/main/resources/mapper/MenuMapper.xml

@@ -35,19 +35,19 @@
         left join tld_user b on a.modify_user = b.id
         <trim prefix="WHERE" prefixOverrides="and |or">
             <if test="pId != null and pId != ''">
-                and p_id = #{pId}
+                and a.p_id = #{pId}
             </if>
             <if test="name != null and name != ''">
-                and name like CONCAT(CONCAT('%', #{name}), '%')
+                and a.name like CONCAT(CONCAT('%', #{name}), '%')
             </if>
             <if test="type != null and type != ''">
-                and type = #{type}
+                and a.type = #{type}
             </if>
             <if test="id != null and id != ''">
-                and id = #{id}
+                and a.id = #{id}
             </if>
         </trim>
-        order by order_by
+        order by a.order_by
     </select>
     <!-- 新增菜单 -->
     <insert id="addMenu">

+ 4 - 4
src/main/resources/mapper/RoleMapper.xml

@@ -59,16 +59,16 @@
         left join tld_user b on a.modify_user = b.id
         <trim prefix="WHERE" prefixOverrides="and |or">
             <if test="roleCode != null and roleCode != ''">
-                and role_code like CONCAT(CONCAT('%', #{roleCode}), '%')
+                and a.role_code like CONCAT(CONCAT('%', #{roleCode}), '%')
             </if>
             <if test="roleName != null and roleName != ''">
-                and role_name like CONCAT(CONCAT('%', #{roleName}), '%')
+                and a.role_name like CONCAT(CONCAT('%', #{roleName}), '%')
             </if>
             <if test="id != null and id != ''">
-                and id = #{id}
+                and a.id = #{id}
             </if>
         </trim>
-        order by id desc
+        order by a.id desc
     </select>
     <!-- 删除角色信息 -->
     <delete id="delRole">

+ 1 - 1
src/main/resources/mapper/StorageLocationMapper.xml

@@ -52,7 +52,7 @@
     <!-- 新增库位信息 -->
     <insert id="addStorage">
         insert into tld_storage_location(storage_location_code,storage_location_name,warehouse_where,storage_location_type,is_not_disable,storage_location_capacity,create_time,is_product,modify_user,modify_time)
-        values(#{storageLocationCode},#{storageLocationName},#{warehouseWhere},#{storageLocationType},#{isNotDisable},#{storageLocationCapacity},DATE_FORMAT(NOW(), '%Y-%m-%d'),#{isProduct},#{modifyUser},NOW())
+        values(#{storageLocationCode},#{storageLocationName},#{warehouseWhere},#{storageLocationType},#{isNotDisable},#{storageLocationCapacity},NOW(),#{isProduct},#{modifyUser},NOW())
     </insert>
     <!-- 删除库位信息 -->
     <delete id="delStorage">