Просмотр исходного кода

PTS列表添加导入导出功能

liujiankang 7 лет назад
Родитель
Сommit
b92bf3bb5c
15 измененных файлов с 332 добавлено и 49 удалено
  1. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsSupplier.java
  2. 6 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachinePartsService.java
  3. 3 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineSupplierService.java
  4. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java
  5. 32 32
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml
  6. 73 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachinePartsServiceImpl.java
  7. 4 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineSupplierServiceImpl.java
  8. 13 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineSupplierMapper.xml
  9. 65 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachinePartsController.java
  10. 69 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsSupplierController.java
  11. 4 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/complete_signclosed.ftl
  12. 5 3
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl
  13. 39 5
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/parts_list.ftl
  14. 8 1
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/supplier_list.ftl
  15. BIN
      watero-rst-web/src/main/webapp/common/images/uploadExcel/零件模板.xls

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsSupplier.java

@@ -15,6 +15,8 @@ public class PtsSupplier implements Serializable {
 
     private String supplierAbbreviation;//简称
 
+    private String supplierNumber;
+
     private String supplierAddress;//地址
 
     private String supplierContactPerson;//联系人姓名
@@ -118,4 +120,12 @@ public class PtsSupplier implements Serializable {
     public void setComponentsNumber(Integer componentsNumber) {
         this.componentsNumber = componentsNumber;
     }
+
+    public String getSupplierNumber() {
+        return supplierNumber;
+    }
+
+    public void setSupplierNumber(String supplierNumber) {
+        this.supplierNumber = supplierNumber;
+    }
 }

+ 6 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachinePartsService.java

@@ -4,6 +4,7 @@ package com.iamberry.rst.faces.pts;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.PtsBom;
 import com.iamberry.rst.core.pts.PtsComponents;
+import org.apache.poi.ss.usermodel.Sheet;
 
 import java.util.List;
 
@@ -41,4 +42,9 @@ public interface MachinePartsService {
      * 修改机器零件
      * **/
     Integer updateParts(PtsComponents ptsComponents);
+
+    /**
+     * EXCEL添加机器零件
+     * **/
+    Integer excelAddMachineParts(Sheet sheet);
 }

+ 3 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineSupplierService.java

@@ -35,4 +35,7 @@ public interface MachineSupplierService {
 
     //修改批次
     Integer updatePtsSupplier(PtsSupplier ptsSupplier);
+
+    //查询所有供应商
+    public List<PtsSupplier> listPtsSupplierExcel(PtsSupplier ptsSupplier);
 }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java

@@ -74,7 +74,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     awaitingSignclosedInfo.setProductName(fittingsInfo.getFittingsName());
                     awaitingSignclosedInfo.setProductNum(entry.getValue());
                     awaitingSignclosedInfo.setSignclosedProductType(2);
-                    awaitingSignclosedInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
+                    awaitingSignclosedInfo.setSignclosedProductId(fittingsInfo.getProductId());
                     awaitingSignclosedInfo.setSignclosedProductColor(null);
                     awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
                     awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);

+ 32 - 32
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml

@@ -36,7 +36,7 @@
     signclosed_create_time, signclosed_update_time
   </sql>
   <select id="getSignclosedById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
-    select 
+    select
     <include refid="Base_Column_List" />
     from tb_rst_complaint_signclosed
     where signclosed_id = #{signclosedId,jdbcType=INTEGER}
@@ -67,8 +67,8 @@
     <result property="signclosed_desc" column="signclosedDesc"/>
     <result property="signclosed_create_time" column="signclosedCreateTime"/>
     <result property="signclosed_update_time" column="signclosedUpdateTime"/>
-    <collection property="awaitingSignclosedProductInfoList" column="SIGNCLOSED_ID" ofType="AwaitingSignclosedProductInfo" select="listAwaitingSignclosedById"/>
-    <collection property="signclosedProductInfoList" column="SIGNCLOSED_ID" ofType="SignclosedProductInfo" select="listSignclosedById"/>
+    <collection property="awaitingSignclosedProductInfoList" javaType="ArrayList" column="signclosed_id" ofType="AwaitingSignclosedProductInfo" select="listAwaitingSignclosedById"/>
+    <collection property="signclosedProductInfoList" javaType="ArrayList" column="signclosed_id" ofType="SignclosedProductInfo" select="listSignclosedById"/>
   </resultMap>
   <select id="listAwaitingSignclosedById" resultType="AwaitingSignclosedProductInfo" parameterType="Integer" >
     select
