xiaochen 2 anni fa
parent
commit
4cec54d9bc

+ 56 - 45
xpyy/src/main/java/com/xpyy/xpyy/controller/VendorController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.xpyy.xpyy.entity.Mplan;
 import com.xpyy.xpyy.entity.User;
 import com.xpyy.xpyy.entity.Vendor;
+import com.xpyy.xpyy.entity.VendorFiles;
 import com.xpyy.xpyy.excel.ExcelUtils;
 import com.xpyy.xpyy.service.VendorService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -152,49 +154,58 @@ public class VendorController {
         vendorService.VendorListExport(vendor, response);
     }
 
-//    /**
-//     * 我的供应商列表导入
-//     * @param file 文件
-//     * @param request 参数
-//     * @throws Exception
-//     */
-//    @PostMapping("/import")
-//    @Transactional(rollbackFor = Exception.class)
-//    public Map<String, Object> importExcel(@RequestPart("file") MultipartFile file, HttpServletRequest request) throws Exception{
-//        Map<String, Object> map = new HashMap<>();
-//        JSONArray array = ExcelUtils.readMultipartFile(file);
-//        for(int i = 0; i < array.size(); i++){
-//            JSONObject jsonObject = array.getJSONObject(i);
-//            //查询供应商
-//            String cVenCode = vendorService.getVenCode(jsonObject.get("供应商ID").toString());
-//            //查询物料 ERP CODE
-//            String ErpCode = vendorService.getErpCode(jsonObject.get("ERP CODE").toString());
-//            //查询 供应商是否绑定次物料
-//            String ErpCode = vendorService.getErpCode(jsonObject.get("ERP CODE").toString());
-////            Mplan mplan = new Mplan();
-////            mplan.setCusCode(CusCode);
-////            mplan.setModeCode(ModeCode);
-////            mplan.setPlanNum(jsonObject.get("数量").toString());
-////            mplan.setPlandate(jsonObject.get("日期").toString());
-//
-//            if (CusCode == null || CusCode.equals("")){
-//                System.out.println("客户不存在,请录入客户信息");
-//                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
-//                map.put("msg", "500");
-//                map.put("errMsg", "客户不存在,请录入客户信息");
-//                return map;
-//            }
-//            if (ModeCode == null || ModeCode.equals("")){
-//                System.out.println("客户没有录入改型号信息,请录入客户型号信息");
-//                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();////事务回滚
-//                map.put("msg", "500");
-//                map.put("errMsg", "客户没有录入改型号信息,请录入客户型号信息");
-//                return map;
-//            }
-//            mplanService.importExcel(mplan,request);
-//        }
-//        map.put("msg", "200");
-//        map.put("data", array.size());
-//        return map;
-//    }
+    /**
+     * 我的供应商列表导入
+     * @param file 文件
+     * @param request 参数
+     * @throws Exception
+     */
+    @PostMapping("/import")
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> importExcel(@RequestPart("file") MultipartFile file, HttpServletRequest request) throws Exception{
+        Map<String, Object> map = new HashMap<>();
+        JSONArray array = ExcelUtils.readMultipartFile(file);
+        for(int i = 0; i < array.size(); i++){
+            JSONObject jsonObject = array.getJSONObject(i);
+            //查询供应商
+            String cVenCode = vendorService.getVenCode(jsonObject.get("供应商ID").toString());
+            //查询物料 ERP CODE
+            String ErpCode = vendorService.getErpCode(jsonObject.get("ERP CODE").toString());
+            //查询 供应商是否绑定次物料
+            List<Vendor> list = vendorService.getErpCodeList(jsonObject.get("供应商ID").toString(),jsonObject.get("ERP CODE").toString());
+            if (cVenCode == null || cVenCode.equals("")){
+                System.out.println("供应商不存在,请录入供应商信息");
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
+                map.put("msg", "510");
+                map.put("errMsg", "供应商不存在,请录入供应商信息");
+                return map;
+            }
+            if (ErpCode == null || ErpCode.equals("")){
+                System.out.println("物料没有录入,请录入物料信息");
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();////事务回滚
+                map.put("msg", "510");
+                map.put("errMsg", "物料没有录入,请录入物料信息");
+                return map;
+            }
+            if (list.size() > 0){
+                System.out.println("供应商已绑定该物料信息");
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//事务回滚
+                map.put("msg", "510");
+                map.put("errMsg", "供应商已绑定该物料信息");
+                return map;
+            }
+            Vendor vendor = new Vendor();
+            vendor.setcVenCode(jsonObject.get("供应商ID").toString());
+            vendor.setcVenName(jsonObject.get("供应商名称").toString());
+            vendor.setErpCode(jsonObject.get("ERP CODE").toString());
+            vendor.setPcode(jsonObject.get("图纸号").toString());
+            vendor.setPrice(jsonObject.get("单价").toString());
+            vendor.setdVenCreateDate(jsonObject.get("准入日期").toString());
+            vendor.setSupDays(jsonObject.get("供货周期").toString());
+            vendorService.importExcel(vendor,request);
+        }
+        map.put("msg", "200");
+        map.put("data", array.size());
+        return map;
+    }
 }

+ 8 - 0
xpyy/src/main/java/com/xpyy/xpyy/mapper/VendorMapper.java

