Forráskód Böngészése

供应商管理&拉线

wangxiaoming 7 éve
szülő
commit
ece51fde2a
17 módosított fájl, 673 hozzáadás és 24 törlés
  1. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsEmployee.java
  2. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsMachine.java
  3. 20 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineSupplierService.java
  4. 27 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineSupplierServiceImpl.java
  5. 10 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/MachineSupplierMapper.java
  6. 2 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineMapper.xml
  7. 72 12
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineSupplierMapper.xml
  8. 10 4
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml
  9. 137 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsSupplierController.java
  10. 8 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java
  11. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/add_batch.ftl
  12. 1 1
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/update_batch.ftl
  13. 6 1
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl
  14. 7 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl
  15. 124 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/add_supplier.ftl
  16. 103 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/supplier_list.ftl
  17. 125 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/update_supplier.ftl

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

@@ -31,6 +31,8 @@ public class PtsEmployee implements Serializable{
     private Date employeeCreateTime; //创建时间
     private Date employeeUpdateTime; //修改时间
 
+    private String employeeLine;  //拉线
+
     public Integer getEmployeeId() {
         return employeeId;
     }
@@ -126,4 +128,12 @@ public class PtsEmployee implements Serializable{
     public void setEmployeeClearPower(Integer employeeClearPower) {
         this.employeeClearPower = employeeClearPower;
     }
+
+    public String getEmployeeLine() {
+        return employeeLine;
+    }
+
+    public void setEmployeeLine(String employeeLine) {
+        this.employeeLine = employeeLine;
+    }
 }

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

@@ -31,6 +31,8 @@ public class PtsMachine implements Serializable{
     private Integer machineBomId; //bom单id
     private Integer machineIsRetreading; //是否翻新机
 
+    private String  machineLine; //拉线
+
     public Integer getMachineId() {
         return machineId;
     }
@@ -198,4 +200,12 @@ public class PtsMachine implements Serializable{
     public void setMachineIsRetreading(Integer machineIsRetreading) {
         this.machineIsRetreading = machineIsRetreading;
     }
+
+    public String getMachineLine() {
+        return machineLine;
+    }
+
+    public void setMachineLine(String machineLine) {
+        this.machineLine = machineLine;
+    }
 }

+ 20 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineSupplierService.java

@@ -1,7 +1,7 @@
 package com.iamberry.rst.faces.pts;
 
 
-import com.iamberry.rst.core.pts.PtsComponents;
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.PtsSupplier;
 
 import java.util.List;
@@ -16,4 +16,23 @@ public interface MachineSupplierService {
      *
      * **/
     List<PtsSupplier> listMachineSupplier();
+
+    /**
+     * 查询供应商列表
+     * @param pageNO
+     * @param pageSize
+     * @param ptsSupplier
+     * @param isTotalNum
+     * @return
+     */
+    PagedResult<PtsSupplier> listPtsSupplierPage(int pageNO, int pageSize, PtsSupplier ptsSupplier, boolean isTotalNum);
+
+    //添加批次
+    Integer savePtsSupplier(PtsSupplier ptsSupplier);
+
+    //查询单个批次
+    PtsSupplier getPtsSupplier(PtsSupplier ptsSupplier);
+
+    //修改批次
+    Integer updatePtsSupplier(PtsSupplier ptsSupplier);
 }

+ 27 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineSupplierServiceImpl.java

@@ -1,8 +1,11 @@
 package com.iamberry.rst.service.pts;
 
+import com.github.pagehelper.PageHelper;
+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.service.pts.mapper.MachineSupplierMapper;
+import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -20,6 +23,29 @@ public class MachineSupplierServiceImpl implements MachineSupplierService {
 
     @Override
     public List<PtsSupplier> listMachineSupplier() {
-        return machineSupplierMapper.listMachineSupplier();
+        PtsSupplier ptsSupplier = new PtsSupplier();
+        return machineSupplierMapper.listMachineSupplier(ptsSupplier);
+    }
+
+    @Override
+    public PagedResult<PtsSupplier> listPtsSupplierPage(int pageNO, int pageSize, PtsSupplier ptsSupplier, boolean isTotalNum) {
+        PageHelper.startPage(pageNO, pageSize, isTotalNum);
+        List<PtsSupplier> list = machineSupplierMapper.listMachineSupplier(ptsSupplier);
+        return PageUtil.getPage(list);
+    }
+
+    @Override
+    public Integer savePtsSupplier(PtsSupplier ptsSupplier) {
+        return machineSupplierMapper.savePtsSupplier(ptsSupplier);
+    }
+
+    @Override
+    public PtsSupplier getPtsSupplier(PtsSupplier ptsSupplier) {
+        return machineSupplierMapper.getPtsSupplier(ptsSupplier);
+    }
+
+    @Override
+    public Integer updatePtsSupplier(PtsSupplier ptsSupplier) {
+        return machineSupplierMapper.updatePtsSupplier(ptsSupplier);
     }
 }

+ 10 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/MachineSupplierMapper.java

@@ -15,5 +15,14 @@ public interface MachineSupplierMapper {
      * 查询所有供应商
      *
      * **/
-   List<PtsSupplier> listMachineSupplier();
+   List<PtsSupplier> listMachineSupplier(PtsSupplier ptsSupplier);
+
+    //添加批次
+    Integer savePtsSupplier(PtsSupplier ptsSupplier);
+
+    //查询单个批次
+    PtsSupplier getPtsSupplier(PtsSupplier ptsSupplier);
+
+    //修改批次
+    Integer updatePtsSupplier(PtsSupplier ptsSupplier);
 }

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineMapper.xml

@@ -6,11 +6,11 @@
         (machine_qrcode,machine_barcode,machine_sales_state,
         machine_status,machine_produced_time,machine_is_print,
         machine_compound_img,machine_process_state,machine_create_time,
-        machine_produce_type,machine_nfcId,machine_produce_id,machine_batch_id,machine_bom_id,machine_is_retreading)
+        machine_produce_type,machine_nfcId,machine_produce_id,machine_batch_id,machine_bom_id,machine_is_retreading,machine_line)
         VALUES
         (#{machineQrcode},#{machineBarcode},2,#{machineStatus},
         #{machineProducedTime},#{machineIsPrint},#{machineCompoundImg},#{machineProcessState},
-        #{machineCreateTime},#{machineProduceType},#{machineNfcId},#{machineProduceId},#{item.machineProduceId},#{item.machineBatchId},#{machineIsRetreading})
+        #{machineCreateTime},#{machineProduceType},#{machineNfcId},#{machineProduceId},#{item.machineProduceId},#{item.machineBatchId},#{machineIsRetreading},#{machineLine})
     </insert>
 
     <update id="updateMachine" parameterType="PtsMachine" >

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

@@ -3,20 +3,80 @@
 <mapper namespace="com.iamberry.rst.service.pts.mapper.MachineSupplierMapper">
 
 
+    <select id="listMachineSupplier"  resultType="PtsSupplier" parameterType="PtsSupplier">
+        SELECT
+            supplier_id AS supplierId,
+            supplier_name AS supplierName,
+            supplier_abbreviation AS supplierAbbreviation,
+            supplier_address AS  supplierAddress,
+            supplier_contact_person AS supplierContactPerson,
+            supplier_tel AS  supplierTel,
+            supplier_phone AS supplierPhone,
+            supplier_email AS supplierEmail,
+            supplier_create_time AS supplierCreateTime,
+            supplier_update_time AS supplierUpdateTime
+        FROM
+            tb_rst_pts_supplier
+        <where>
+            <if test="supplierName !=null and supplierName !=''">
+                supplier_name like CONCAT('%',#{supplierName},'%')
+            </if>
+            <if test="supplierContactPerson !=null and supplierContactPerson !=''">
+                supplier_contact_person like CONCAT('%',#{supplierContactPerson},'%')
+            </if>
+            <if test="supplierTel !=null and supplierTel !=''">
+                supplier_tel like CONCAT('%',#{supplierTel},'%')
+            </if>
+        </where>
+    </select>
 
-    <select id="listMachineSupplier"  resultType="PtsSupplier">
+    <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>
+
+    <update id="updatePtsSupplier" parameterType="PtsSupplier" >
+        update tb_rst_pts_supplier
+        <set>
+            <if test="supplierName !=null and supplierName !=''">
+                supplier_name = #{supplierName},
+            </if>
+            <if test="supplierAbbreviation !=null and supplierAbbreviation !=''">
+                supplier_abbreviation = #{supplierAbbreviation},
+            </if>
+            <if test="supplierAddress !=null and supplierAddress !=''">
+                supplier_address = #{supplierAddress},
+            </if>
+            <if test="supplierContactPerson !=null and supplierContactPerson !=''">
+                supplier_contact_person = #{supplierContactPerson},
+            </if>
+            <if test="supplierTel !=null and supplierTel !=''">
+                supplier_tel = #{supplierTel},
+            </if>
+            <if test="supplierEmail !=null and supplierEmail !=''">
+                supplier_email = #{supplierEmail},
+            </if>
+                supplier_phone = #{supplierPhone}
+        </set>
+         where  supplier_id = #{supplierId}
+    </update>
+
+    <select id="getPtsSupplier"  resultType="PtsSupplier" parameterType="PtsSupplier">
         SELECT
-        supplier_id AS supplierId,
-        supplier_name AS supplierName,
-        supplier_abbreviation AS supplierAbbreviation,
-        supplier_address AS  supplierAddress,
-        supplier_contact_person AS supplierContactPerson,
-        supplier_tel AS  supplierTel,
-        supplier_phone AS supplierPhone,
-        supplier_email AS supplierEmail,
-        supplier_create_time AS supplierCreateTime,
-        supplier_update_time AS supplierUpdateTime
+            supplier_id AS supplierId,
+            supplier_name AS supplierName,
+            supplier_abbreviation AS supplierAbbreviation,
+            supplier_address AS  supplierAddress,
+            supplier_contact_person AS supplierContactPerson,
+            supplier_tel AS  supplierTel,
+            supplier_phone AS supplierPhone,
+            supplier_email AS supplierEmail,
+            supplier_create_time AS supplierCreateTime,
+            supplier_update_time AS supplierUpdateTime
         FROM
-        tb_rst_pts_supplier
+            tb_rst_pts_supplier
+       WHERE
+            supplier_id =  #{supplierId}
     </select>
+
 </mapper>

+ 10 - 4
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml

@@ -13,6 +13,7 @@
             employee_departure_date AS employeeDepartureDate ,
             employee_post AS  employeePost,
             employee_desc AS  employeeDesc,
+            employee_line AS  employeeLine,
             employee_clear_power AS  employeeClearPower,
             employee_create_time AS  employeeCreateTime,
             employee_update_time AS  employeeUpdateTime
@@ -42,6 +43,7 @@
          employee_departure_date AS employeeDepartureDate ,
          employee_post AS  employeePost,
          employee_desc AS  employeeDesc,
+         employee_line AS  employeeLine,
          employee_clear_power AS  employeeClearPower,
          employee_create_time AS  employeeCreateTime,
          employee_update_time AS  employeeUpdateTime
@@ -62,6 +64,7 @@
         employee_departure_date AS employeeDepartureDate ,
         employee_post AS  employeePost,
         employee_desc AS  employeeDesc,
+        employee_line AS  employeeLine,
         employee_clear_power AS  employeeClearPower,
         employee_create_time AS  employeeCreateTime,
         employee_update_time AS  employeeUpdateTime
@@ -87,12 +90,11 @@
         ORDER BY employee_id DESC
     </select>
 
-
     <insert id="saveEmployee" parameterType="PtsEmployee" useGeneratedKeys="true" >
         insert into tb_rst_pts_employee
-          (employee_no ,employee_name ,employee_tel ,employee_state ,employee_entry_date ,employee_departure_date ,employee_post ,employee_desc ,employee_clear_power )
+          (employee_no ,employee_name ,employee_tel ,employee_state ,employee_entry_date ,employee_departure_date ,employee_post ,employee_desc ,employee_clear_power,employee_line )
         values
-          (#{employeeNo},#{employeeName},#{employeeTel},#{employeeState},#{employeeEntryDate},#{employeeDepartureDate},#{employeePost},#{employeeDesc},#{employeeClearPower})
+          (#{employeeNo},#{employeeName},#{employeeTel},#{employeeState},#{employeeEntryDate},#{employeeDepartureDate},#{employeePost},#{employeeDesc},#{employeeClearPower},#{employeeLine})
     </insert>
 
     <update id="updateEmployee" parameterType="PtsEmployee" >
@@ -123,7 +125,10 @@
                 employee_desc = #{employeeDesc},
             </if>
             <if test="employeeClearPower !=null">
-                employee_clear_power = #{employeeClearPower}
+                employee_clear_power = #{employeeClearPower},
+            </if>
+            <if test="employeeLine !=null and employeeLine !=''">
+                employee_line = #{employeeLine}
             </if>
         </set>
         where
@@ -141,6 +146,7 @@
         employee_departure_date AS employeeDepartureDate ,
         employee_post AS  employeePost,
         employee_desc AS  employeeDesc,
+        employee_line AS  employeeLine,
         employee_clear_power AS  employeeClearPower,
         employee_create_time AS  employeeCreateTime,
         employee_update_time AS  employeeUpdateTime

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

@@ -0,0 +1,137 @@
+package com.iamberry.rst.controllers.pts;
+
+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.ResponseJson;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 供应商controller
+ */
+@Controller
+@RequestMapping("/admin/supplier")
+public class AdminPtsSupplierController {
+
+    @Autowired
+    private MachineSupplierService machineSupplierService;
+
+    /**
+     * 获取supplier单列表
+     *
+     * @param request
+     * @return
+     */
+    @RequiresPermissions("supplier:list:supplier")
+    @RequestMapping("/_supplier_list")
+    public ModelAndView getPtsSupplier(HttpServletRequest request, PtsSupplier ptsSupplier,
+                                    @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                    @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                    @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
+        ModelAndView mv = new ModelAndView("pts/supplier/supplier_list");
+        PagedResult<PtsSupplier> pagedResult = machineSupplierService.listPtsSupplierPage(pageNO, pageSize, ptsSupplier, totalNum == 0);
+        if (totalNum != 0) {
+            pagedResult.setTotal(totalNum);
+        }
+        StitchAttrUtil.setModelAndView(ptsSupplier, mv, "/admin/supplier/_supplier_list", pagedResult);
+        return mv;
+    }
+
+    /**
+     * 跳转到添加supplier单页面
+     *
+     * @return
+     */
+    @RequiresPermissions("supplier:add:supplier")
+    @RequestMapping(value = "/to_add_supplier")
+    public ModelAndView toAddsupplier(HttpServletRequest request) {
+        ModelAndView mv = new ModelAndView("pts/supplier/add_supplier");
+        return mv;
+    }
+
+    /**
+     * 添加supplier单
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("supplier:add:supplier")
+    @RequestMapping(value = "/save_supplier")
+    public ResponseJson saveBatch(PtsSupplier ptsSupplier, HttpServletRequest request) {
+
+        if (!this.isValiData(ptsSupplier)  ) {
+            return new ResponseJson(500, "请检查表单,再次提交", 500);
+        }
+        Integer flag = machineSupplierService.savePtsSupplier(ptsSupplier);
+        if (flag < 1) {
+            return new ResponseJson(500, "添加失败", 500);
+        } else {
+            return new ResponseJson(200, "添加成功", 200);
+        }
+    }
+
+    /***
+     * 验证信息
+     * @param ptsSupplier
+     * @return
+     */
+    public boolean isValiData(PtsSupplier ptsSupplier) {
+        boolean flag = true;
+//        if(ptsSupplier.getBatchNo() == null  || ptsSupplier.getBatchNo().length() >= 20){
+//            return false;
+//        }
+
+        return flag;
+    }
+
+    /**
+     * 跳转到修改批次页面
+     *
+     * @return
+     */
+    @RequiresPermissions("supplier:update:supplier")
+    @RequestMapping(value = "/to_update_supplier")
+    public ModelAndView toUpdateBatch(Integer supplierId, HttpServletRequest request) {
+        ModelAndView mv = new ModelAndView("pts/supplier/update_supplier");
+
+        PtsSupplier ptsSupplier = new PtsSupplier();
+        ptsSupplier.setSupplierId(supplierId);
+        ptsSupplier = machineSupplierService.getPtsSupplier(ptsSupplier);
+
+        mv.addObject("ptsSupplier", ptsSupplier);
+        return mv;
+    }
+
+    /**
+     * 修改批次
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("supplier:add:supplier")
+    @RequestMapping(value = "/update_supplier")
+    public ResponseJson updateBatch(PtsSupplier ptsSupplier, HttpServletRequest request) {
+
+        if (!this.isValiData(ptsSupplier)  ) {
+            return new ResponseJson(500, "请检查表单,再次提交", 500);
+        }
+        Integer flag = machineSupplierService.updatePtsSupplier(ptsSupplier);
+        if (flag < 1) {
+            return new ResponseJson(500, "修改失败", 500);
+        } else {
+            return new ResponseJson(200, "修改成功", 200);
+        }
+    }
+
+
+
+}

+ 8 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java

@@ -60,6 +60,13 @@ public class MachineController {
         String nfcId = query.getString("nfcId");//NFCID(卡片id)
         JSONArray nodes = query.getJSONArray("nodes");//选项集合(包含一个或多个工序选项,详情见示例)
 
+        /*根据员工id,获取拉线,再将拉线存入机器表 -- start */
+        PtsEmployee employee = new PtsEmployee();
+        employee.setEmployeeId(employeeId);
+        employee = ptsEmployeeService.getPtsEmployee(employee);
+        String employeeLine = employee.getEmployeeLine();
+        /*根据员工id,获取拉线,再将拉线存入机器表 -- end */
+
         //根据卡片id与生产时间判断数据库是否存在相同的数据
         JSONObject machineJsonObject = nodes.getJSONObject(0);
         String ProcessTime = machineJsonObject.getString("logsProcessTime"); //工序执行时间 (时间戳)
@@ -97,6 +104,7 @@ public class MachineController {
             ptsMachine.setMachineBomId(0);//默认为0
             ptsMachine.setMachineBatchId(0);//默认为0
             ptsMachine.setMachineIsRetreading(2);
+            ptsMachine.setMachineLine(employeeLine); //拉线信息
             machineService.addMachine(ptsMachine);
         }
         boolean isAbnormality = true;//状态是否异常

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/add_batch.ftl

@@ -51,7 +51,7 @@
         </div>
 
         <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>批次数量</label>
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>批次数量:</label>
             <div class="formControls col-xs-8 col-sm-9 components">
                 <input type="hidden" id="batchColorQuantity" name="batchColorQuantity">
                 <table class="table table-border table-bordered table-bg table-hover table-sort">

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/update_batch.ftl

@@ -52,7 +52,7 @@
         </div>
 
         <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>批次数量</label>
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>批次数量:</label>
             <div class="formControls col-xs-8 col-sm-9 components">
                 <input type="hidden" id="batchColorQuantity" name="batchColorQuantity">
                 <table class="table table-border table-bordered table-bg table-hover table-sort">

+ 6 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl

@@ -51,7 +51,7 @@
             <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})"  readonly="readonly" /> </div>
             <div class="input-box" id="isDeparture"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="" placeholder="请选择离职日期"  onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen',minDate:'#F{$dp.$D(\'employeeEntryDate\')||\'%y-%M-%d\'}' })"  readonly="readonly"/></div>
             <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="" placeholder="请输入2-20位中文、英文字符描述" required   maxlength="20"  minlength="2" /> </div>
-
+            <div class="input-box"><span class="input-dic">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;拉线</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeeLine" id="employeeLine" value="" placeholder="请输入2-30位中文、英文、数字字符描述" required   maxlength="30"  minlength="2" /> </div>
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
                 <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" id="employeeDesc"  maxlength="200" msg="员工备注" ></textarea>
@@ -116,6 +116,11 @@
                 return false;
             }
 
+            var employeeLine = $("#employeeLine").val();
+            if(!(check_name.test(employeeLine))){
+                layer.msg('拉线格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
 //            var employeeDesc = $("#employeeDesc").val();
 //            if(!(check_name.test(employeeDesc))){
 //                layer.msg('员工备注格式不正确', {icon: 5, time: 1000});

+ 7 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl

@@ -53,6 +53,7 @@
             <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
             <div class="input-box" id="isDeparture" style="<#if employee.employeeState == 1>display: none</#if>"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}" placeholder="请选择离职日期" onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen' })" readonly="readonly"/> </div>
             <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="${employee.employeePost!}" placeholder="请输入2-20位中文、英文字符描述" required    maxlength="20"  minlength="2" /> </div>
+            <div class="input-box"><span class="input-dic">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;拉线</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeeLine" id="employeeLine" value="${employee.employeeLine!}" placeholder="请输入2-30位中文、英文、数字字符描述" required   maxlength="30"  minlength="2" /> </div>
 
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
@@ -120,6 +121,12 @@
                 return false;
             }
 
+            var employeeLine = $("#employeeLine").val();
+            if(!(check_name.test(employeeLine))){
+                layer.msg('拉线格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
 //            var employeeDesc = $("#employeeDesc").val();
 //            if( employeeDesc != null && employeeDesc != "" && typeof(employeeDesc) != "undefined"){
 //                alert("++"+employeeDesc+"+++");

+ 124 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/add_supplier.ftl

@@ -0,0 +1,124 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/lib/jquery.ui/jquery-ui.css" rel="stylesheet" type="text/css"/>
+    <style>
+        .add-list>li{margin: 10px 0;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+    <title>添加供应商 - 供应商管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 供应商管理
+    <span class="c-gray en">&gt;</span> 添加供应商
+    <a class="btn radius r"
+       style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
+    <form action="${path}/admin/supplier/save_supplier" method="post" class="form form-horizontal" id="form-supplier-add">
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商名称:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+				<input type="text" class="input-text" value="" id="supplierName" name="supplierName" placeholder="请输入1-30位的名称,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,30}$/" errormsg="供应商名称请输入1-30位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商简称:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="" id="supplierAbbreviation" name="supplierAbbreviation" placeholder="请输入1-10位的简称,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,10}$/" errormsg="供应商简称请输入1-10位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人姓名:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="" id="supplierContactPerson" name="supplierContactPerson" placeholder="请输入1-10位的联系人姓名,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,10}$/" errormsg="联系人姓名请输入1-10位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人电话:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="" id="supplierTel" name="supplierTel" placeholder="请输入联系人电话" datatype="m" errormsg="联系人电话格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3">联系人座机:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="" id="supplierPhone" name="supplierPhone" placeholder="请输入联系人座机" datatype="/^0\d{2,3}-?\d{7,8}$/" errormsg="联系人座机格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人邮箱:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="" id="supplierEmail" name="supplierEmail" placeholder="请输入联系人邮箱" datatype="e" errormsg="联系人邮箱格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商地址:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <textarea name="supplierAddress" id="supplierAddress" cols="" rows="" class="textarea"
+                          placeholder="联系人地址,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)" ></textarea>
+                <p class="textarea-numberbar"><em class="textarea-length">0</em>/100</p>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
+                <button type="reset" class="btn btn-primary radius">重置</button><input class="btn btn-primary radius" type="submit" style="margin-left: 20px;" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
+            </div>
+        </div>
+    </form>
+</article>
+<script type="text/javascript">
+
+    $(function(){
+        $("#form-supplier-add").Validform({
+            tiptype: function (msg, o, cssctl) {
+                if (o.type == 3) {//失败
+                    layer.msg(msg, {icon: 5, time: 3000});
+                    $(window).scrollTop(o.obj.offset().top - 40);
+                }
+            },
+            datatype: {//自定义验证类型
+            },
+            ignoreHidden: true,
+            tipSweep: true, //若为true,则只在表单提交时验证
+            ajaxPost: true, //异步提交
+            beforeCheck: function (curform) {  //验证通过之前执行的函数
+            },
+            beforeSubmit: function (curform) {  //验证通过之后执行的函数
+            },
+            callback: function (data) {//异步回调函数
+                if (data) {
+                    var index = layer.alert(data.resultMsg, function () {
+                        if (data.resultCode == 200) {
+                            location.href = "${path}/admin/supplier/_supplier_list";
+                        } else {
+                            layer.close(index);
+                        }
+                    });
+                }
+            }
+        });
+    })
+
+</script>
+<!--/请在上方写此页面业务相关的脚本-->
+</body>
+</html>

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

@@ -0,0 +1,103 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+    <link rel="Bookmark" href="/favicon.ico" >
+    <link rel="Shortcut Icon" href="/favicon.ico" />
+<#include "/base/list_base.ftl">
+    <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::-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(/rst/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;}
+        .barcodeImg{margin:10px 0px}
+        .table-bg thead th{background-color: #e2f6ff;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 供应商管理
+    <span class="c-gray en">&gt;</span> 供应商列表
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div class="page-container">
+    <div class="text-c">
+        <form action="${path}/admin/supplier/_supplier_list" method="post">
+            <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddSupplier();">增加供应商</button>
+            <input type="text" class="my-input"  style="width:150px" value="${supplierName!''}" placeholder="供应商名称" id="supplierName" name="supplierName">
+            <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>
+        </form>
+    </div>
+
+    <div class="mt-20">
+        <table class="table table-border table-bordered table-bg table-hover table-sort">
+        <thead>
+        <tr class="text-c">
+            <th width="50">供应商名称</th>
+            <th width="60">供应商简称</th>
+            <th width="100">联系人姓名</th>
+            <th width="80">联系人电话</th>
+            <th width="80">座机</th>
+            <th width="100">邮箱</th>
+            <th width="80">地址</th>
+            <th width="80">最近修改时间</th>
+            <th width="80">操作</th>
+        </tr>
+        </thead>
+        <tbody>
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                    <#list page.dataList as supplier>
+                        <tr class="text-c">
+                            <td>${supplier.supplierName!''}</td>
+                            <td>${supplier.supplierAbbreviation!''}</td>
+                            <td>${supplier.supplierContactPerson!''}</td>
+                            <td>${supplier.supplierTel!''}</td>
+                            <td>${supplier.supplierPhone!''}</td>
+                            <td>${supplier.supplierEmail!''}</td>
+                            <td>${supplier.supplierAddress!''}</td>
+                            <td>${(supplier.supplierUpdateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                            <td>
+                                <a style="text-decoration:none" href="javascript:void(0);" title="编辑" onclick="admin_update_supplier(${supplier.supplierId!''})">
+                                    <i class="Hui-iconfont">&#xe6df;</i>
+                                </a>&nbsp;
+                            </td>
+                        </tr>
+                    </#list>
+            <#else>
+                <tr><td colspan="9" class="td-manage text-c" >暂时没有供应商,请添加!</td></tr>
+            </#if>
+        </tbody>
+    </table>
+    </div>
+</div>
+<tfoot>
+<#include "/base/page_util.ftl">
+</tfoot>
+<script>
+    /**
+     * 跳转到添加supplier页面
+     */
+    function toAddSupplier(){
+        window.location.href= "${path}/admin/supplier/to_add_supplier";
+    }
+
+    /**
+     *跳转到编辑页面
+     * @param employee
+     */
+    function admin_update_supplier(supplierId) {
+        window.location.href= "${path}/admin/supplier/to_update_supplier?supplierId="+supplierId;
+    }
+</script>
+</body>
+</html>

+ 125 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/supplier/update_supplier.ftl

@@ -0,0 +1,125 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/lib/jquery.ui/jquery-ui.css" rel="stylesheet" type="text/css"/>
+    <style>
+        .add-list>li{margin: 10px 0;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/rst/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+    <title>修改供应商 - 供应商管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 供应商管理
+    <span class="c-gray en">&gt;</span> 修改供应商
+    <a class="btn radius r"
+       style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
+    <form action="${path}/admin/supplier/update_supplier" method="post" class="form form-horizontal" id="form-supplier-update">
+        <input type="hidden" name="supplierId" id="supplierId" value="${ptsSupplier.supplierId!''}">
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商名称:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+				<input type="text" class="input-text" value="${ptsSupplier.supplierName!''}" id="supplierName" name="supplierName" placeholder="请输入1-30位的名称,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,30}$/" errormsg="供应商名称请输入1-30位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商简称:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="${ptsSupplier.supplierAbbreviation!''}" id="supplierAbbreviation" name="supplierAbbreviation" placeholder="请输入1-10位的简称,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,10}$/" errormsg="供应商简称请输入1-10位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人姓名:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="${ptsSupplier.supplierContactPerson!''}" id="supplierContactPerson" name="supplierContactPerson" placeholder="请输入1-10位的联系人姓名,支持中文、英文字母" datatype="/^[a-zA-Z\u4e00-\u9fa5]{1,10}$/" errormsg="联系人姓名请输入1-10位的中文、英文字母!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人电话:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="${ptsSupplier.supplierTel!''}" id="supplierTel" name="supplierTel" placeholder="请输入联系人电话" datatype="m" errormsg="联系人电话格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3">联系人座机:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="${ptsSupplier.supplierPhone!''}" id="supplierPhone" name="supplierPhone" placeholder="请输入联系人座机" datatype="/^0\d{2,3}-?\d{7,8}|\s*$/" errormsg="联系人座机格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>联系人邮箱:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <input type="text" class="input-text" value="${ptsSupplier.supplierEmail!''}" id="supplierEmail" name="supplierEmail" placeholder="请输入联系人邮箱" datatype="e" errormsg="联系人邮箱格式不正确!">
+            </div>
+        </div>
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>供应商地址:</label>
+            <div class="formControls col-xs-8 col-sm-9">
+                <textarea name="supplierAddress" id="supplierAddress" cols="" rows="" class="textarea"
+                          placeholder="联系人地址,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)" >${ptsSupplier.supplierAddress!''}</textarea>
+                <p class="textarea-numberbar"><em class="textarea-length">0</em>/100</p>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
+                <input class="btn btn-primary radius" type="submit" style="margin-left: 20px;" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
+            </div>
+        </div>
+    </form>
+</article>
+<script type="text/javascript">
+
+    $(function(){
+        $("#form-supplier-update").Validform({
+            tiptype: function (msg, o, cssctl) {
+                if (o.type == 3) {//失败
+                    layer.msg(msg, {icon: 5, time: 3000});
+                    $(window).scrollTop(o.obj.offset().top - 40);
+                }
+            },
+            datatype: {//自定义验证类型
+            },
+            ignoreHidden: true,
+            tipSweep: true, //若为true,则只在表单提交时验证
+            ajaxPost: true, //异步提交
+            beforeCheck: function (curform) {  //验证通过之前执行的函数
+            },
+            beforeSubmit: function (curform) {  //验证通过之后执行的函数
+            },
+            callback: function (data) {//异步回调函数
+                if (data) {
+                    var index = layer.alert(data.resultMsg, function () {
+                        if (data.resultCode == 200) {
+                            location.href = "${path}/admin/supplier/_supplier_list";
+                        } else {
+                            layer.close(index);
+                        }
+                    });
+                }
+            }
+        });
+    })
+
+</script>
+<!--/请在上方写此页面业务相关的脚本-->
+</body>
+</html>