@@ -111,36 +111,36 @@
   </select>
   <select id="listSignclosed" resultMap="complaintSignclosedInfoMap" parameterType="ComplaintSignclosedInfo" >
     SELECT
-      cs.signclosed_id,
-      cs.signclosed_type,
-      cs.signclosed_type_name,
-      cs.machine_no,
-      cs.signclosed_logistics,
-      cs.signclosed_logistics_number,
-      cs.signclosed_send_name,
-      cs.signclosed_send_tel,
-      cs.signclosed_addr_provinces,
-      cs.signclosed_addr_city,
-      cs.signclosed_is_fittings,
-      cs.signclosed_date,
-      cs.signclosed_is_quality,
-      cs.signclosed_is_into,
-      cs.signclosed_state,
-      cs.signclosed_objects_state,
-      cs.signclosed_customer_id,
-      cs.signclosed_urged_num,
-      cs.old_efast_id,
-      cs.new_efast_id,
-      cs.signclosed_customer_desc,
-      cs.signclosed_desc,
-      cs.signclosed_create_time,
-      cs.signclosed_update_time,
-      ap.province provincesName,
-      ac.city cityName
+    cs.signclosed_id,
+    cs.signclosed_type,
+    cs.signclosed_type_name,
+    cs.machine_no,
+    cs.signclosed_logistics,
+    cs.signclosed_logistics_number,
+    cs.signclosed_send_name,
+    cs.signclosed_send_tel,
+    cs.signclosed_addr_provinces,
+    cs.signclosed_addr_city,
+    cs.signclosed_is_fittings,
+    cs.signclosed_date,
+    cs.signclosed_is_quality,
+    cs.signclosed_is_into,
+    cs.signclosed_state,
+    cs.signclosed_objects_state,
+    cs.signclosed_customer_id,
+    cs.signclosed_urged_num,
+    cs.old_efast_id,
+    cs.new_efast_id,
+    cs.signclosed_customer_desc,
+    cs.signclosed_desc,
+    cs.signclosed_create_time,
+    cs.signclosed_update_time,
+    ap.province provincesName,
+    ac.city cityName
     FROM
-	tb_rst_complaint_signclosed cs
-	LEFT JOIN tb_rst_address_province ap ON cs.signclosed_addr_provinces = ap.province_id
-	LEFT JOIN tb_rst_address_city ac ON cs.signclosed_addr_city = ac.city_id
+    tb_rst_complaint_signclosed cs
+    LEFT JOIN tb_rst_address_province ap ON cs.signclosed_addr_provinces = ap.province_id
+    LEFT JOIN tb_rst_address_city ac ON cs.signclosed_addr_city = ac.city_id
     <where>
       <if test="signclosedSendName != null and signclosedSendName != ''" >
         cs.signclosed_send_name = #{signclosedSendName}

+ 73 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachinePartsServiceImpl.java

@@ -4,13 +4,22 @@ import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.PtsBom;
 import com.iamberry.rst.core.pts.PtsComponents;
+import com.iamberry.rst.core.pts.PtsSupplier;
 import com.iamberry.rst.faces.pts.MachinePartsService;
 import com.iamberry.rst.service.pts.mapper.MachineLogsMapper;
 import com.iamberry.rst.service.pts.mapper.MachinePartsMapper;
+import com.iamberry.rst.service.pts.mapper.MachineSupplierMapper;
 import com.iamberry.rst.util.PageUtil;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 