@@ -43,4 +43,12 @@ public interface VendorMapper {
     List<Map<String, Object>> VendorExport(Vendor vendor);
 
     List<Map<String, Object>> VendorListExport(Vendor vendor);
+
+    String getVenCode(@Param("cVenCode") String cVenCode);
+
+    String getErpCode(@Param("erpCode") String erpCode);
+
+    List<Vendor> getErpCodeList(@Param("cVenCode") String cVenCode, @Param("erpCode") String erpCode);
+
+    void addImportExcel(Vendor vendor);
 }

+ 10 - 0
xpyy/src/main/java/com/xpyy/xpyy/service/VendorService.java

@@ -2,9 +2,11 @@ package com.xpyy.xpyy.service;
 
 import com.xpyy.xpyy.entity.User;
 import com.xpyy.xpyy.entity.Vendor;
+import com.xpyy.xpyy.entity.VendorFiles;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 public interface VendorService {
@@ -31,4 +33,12 @@ public interface VendorService {
     void VendorExport(Vendor vendor, HttpServletResponse response);
 
     void VendorListExport(Vendor vendor, HttpServletResponse response);
+
+    String getVenCode(String cVenCode);
+
+    String getErpCode(String ErpCode);
+
+    List<Vendor> getErpCodeList(String cVenCode, String ErpCode);
+
+    void importExcel(Vendor vendor, HttpServletRequest request);
 }

+ 30 - 1
xpyy/src/main/java/com/xpyy/xpyy/service/impl/VendorServiceImpl.java

@@ -318,7 +318,7 @@ public class VendorServiceImpl implements VendorService {
             //导出数据汇总
             List<List<Object>> sheetDataList = new ArrayList<>();
             //表头数据
-            List<Object> head = Arrays.asList("供应商ID","供应商名称","ERP CODE", "图纸号", "单价","准入日期");
+            List<Object> head = Arrays.asList("供应商ID","供应商名称","ERP CODE", "图纸号", "单价","准入日期","供货周期");
             //查询数据
             List<Map<String, Object>> list = vendorMapper.VendorListExport(vendor);
             sheetDataList.add(head);
@@ -344,6 +344,35 @@ public class VendorServiceImpl implements VendorService {
         }
     }
 
+    //查询供应商
+    @Override
+    public String getVenCode(String cVenCode) {
+        return vendorMapper.getVenCode(cVenCode);
+    }
+
+    //查询物料
+    @Override
+    public String getErpCode(String ErpCode) {
+        return vendorMapper.getErpCode(ErpCode);
+    }
+
+    //查询 供应商是否绑定次物料
+    @Override
+    public List<Vendor> getErpCodeList(String cVenCode, String ErpCode) {
+        return vendorMapper.getErpCodeList(cVenCode,ErpCode);
+    }
+
+    /**
+     * 我的供应商列表导入
+     */
+    @Override
+    public void importExcel(Vendor vendor, HttpServletRequest request) {
+        //获取创建或修改人
+        String userId = request.getHeader("userId");
+        //供应商绑定物料
+        vendorMapper.addImportExcel(vendor);
+    }
+
     /**
      * 供应商编号规则
      * @return 返回结果

+ 28 - 1
xpyy/src/main/resources/mapper/VendorMapper.xml

@@ -17,6 +17,11 @@
         insert into xp_ventocinvinfo (cVenCode,ErpCode,price,iTaxRate,SupDays)
         values (#{cVenCode},#{ErpCode},#{price},#{iTaxRate},#{SupDays})
     </insert>
+    <!--供应商绑定物料-->
+    <insert id="addImportExcel">
+        insert into xp_ventocinvinfo (cVenCode,ErpCode,price,iTaxRate,SupDays)
+        values (#{cVenCode},#{ErpCode},#{price},#{iTaxRate},#{SupDays})
+    </insert>
     <!--//准入审批 1同意 -1不同意-->
     <update id="updVendor">
         update vendor set cVenChkPerson = #{cVenChkPerson} , dVenGChkDate = now() , states = #{states}
@@ -223,7 +228,9 @@
             a.cVenName,
             c.ErpCode,
             c.Pcode,
-            a.dVenCreateDate
+            b.price,
+            a.dVenCreateDate,
+            b.SupDays
         from vendor a
         left join xp_ventocinvinfo b on a.cVenCode = b.cVenCode
         left join inventory c on b.ErpCode = c.ErpCode
@@ -246,4 +253,24 @@
         </trim>
         order by a.dVenCreateDate desc
     </select>
+    <!--查询供应商-->
+    <select id="getVenCode" resultType="java.lang.String">
+        select cVenName from vendor where cVenCode = #{cVenCode}
+    </select>
+    <!--查询物料-->
+    <select id="getErpCode" resultType="java.lang.String">
+        select cInvName from inventory where ErpCode = #{erpCode}
+    </select>
+    <!--查询 供应商是否绑定次物料-->
+    <select id="getErpCodeList" resultType="com.xpyy.xpyy.entity.Vendor">
+        select
+            id,
+            cVenCode,
+            ErpCode,
+            price,
+            iTaxRate,
+            SupDays
+        from xp_ventocinvinfo
+        where cVenCode = #{cVenCode} and ErpCode = #{erpCode}
+    </select>
 </mapper>