@@ -22,6 +31,9 @@ import java.util.List;
 public class MachinePartsServiceImpl implements MachinePartsService {
     @Autowired
     private MachinePartsMapper machinePartsMapper;
+    @Autowired
+    private MachineSupplierMapper machineSupplierMapper;
+
 
     @Override
     public Integer addMachineParts(PtsComponents ptsComponents) {
@@ -51,4 +63,65 @@ public class MachinePartsServiceImpl implements MachinePartsService {
     public Integer updateParts(PtsComponents ptsComponents) {
         return machinePartsMapper.updateParts(ptsComponents);
     }
+
+    private String noImage = "/common/images/pts/noImage.png";
+    @Transactional
+    @Override
+    public Integer excelAddMachineParts(Sheet sheet) {
+        try {
+            //获取总行数
+            int rowNum = sheet.getLastRowNum();
+            for (int i = 1;i<=rowNum;i++){
+                List<String> heads = new ArrayList<String>();
+                Row row = sheet.getRow(i);
+                Iterator<Cell> cells = row.cellIterator();
+                // 获得第一行的迭代器,并遍历cell
+                while (cells.hasNext()) {
+                    Cell cell = cells.next();
+                    heads.add(cell.getStringCellValue());
+                }
+                /**封装零件实体**/
+                PtsComponents ptsComponents = new PtsComponents();
+                ptsComponents.setComponentsNo(heads.get(0));
+                /**获取供应商id**/
+                PtsSupplier ptsSupplier = new PtsSupplier();
+                ptsSupplier.setSupplierNumber(heads.get(1));
+                ptsSupplier = machineSupplierMapper.getPtsSupplier(ptsSupplier);
+                ptsComponents.setSupplierId(ptsSupplier.getSupplierId() == null?null:ptsSupplier.getSupplierId());
+                ptsComponents.setComponentsName(heads.get(2));
+                ptsComponents.setComponentsStatus(heads.get(3).equals("正常使用" )? 1 : 0);
+                ptsComponents.setComponentsCost(Integer.valueOf(heads.get(4)) * 100);//元转换为分
+                ptsComponents.setComponentsWeight(Integer.valueOf(heads.get(5)));
+                ptsComponents.setComponentsMaterial(heads.get(6));
+                Integer type = 0;
+                switch (heads.get(7)){
+                    case "塑胶件":
+                        type = 1;
+                        break;
+                    case "五金件":
+                        type = 2;
+                        break;
+                    case "电子类":
+                        type = 3;
+                        break;
+                    case "线材":
+                        type = 4;
+                        break;
+                    case "辅材":
+                        type = 5;
+                        break;
+                }
+                ptsComponents.setComponentsType(type);
+                ptsComponents.setComponentsMbsc(heads.get(8));
+                ptsComponents.setComponentsSpecification(heads.get(9));
+                ptsComponents.setComponentsImg(noImage);
+                ptsComponents.setComponentsCreateTime(new Date());
+                machinePartsMapper.addMachineParts(ptsComponents);
+            }
+        }catch (Exception e){
+            return 0;
+        }
+
+        return 1;
+    }
 }

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineSupplierServiceImpl.java

@@ -35,6 +35,10 @@ public class MachineSupplierServiceImpl implements MachineSupplierService {
     }
 
     @Override
+    public List<PtsSupplier> listPtsSupplierExcel(PtsSupplier ptsSupplier) {
+        return machineSupplierMapper.listMachineSupplier(ptsSupplier);
+    }
+    @Override
     public Integer savePtsSupplier(PtsSupplier ptsSupplier) {
         return machineSupplierMapper.savePtsSupplier(ptsSupplier);
     }

+ 13 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineSupplierMapper.xml

@@ -15,6 +15,7 @@
             trps.supplier_email AS supplierEmail,
             trps.supplier_create_time AS supplierCreateTime,
             trps.supplier_update_time AS supplierUpdateTime,
+            trps.supplier_number AS supplierNumber,
             IFNULL(COUNT(trpc.components_id),0) AS componentsNumber
         FROM
             tb_rst_pts_supplier trps
@@ -36,8 +37,8 @@
     </select>
 
     <insert id="savePtsSupplier" parameterType="PtsSupplier" useGeneratedKeys="true" >
-        insert into tb_rst_pts_supplier (`supplier_name` ,`supplier_abbreviation` ,`supplier_address` ,`supplier_contact_person` ,`supplier_tel` ,`supplier_phone` ,`supplier_email`  )
-        values (#{supplierName},#{supplierAbbreviation},#{supplierAddress},#{supplierContactPerson},#{supplierTel},#{supplierPhone},#{supplierEmail})
+        insert into tb_rst_pts_supplier (`supplier_name` ,`supplier_abbreviation` ,`supplier_address` ,`supplier_contact_person` ,`supplier_tel` ,`supplier_phone` ,`supplier_email`, `supplier_number` )
+        values (#{supplierName},#{supplierAbbreviation},#{supplierAddress},#{supplierContactPerson},#{supplierTel},#{supplierPhone},#{supplierEmail},#{supplierNumber})
     </insert>
 
     <update id="updatePtsSupplier" parameterType="PtsSupplier" >
@@ -76,11 +77,18 @@
             supplier_phone AS supplierPhone,
             supplier_email AS supplierEmail,
             supplier_create_time AS supplierCreateTime,
-            supplier_update_time AS supplierUpdateTime
+            supplier_update_time AS supplierUpdateTime,
+            supplier_number AS supplierNumber
         FROM
             tb_rst_pts_supplier
-       WHERE
-            supplier_id =  #{supplierId}
+        <where>
+            <if test="supplierId !=null and supplierId !=''">
+                AND supplier_id = #{supplierId},
+            </if>
+            <if test="supplierNumber !=null and supplierNumber !=''">
+                AND supplier_number = #{supplierNumber}
+            </if>
+        </where>
     </select>
 
 </mapper>

+ 65 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachinePartsController.java

@@ -1,5 +1,6 @@
 package com.iamberry.rst.controllers.pts;
 
+import com.alibaba.dubbo.common.json.JSONObject;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.Produce;
 import com.iamberry.rst.core.pts.PtsBom;
@@ -9,9 +10,16 @@ import com.iamberry.rst.faces.pts.MachinePartsService;
 import com.iamberry.rst.faces.pts.MachineSupplierService;
 import com.iamberry.rst.faces.pts.ProduceService;
 import com.iamberry.rst.faces.pts.PtsBomService;
+import com.iamberry.rst.utils.ExcelUtil;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.ResultInfo;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -20,15 +28,22 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.context.ContextLoader;
 import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.commons.CommonsMultipartFile;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.text.MessageFormat;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
+import static com.iamberry.rst.util.SmsConfig.SEND_NOTICE;
+
 /**
  * Created by LJK on 2017/8/29.
  */
@@ -46,6 +61,7 @@ public class AdminMachinePartsController {
 
     @Autowired
     private PtsBomService ptsBomService;
+
     /**
      * 进入添加机器零件页面
      * **/
@@ -88,6 +104,55 @@ public class AdminMachinePartsController {
         return responseJson;
     }
 
+
+    @RequestMapping("/excelAdd")
+    @ResponseBody
+    public boolean excelAdd(@RequestParam("sourceFile") MultipartFile sourceFile, HttpServletRequest request, HttpServletResponse response)throws IOException  {
+        //判断文件是否为空
+        if (sourceFile==null) {
+            return false;
+        }
+        //获取文件名
+        String name=sourceFile.getOriginalFilename();
+        long size =sourceFile.getSize();
+        if (name==null ||("").equals(name) && size==0) {
+            return false;
+        }
+
+        //把spring文件上传的MultipartFile转换成CommonsMultipartFile类型
+        CommonsMultipartFile cf= (CommonsMultipartFile)sourceFile; //获取本地存储路径
+        File file = new File(ResultInfo.PARTS_EXCEL);
+        //创建一个目录 (它的路径名由当前 File 对象指定,包括任一必须的父路径。)
+        if (!file.exists()) file.mkdirs();
+        //新建一个文件
+        File file1 = new File(ResultInfo.PARTS_EXCEL + new Date().getTime() + ".xls");
+        //将上传的文件写入新建的文件中
+        try {
+            cf.getFileItem().write(file1);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        // 获取Workbook
+        InputStream inputStream = new BufferedInputStream(new FileInputStream(file1));
+        Workbook wb  = null;
+
+        if (name.endsWith("xls")) {
+            wb = new HSSFWorkbook(inputStream);
+        } else {
+            wb = new XSSFWorkbook(inputStream);
+        }
+        inputStream.close();
+        // 获取Sheet
+        Sheet sheet = wb.getSheetAt(0);
+        Integer msg = machinePartsService.excelAddMachineParts(sheet);
+        if(msg > 0){
+            return true;
+        }else{
+            return false;
+        }
+    }
+
     /**
      * 获取机器零件列表
      *

+ 69 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsSupplierController.java

@@ -4,6 +4,9 @@ import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.PtsSupplier;
 import com.iamberry.rst.faces.pts.MachineSupplierService;
 import com.iamberry.rst.utils.StitchAttrUtil;
+import com.iamberry.wechat.tools.DateTimeUtil;
+import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ObjectExcelView;
 import com.iamberry.wechat.tools.ResponseJson;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +17,12 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 供应商controller
@@ -46,6 +55,66 @@ public class AdminPtsSupplierController {
         return mv;
     }
 
+
+    /**
+     * 导出Excel
+     * 2017-11-13 14:46:37
+     * @return
+     */
+    @RequestMapping("/excel")
+    public ModelAndView downloadSupplierExcel(){
+        // 准备model
+        Map<String, Object> model = new HashMap<String, Object>();
+        model.put("fileName", "供应商列表");	// 下载文件名称
+
+        // 标题
+        List<String> titles = new ArrayList<String>();
+        titles.add("供应商名称");
+        titles.add("供应商简称");
+        titles.add("联系人姓名");
+        titles.add("联系人电话");
+        titles.add("座机");
+        titles.add("邮箱");
+        titles.add("地址");
+        titles.add("最近修改时间");
+        titles.add("零件数量");
+        model.put("titles", titles);
+        PtsSupplier ptsSupplier = new PtsSupplier();
+        // 内容
+        List<List<Object>> countexts = new ArrayList<List<Object>>();
+        List<PtsSupplier> list = machineSupplierService.listPtsSupplierExcel(ptsSupplier);
+        for (PtsSupplier info : list) {
+            List<Object> row = new ArrayList<Object>();
+            /*try {
+                if(info。){
+                    row.add(URLDecoder.decode(macInfo.getUserNickName(), "UTF-8"));
+                }
+            } catch (UnsupportedEncodingException e) {
+                e.printStackTrace();
+            }*/
+            row.add(info.getSupplierName() == null ? null:info.getSupplierName());
+            row.add(info.getSupplierAbbreviation() == null ? null:info.getSupplierAbbreviation());
+            row.add(info.getSupplierContactPerson() == null ? null:info.getSupplierContactPerson());
+            row.add(info.getSupplierTel() == null ? null:info.getSupplierTel());
+            row.add(info.getSupplierPhone() == null ? null:info.getSupplierPhone());
+            row.add(info.getSupplierEmail() == null ? null:info.getSupplierEmail());
+            row.add(info.getSupplierAddress() == null ? null:info.getSupplierAddress());
+            row.add(info.getSupplierUpdateTime() == null ? null: DateTimeUtil.format(info.getSupplierUpdateTime(), "yyyy-MM-dd HH:mm:ss,SSS"));
+            row.add(info.getComponentsNumber() == null ? null:info.getComponentsNumber());
+
+
+            /*if(macInfo.getBindTime() != null){
+                row.add(DateTimeUtil.format(macInfo.getBindTime(), NameUtils.DATE_TIME_FORMAT));
+            }*/
+            countexts.add(row);
+        }
+        model.put("varList", countexts);
+
+        ObjectExcelView erv = new ObjectExcelView();
+        ModelAndView mv = new ModelAndView(erv,model);
+        return mv;
+    }
+
     /**
      * 跳转到添加supplier单页面
      *

+ 4 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/complete_signclosed.ftl

@@ -73,7 +73,7 @@
             </div>
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>客服备注:</label>
-                ${complaintSignclosedInfo.signclosedCustomerDesc!''}
+               <#if ifcomplaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedCustomerDesc!''}</#if>
             </div>
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回产品:</label>
@@ -107,6 +107,8 @@
 
                             </tr>
                             </#list>
+                        <#else>
+                        <tr><td class="td-manage text-c" colspan = "2">暂无数据</td></tr>
                         </#if>
                         </tbody>
                     </table>
@@ -183,7 +185,7 @@
             </div>
             <div class="row cl">
                 <div class="col-2 col-sm-2 col-offset-3">
-                    <input type="hidden" id="signclosedId" name="signclosedId" value="${complaintSignclosedInfo.signclosedId!''}">
+                    <input type="hidden" id="signclosedId" name="signclosedId" value="<#if ifcomplaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedId!''}</#if>">
                     <button onClick="add();" class="btn btn-block btn-primary size-XL" type="button">确认签收</button>
                 </div>
             </div>

+ 5 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl

@@ -128,6 +128,7 @@
                         <#if signclosed.awaitingSignclosedProductInfoList??>
                             <#if (signclosed.awaitingSignclosedProductInfoList?size > 0)>
                                 <#list signclosed.awaitingSignclosedProductInfoList as info>
+                                    <#assign signclosedId=info.signclosedId>
                                     <#if info.signclosedProductType == 1 >
                                         <span>${info.productName!''}-${info.productNumber!''}(${info.colorName!''})x ${info.productNum!''}台</span><br>
                                     <#else >
@@ -135,6 +136,7 @@
                                     </#if>
                                 </#list>
                             <#else >
+                                <#assign signclosedId=0>
                                 暂无数据!
                             </#if>
                         <#else >
@@ -197,7 +199,7 @@
                     <!-- 遍历操作 -->
                     <td class="td-manage text-c">
                         <a style="text-decoration:none" href="javascript:;" title="签收"
-                           onclick="update_info('签收','${path}/admin/signclosed/to_complete_signclosed?signclosedId=${signclosed.signclosedId!}','570','450');">
+                           onclick="update_info('${path}/admin/signclosed/to_complete_signclosed?signclosedId=${signclosedId!''}');">
                             <i class="Hui-iconfont">&#xe6df;</i>
                         </a>
                     </td>
@@ -223,8 +225,8 @@
         layer_show(title,url,w,h);
     }
     /*签收*/
-    function update_info(title,url,w,h){
-        layer_show(title,url,w,h);
+    function update_info(url){
+        window.location.href = url;
     }
 </script>
 </body>

+ 39 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/parts_list.ftl

@@ -12,7 +12,7 @@
     <title>零件列表</title>
     <style>
         *{padding: 0;margin: 0;}
-        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px; margin-right: 10px;}
         /*.my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}*/
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
         .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
@@ -30,7 +30,7 @@
 </nav>
 <div class="page-container">
     <div class="text-c">
-        <form action="${path}/admin/machineParts/_parts_list" method="post">
+        <form action="${path}/admin/machineParts/_parts_list" method="post" style="width: 60%;display: inline-block;">
             <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddParts();">添加机器零件</button>
 
             <select class="my-select" name="supplierId" id="supplierId" style="height: 36px;width: 150px">
@@ -52,10 +52,14 @@
                     </#list>
                 </#if>
             </select>-->
-            <input type="text" class="my-input"  style="width:150px" value="${componentsNo!}" placeholder="零件编号" id="componentsNo" name="componentsNo">
-            <input type="text" class="my-input"  style="width:150px" value="${componentsName!}" placeholder="零件名称" id="componentsName" name="componentsName">
+            <input type="text" class="my-input"  style="width:120px" value="${componentsNo!}" placeholder="零件编号" id="componentsNo" name="componentsNo">
+            <input type="text" class="my-input"  style="width:120px" value="${componentsName!}" placeholder="零件名称" id="componentsName" name="componentsName">
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
         </form>
+        <form id="sourcefile" name="sourcefile" action=""  method="post" enctype="multipart/form-data" style="width: 35%;display: inline-block;">
+            <input class="my-btn-search" data-loading-text="请勿重复提交" type="button" value="上传EXCEL" onClick="upPolicy()">
+            <input  id="source_file" name="sourceFile" type="file" value="" />
+        </form>
     </div>
 
     <div class="mt-20">
@@ -146,7 +150,37 @@
     }
 
 </script>
-<script>
+<script type="text/javascript">
+    function upPolicy() {
+        if($('#source_file').val().length > 0){
+            var formData = new FormData($( "#sourcefile" )[0]);
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: formData,
+                contentType: false,
+                processData: false,
+                url: "${path}/admin/machineParts/excelAdd",
+                async: false,
+                success: function(data){
+                    if (data) {
+                        layer.msg('添加成功!', {icon: 1, time: 2000},function () {
+                            window.location.href = '${path}/admin/machineParts/_parts_list'
+                        });
+
+                    }else{
+                        layer.msg('添加失败!', {icon: 2, time: 2000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    layer.msg('添加失败!', {icon: 2, time: 2000});
+                }
+            });
+        }else{
+         layer.msg('请先上传文件!', {icon: 2, time: 2000});
+        }
+
+    }
     /**
      * 跳转到添加零件页面
      */

+ 8 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/supplier_list.ftl

@@ -36,7 +36,9 @@
             <input type="text" class="my-input"  style="width:150px" value="${supplierContactPerson!''}" placeholder="联系人姓名" id="supplierContactPerson" name="supplierContactPerson">
             <input type="text" class="my-input"  style="width:150px" value="${supplierTel!''}" placeholder="联系人电话" id="supplierTel" name="supplierTel">
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
+            <button type="button" style="cursor:pointer;" class="my-btn-search" onclick="derivationEcxcel();">导出excel</button>
         </form>
+
     </div>
 
     <div class="mt-20">
@@ -96,7 +98,12 @@
     function toAddSupplier(){
         window.location.href= "${path}/admin/supplier/to_add_supplier";
     }
-
+    /**
+     * 导出excel
+     */
+    function derivationEcxcel(){
+        window.location.href= "${path}/admin/supplier/excel";
+    }
     /**
      *跳转到编辑页面
      * @param employee

BIN
watero-rst-web/src/main/webapp/common/images/uploadExcel/零件模板.xls