Prechádzať zdrojové kódy

领料模块发起,填写数据,领导审核功能

yue 5 rokov pred
rodič
commit
9baa481b7e
29 zmenil súbory, kde vykonal 1875 pridanie a 339 odobranie
  1. 18 0
      src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
  2. 22 0
      src/main/java/com/jeeplus/modules/act/web/ActTaskController.java
  3. 26 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/MyNeedList.java
  4. 119 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyImportUtils.java
  5. 0 1
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java
  6. 11 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/web/ProjectController.java
  7. 25 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/MdSmallClass.java
  8. 26 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/MdTheClass.java
  9. 57 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/PickIng.java
  10. 29 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/PickList.java
  11. 0 9
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/Picking.java
  12. 191 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java
  13. 30 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java
  14. 22 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/ShowListMapper.java
  15. 109 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml
  16. 113 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml
  17. 128 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java
  18. 38 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java
  19. 232 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java
  20. 118 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/web/ShowListController.java
  21. 1 45
      src/main/webapp/webpage/modules/sg/audit/report/reportList.jsp
  22. 0 40
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionForm.jsp
  23. 0 244
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/phaseManageForm.js
  24. 130 0
      src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeader.js
  25. 39 0
      src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeader.jsp
  26. 35 0
      src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeaderForm.js
  27. 77 0
      src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeaderForm.jsp
  28. 196 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.js
  29. 83 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.jsp

+ 18 - 0
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -2199,4 +2199,22 @@ public class ActTaskService extends BaseService {
 		return flag;
 	}
 
+	/**
+	 * 保存审核意见
+	 * @param act
+	 */
+	@Transactional(readOnly = false)
+	public void pickIng(Act act) {
+		// 设置意见
+		act.setComment(("yes".equals(act.getFlag())?"[同意] ":"[驳回] ")+act.getComment());
+		act.preUpdate();
+		// 对不同环节的业务逻辑进行操作
+		String taskDefKey = act.getTaskDefKey();
+		// 提交流程任务
+		Map<String, Object> vars = Maps.newHashMap();
+		vars.put("pass", "yes".equals(act.getFlag())? true : false);
+		vars.put("manager","施工单位领导");
+		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
+	}
+
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -29,6 +29,9 @@ import com.jeeplus.modules.sg.managementcenter.activiti.service.ProcessPersonnel
 import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
 import org.activiti.engine.HistoryService;
 import org.activiti.engine.RepositoryService;
 import org.activiti.engine.RuntimeService;
@@ -106,6 +109,9 @@ public class ActTaskController extends BaseController {
 	@Autowired
 	private ActModelService actModelService;
 
+	@Autowired
+	private PickIngService pickIngService;
+
 	/**
 	 * 获取待办列表
 	 * @return
@@ -1224,4 +1230,20 @@ public class ActTaskController extends BaseController {
 		}
 	}
 
+	@ResponseBody
+	@RequestMapping(value = "pickIng")
+	public AjaxJson pickIng(Act act,String selectNumber) {
+		AjaxJson j = new AjaxJson();
+		try {
+			pickIngService.updateSelectNumber(selectNumber, act.getProcInsId());
+			String comment = URLDecoder.decode(act.getComment(), "UTF-8");
+			act.setComment(comment);
+			actTaskService.pickIng(act);
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		j.setMsg("审批成功");
+		return j;
+	}
+
 }

+ 26 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/entity/MyNeedList.java

@@ -0,0 +1,26 @@
+package com.jeeplus.modules.sg.managementcenter.activiti.entity;
+
+import redis.clients.jedis.BinaryClient;
+
+import java.util.List;
+
+public class MyNeedList {
+    private List<String> proInsIdList;
+    private List<String> taskIsList;
+
+    public List<String> getProInsIdList() {
+        return proInsIdList;
+    }
+
+    public void setProInsIdList(List<String> proInsIdList) {
+        this.proInsIdList = proInsIdList;
+    }
+
+    public List<String> getTaskIsList() {
+        return taskIsList;
+    }
+
+    public void setTaskIsList(List<String> taskIsList) {
+        this.taskIsList = taskIsList;
+    }
+}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 119 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyImportUtils.java


+ 0 - 1
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java

@@ -320,7 +320,6 @@ public class ConstructionController extends BaseController {
         /**
          * 流程审批
          */
-
     if (StringUtils.isBlank(construction.getId())) {
         //获取流程图id
         String procDefId = construction.getAct().getProcDefId();

+ 11 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/web/ProjectController.java

@@ -90,6 +90,17 @@ public class ProjectController extends BaseController {
 		Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
 		return getBootstrapData(page);
 	}
+
+
+	@ResponseBody
+	@RequestMapping(value = "dataPicking")
+	public Map<String, Object> dataPicking(Project project, HttpServletRequest request, HttpServletResponse response, Model model) {
+		project.setStatus("2");
+		project.setWhetherCloseStatus("0");
+		Page<Project> page = projectService.findPage(new Page<Project>(request, response), project);
+		return getBootstrapData(page);
+	}
+
 	/**
 	 * 查看,增加,编辑表单表单页面
 	 */

+ 25 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/MdSmallClass.java

@@ -0,0 +1,25 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+
+public class MdSmallClass extends ActEntity<MdSmallClass> {
+   private String name;
+   private String mdUnit;
+
+   public String getMdUnit() {
+      return mdUnit;
+   }
+
+   public void setMdUnit(String mdUnit) {
+      this.mdUnit = mdUnit;
+   }
+
+   public String getName() {
+      return name;
+   }
+
+   public void setName(String name) {
+      this.name = name;
+   }
+}
+

+ 26 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/MdTheClass.java

@@ -0,0 +1,26 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+
+import java.util.List;
+
+public class MdTheClass extends ActEntity<MdTheClass> {
+    private String name;
+    private List<MdSmallClass> mdSmallClassList;
+
+    public List<MdSmallClass> getMdSmallClassList() {
+        return mdSmallClassList;
+    }
+
+    public void setMdSmallClassList(List<MdSmallClass> mdSmallClassList) {
+        this.mdSmallClassList = mdSmallClassList;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 57 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/PickIng.java

@@ -0,0 +1,57 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.List;
+
+/**
+ *
+ */
+public class PickIng extends DataEntity<PickIng> {
+    //大类信息
+    private String mdBigClass;
+    //中类信息
+    private String mdTheClass;
+    //小类信息
+    private String mdSmallClass;
+    //单位
+    private String mdUnit;
+
+    @Override
+    public String getId() {
+        return super.getId();
+    }
+
+    public String getMdBigClass() {
+        return mdBigClass;
+    }
+
+    public void setMdBigClass(String mdBigClass) {
+        this.mdBigClass = mdBigClass;
+    }
+
+    public String getMdTheClass() {
+        return mdTheClass;
+    }
+
+    public void setMdTheClass(String mdTheClass) {
+        this.mdTheClass = mdTheClass;
+    }
+
+    public String getMdSmallClass() {
+        return mdSmallClass;
+    }
+
+    public void setMdSmallClass(String mdSmallClass) {
+        this.mdSmallClass = mdSmallClass;
+    }
+
+    public String getMdUnit() {
+        return mdUnit;
+    }
+
+    public void setMdUnit(String mdUnit) {
+        this.mdUnit = mdUnit;
+    }
+}

+ 29 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/PickList.java

@@ -0,0 +1,29 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.List;
+
+public class PickList extends DataEntity<PickList> {
+
+    //大类信息
+    private String name;
+    //中类信息
+    private List<MdTheClass> mdTheClassList;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<MdTheClass> getMdTheClassList() {
+        return mdTheClassList;
+    }
+
+    public void setMdTheClassList(List<MdTheClass> mdTheClassList) {
+        this.mdTheClassList = mdTheClassList;
+    }
+}

+ 0 - 9
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/Picking.java

@@ -1,9 +0,0 @@
-package com.jeeplus.modules.sg.picking.activiti.entity;
-
-import com.jeeplus.core.persistence.ActEntity;
-/**
- *
- */
-public class Picking extends ActEntity<Picking> {
-
-}

+ 191 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java

@@ -0,0 +1,191 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+import com.jeeplus.core.persistence.ActEntity;
+import com.jeeplus.core.persistence.DataEntity;
+
+import java.util.List;
+
+public class ShowList extends ActEntity<ShowList> {
+    //物料编码
+    private String materialCode;
+    //物料名称;
+    private String materialDescription;
+    //扩展描述;
+    private String extensionDescription;
+    //单位;
+    private String mdUnits;
+    //总量;
+    private Double mdTotalAmount;
+    //单重/kg;
+    private Double mdSingleWeight;
+    //总重/吨;
+    private Double mdTotalWeight;
+    //甲乙供;
+    private String meTheParty;
+    //备注;
+    private String mdText;
+    //数量
+    private Double number;
+    //对应的模块信息
+    private String blockId;
+    //版本号
+    private List<String> version;
+    //流程发起的次数
+    private String theNumber;
+    //查询编号列表
+    private List<String> findList;
+    //记录选择的版本
+    private String sVersion;
+    //选择的项目信息
+    private String projectName;
+    //选择的项目定义号
+    private String projectId;
+    //选择的项目及数量
+    private String selectNumber;
+
+    public String getMaterialCode() {
+        return materialCode;
+    }
+
+    public void setMaterialCode(String materialCode) {
+        this.materialCode = materialCode;
+    }
+
+    public String getMaterialDescription() {
+        return materialDescription;
+    }
+
+    public void setMaterialDescription(String materialDescription) {
+        this.materialDescription = materialDescription;
+    }
+
+    public String getExtensionDescription() {
+        return extensionDescription;
+    }
+
+    public void setExtensionDescription(String extensionDescription) {
+        this.extensionDescription = extensionDescription;
+    }
+
+    public String getMdUnits() {
+        return mdUnits;
+    }
+
+    public void setMdUnits(String mdUnits) {
+        this.mdUnits = mdUnits;
+    }
+
+
+
+    public String getMeTheParty() {
+        return meTheParty;
+    }
+
+    public void setMeTheParty(String meTheParty) {
+        this.meTheParty = meTheParty;
+    }
+
+    public String getMdText() {
+        return mdText;
+    }
+
+    public void setMdText(String mdText) {
+        this.mdText = mdText;
+    }
+
+    public List<String> getFindList() {
+        return findList;
+    }
+
+    public void setFindList(List<String> findList) {
+        this.findList = findList;
+    }
+
+    public Double getMdTotalAmount() {
+        return mdTotalAmount;
+    }
+
+    public void setMdTotalAmount(Double mdTotalAmount) {
+        this.mdTotalAmount = mdTotalAmount;
+    }
+
+    public Double getMdSingleWeight() {
+        return mdSingleWeight;
+    }
+
+    public void setMdSingleWeight(Double mdSingleWeight) {
+        this.mdSingleWeight = mdSingleWeight;
+    }
+
+    public Double getMdTotalWeight() {
+        return mdTotalWeight;
+    }
+
+    public void setMdTotalWeight(Double mdTotalWeight) {
+        this.mdTotalWeight = mdTotalWeight;
+    }
+
+    public Double getNumber() {
+        return number;
+    }
+
+    public void setNumber(Double number) {
+        this.number = number;
+    }
+
+    public String getBlockId() {
+        return blockId;
+    }
+
+    public void setBlockId(String blockId) {
+        this.blockId = blockId;
+    }
+
+    public List<String> getVersion() {
+        return version;
+    }
+
+    public void setVersion(List<String> version) {
+        this.version = version;
+    }
+
+    public String getsVersion() {
+        return sVersion;
+    }
+
+    public void setsVersion(String sVersion) {
+        this.sVersion = sVersion;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getTheNumber() {
+        return theNumber;
+    }
+
+    public void setTheNumber(String theNumber) {
+        this.theNumber = theNumber;
+    }
+
+    public String getSelectNumber() {
+        return selectNumber;
+    }
+
+    public void setSelectNumber(String selectNumber) {
+        this.selectNumber = selectNumber;
+    }
+}

+ 30 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java

@@ -0,0 +1,30 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.picking.activiti.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sys.entity.User;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 模块显示MAPPER接口
+ * @author
+ * @version 2019-11-08
+ */
+
+@MyBatisMapper
+public interface PickIngMapper extends BaseMapper<PickIng> {
+
+    List<String> allVersion();
+
+    void updateSelectNumber(@Param("selectNumber") String selectNumber,@Param("procInsId") String procInsId);
+
+    String findSelectNumber(String procInsId);
+}

+ 22 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/ShowListMapper.java

@@ -0,0 +1,22 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.picking.activiti.mapper;
+
+import com.jeeplus.core.persistence.BaseMapper;
+import com.jeeplus.core.persistence.annotation.MyBatisMapper;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+
+import java.util.List;
+
+/**
+ * 模块显示MAPPER接口
+ * @author
+ * @version 2019-11-08
+ */
+
+@MyBatisMapper
+public interface ShowListMapper extends BaseMapper<ShowList> {
+    String findNumber(String projectId);
+}

+ 109 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.picking.activiti.mapper.PickIngMapper">
+
+    <sql id="classColumns">
+		a.id AS "id",
+		a.md_big_class AS "mdBigClass",
+		a.md_the_class AS "mdTheClass",
+		a.md_small_class AS "mdSmallClass",
+		a.md_unit AS "mdUnit"
+	</sql>
+
+
+
+    <select id="get" resultType="com.jeeplus.modules.sg.picking.activiti.entity.PickIng">
+        SELECT
+        <include refid="classColumns"/>,
+		FROM md_module_block a
+		WHERE a.id = #{id}
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.PickIng">
+        SELECT
+        <include refid="classColumns"/>
+        FROM md_module_block a
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+        </choose>
+    </select>
+
+    <select id="findAllList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.PickIng">
+        SELECT
+        <include refid="classColumns"/>
+        FROM md_module_block a order by md_big_sort,md_the_sort,md_small_sort
+    </select>
+
+    <insert id="insert">
+		INSERT INTO md_acquisition_process(
+			id,
+			proc_ins_id,
+			project_id,
+			the_number,
+			version,
+			select_number,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag
+		) VALUES (
+			#{id},
+			#{procInsId},
+			#{projectId},
+			#{theNumber},
+			#{version},
+			#{selectNumber},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag}
+		)
+	</insert>
+
+    <update id="update">
+		UPDATE md_acquisition_process SET
+			proc_ins_id = #{procInsId},
+			project_id = #{projectId},
+			the_number = #{theNumber},
+			version = #{version},
+			select_number = #{selectNumber},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			remarks = #{remarks}
+		WHERE id = #{id}
+	</update>
+
+
+
+    <!--物理删除-->
+    <update id="delete">
+		DELETE FROM md_module_block
+		WHERE id = #{id}
+	</update>
+
+    <!--逻辑删除-->
+    <update id="deleteByLogic">
+		UPDATE md_module_block SET
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+
+	<select id="allVersion" resultType="string">
+		select md_version from md_module_block group by md_version;
+	</select>
+
+	<update id="updateSelectNumber">
+		update md_acquisition_process set  select_number = #{selectNumber} where proc_ins_id=#{procInsId};
+	</update>
+	
+	<select id="findSelectNumber" resultType="string">
+		select select_number from md_acquisition_process where proc_ins_id=#{procInsId};
+	</select>
+
+</mapper>

+ 113 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml

@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.sg.picking.activiti.mapper.ShowListMapper">
+
+    <sql id="classColumns">
+		a.material_code AS "materialCode",
+		a.material_description AS "materialDescription",
+		a.extension_description AS "extensionDescription",
+		a.md_units AS "mdUnits",
+		a.md_total_amount AS "mdTotalAmount",
+		a.md_single_weight AS "mdSingleWeight",
+		a.md_total_weight AS "mdTotalWeight",
+		a.md_the_party AS "meTheParty",
+		a.md_text AS "mdText",
+		a.block_id AS "blockId"
+	</sql>
+
+
+
+    <select id="get" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
+        SELECT
+        <include refid="classColumns"/>,
+		FROM md_module_listing a
+		WHERE a.id = #{id}
+    </select>
+
+    <select id="findList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
+        SELECT
+        <include refid="classColumns"/>
+        FROM md_module_listing a
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+        </choose>
+        <where>
+            <trim prefixOverrides="AND |OR ">
+                <if test="findList!=null and findList.size>0">
+                    AND block_id in
+                <foreach collection="findList" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+                </if>
+            </trim>
+        </where>
+    </select>
+
+    <select id="findAllList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">
+        SELECT
+        <include refid="classColumns"/>
+        FROM md_module_listing a
+    </select>
+
+    <!--物理删除-->
+    <update id="delete">
+		DELETE FROM md_module_block
+		WHERE id = #{id}
+	</update>
+
+    <!--逻辑删除-->
+    <update id="deleteByLogic">
+		UPDATE md_module_block SET
+			del_flag = #{DEL_FLAG_DELETE}
+		WHERE id = #{id}
+	</update>
+
+    <insert id="insert">
+		INSERT INTO md_acquisition_process(
+			id,
+			proc_ins_id,
+			project_id,
+			the_number,
+			version,
+			select_number,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag
+		) VALUES (
+			#{id},
+			#{procInsId},
+			#{projectId},
+			#{theNumber},
+			#{sVersion},
+			#{selectNumber},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag}
+		)
+	</insert>
+
+    <update id="update">
+		UPDATE md_acquisition_process SET
+			proc_ins_id = #{procInsId},
+			project_id = #{projectId},
+			the_number = #{theNumber},
+			version = #{sVersion},
+			select_number = #{selectNumber},
+			update_by = #{updateBy.id},
+			update_date = #{updateDate},
+			remarks = #{remarks}
+		WHERE id = #{id}
+	</update>
+
+	<select id="findNumber" resultType="string">
+		select the_number from md_acquisition_process where project_id = #{projectId} order by the_number DESC LIMIT 1;
+	</select>
+</mapper>

+ 128 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java

@@ -0,0 +1,128 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.picking.activiti.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.picking.activiti.entity.MdSmallClass;
+import com.jeeplus.modules.sg.picking.activiti.entity.MdTheClass;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.mapper.PickIngMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.method.P;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 模块显示Service
+ * @author
+ * @version 2019-11-08
+ */
+@Service
+@Transactional(readOnly = true)
+public class PickIngService extends CrudService<PickIngMapper, PickIng> {
+	@Autowired
+	private PickIngMapper pickIngMapper;
+
+	@Override
+	public Page<PickIng> findPage(Page<PickIng> page, PickIng entity) {
+		Page<PickIng> page1 = super.findPage(page, entity);
+		return page1;
+	}
+
+	/**
+	 * 遍历查询结构 大类 中类 小类
+	 * 去除重复,记录大类
+	 * 根据大类查询它的中类放入list并记录
+	 * */
+	public List<PickList> newAllList(PickIng entity) {
+		//查询除所有数据
+		List<PickIng> allList = pickIngMapper.findAllList(entity);
+		//创建返回对象集合
+		List<PickList> returnList = new ArrayList<>();
+
+		//循环得到所有大类
+		for (PickIng pickIng:allList) {
+			boolean flag = false;
+			for (PickList list : returnList) {
+				if (pickIng.getMdBigClass().equals(list.getName())) {
+					flag = true;
+					break;
+				}
+			}
+			if (flag==false) {
+				//创建返回对象
+				PickList pickList = new PickList();
+				pickList.setName(pickIng.getMdBigClass());
+				returnList.add(pickList);
+			}
+		}
+
+		//循环所有的大类,与查出的数据做比对,相同的就放入同一个实体类
+		for (PickList pList : returnList) {
+			List<MdTheClass> mdTheClassList = new ArrayList<>();
+			//获得大类
+			String name = pList.getName();
+			//遍历查询的所有数据,与大类做比对,相同的,将中类记录下来
+			for (PickIng pickIng:allList) {
+				boolean flag = false;
+				//如果查出的数据中和记录下的大类一致,将中类放入大类的
+				if (pickIng.getMdBigClass().equals(name)) {
+					for (MdTheClass md : mdTheClassList) {
+						if (md.getName().equals(pickIng.getMdTheClass())) {
+							flag = true;
+						}
+					}
+					if (flag==false) {
+						//创建中类对象,包含种类名称及对应的小类集合
+						MdTheClass mdTheClass = new MdTheClass();
+						mdTheClass.setId(pickIng.getId());
+						mdTheClass.setName(pickIng.getMdTheClass());
+						mdTheClassList.add(mdTheClass);
+					}
+				}
+			}
+			pList.setMdTheClassList(mdTheClassList);
+		}
+
+		for (PickList pList : returnList) {
+			List<MdTheClass> mdTheClassList = pList.getMdTheClassList();
+			for (MdTheClass md : mdTheClassList) {
+				//创建
+				List<MdSmallClass> mdSmallClassList = new ArrayList<>();
+				for (PickIng pc : allList) {
+					if (md.getName().equals(pc.getMdTheClass())&&pList.getName().equals(pc.getMdBigClass())) {
+						//创建小类对象
+						MdSmallClass mdSmallClass = new MdSmallClass();
+						mdSmallClass.setName(pc.getMdSmallClass());
+						mdSmallClass.setId(pc.getId());
+						mdSmallClass.setMdUnit(pc.getMdUnit());
+						mdSmallClassList.add(mdSmallClass);
+					}
+					md.setMdSmallClassList(mdSmallClassList);
+				}
+			}
+		}
+
+		return returnList;
+	}
+
+
+	public List<String> allVersion() {
+		return  pickIngMapper.allVersion();
+	}
+
+	@Transactional(readOnly = false)
+	public void updateSelectNumber(String selectNumber,String procInsId) {
+		pickIngMapper.updateSelectNumber(selectNumber, procInsId);
+	}
+
+	public String findSelectNumber(String procInsId) {
+		return pickIngMapper.findSelectNumber(procInsId);
+	}
+}

+ 38 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java

@@ -0,0 +1,38 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.sg.picking.activiti.service;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.service.CrudService;
+import com.jeeplus.modules.sg.picking.activiti.entity.*;
+import com.jeeplus.modules.sg.picking.activiti.mapper.PickIngMapper;
+import com.jeeplus.modules.sg.picking.activiti.mapper.ShowListMapper;
+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.List;
+
+/**
+ * 模块显示Service
+ *
+ * @author
+ * @version 2019-11-08
+ */
+@Service
+@Transactional(readOnly = true)
+public class ShowListService extends CrudService<ShowListMapper, ShowList> {
+	@Autowired
+	private ShowListMapper showListMapper;
+
+	@Override
+	public Page<ShowList> findPage(Page<ShowList> page, ShowList entity) {
+		return super.findPage(page, entity);
+	}
+
+	public String findNumber(String projectId) {
+		return showListMapper.findNumber(projectId);
+	}
+}

+ 232 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java

@@ -0,0 +1,232 @@
+package com.jeeplus.modules.sg.picking.activiti.web;
+
+import com.google.common.collect.Maps;
+import com.jeeplus.common.json.AjaxJson;
+import com.jeeplus.common.utils.DateUtils;
+import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.act.entity.Act;
+import com.jeeplus.modules.act.service.ActProcessService;
+import com.jeeplus.modules.act.service.ActTaskService;
+import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
+import com.jeeplus.modules.sg.picking.activiti.service.ShowListService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import org.activiti.engine.repository.ProcessDefinition;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "${adminPath}/picking/activiti")
+public class PickIngController extends BaseController {
+    @Autowired
+    private PickIngService pickIngService;
+    @Autowired
+    private ShowListService showListService;
+    @Autowired
+    private ActProcessService actProcessService;
+    @Autowired
+    private ActTaskService actTaskService;
+
+    /**
+     * 访问项目表
+     */
+    @RequestMapping(value = "list")
+    public String form(ShowList showList, Model model) {
+        PickIng pickIng = new PickIng();
+        List<PickList> pickListList = pickIngService.newAllList(pickIng);
+        model.addAttribute("showList",showList);
+        model.addAttribute("pickListList", pickListList);
+        return "modules/sg/picking/activiti/pickIng";
+    }
+
+    /**
+     * 施工单位领导审核
+     */
+    @RequestMapping(value = "constructionLeader")
+    public String constructionLeader(ShowList showList, Model model) {
+        model.addAttribute("showList", showList);
+        return "modules/sg/picking/activiti/constructionLeader";
+    }
+
+//    constructionLeaderForm.jsp
+
+    /**
+     * 发起领料页面
+     */
+    @RequestMapping(value = "constructionLeaderForm")
+    public String constructionLeaderForm(ShowList showList, Model model) {
+        List<String> versions = pickIngService.allVersion();
+        showList.setVersion(versions);
+        model.addAttribute("showList", showList);
+        return "modules/sg/picking/activiti/constructionLeaderForm";
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "data")
+    public Map<String, Object> data(PickIng pickIng, HttpServletRequest request, HttpServletResponse response, Model model) {
+        Page<PickIng> page = pickIngService.findPage(new Page<PickIng>(request, response), pickIng);
+        List<PickIng> list = page.getList();
+        for (PickIng p :
+                list) {
+            p.setMdUnit("pi");
+        }
+        return getBootstrapData(page);
+    }
+
+    //    manager
+    @ResponseBody
+    @RequestMapping(value = "constructionData")
+    public Map<String, Object> constructionData(ShowList showList, String procInsId, HttpServletRequest request, HttpServletResponse response, Model model) {
+        String item = pickIngService.findSelectNumber(procInsId);
+        ArrayList<String> objects = new ArrayList<>();
+        ArrayList<String> findList = new ArrayList<>();
+        //返回给页面的list
+        List<ShowList> myList = new ArrayList<>();
+        if (item != null && !"".equals(item)) {
+            String[] split = item.split(";");
+            //回显list
+            List<ShowList> returnList = new ArrayList<>();
+            for (int i = 0; i < split.length; i++) {
+                objects.add(split[i]);
+            }
+            for (String s : objects) {
+                String[] split1 = s.split(":");
+                ShowList myShow = new ShowList();
+                myShow.setId(split1[0]);
+                String s1 = split1[1];
+                myShow.setNumber(Double.parseDouble(s1));
+                findList.add(split1[0]);
+                myList.add(myShow);
+            }
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            //查询出来所有的模块清单数据
+            List<ShowList> list = page.getList();
+            //前端传来选择的模块与数量
+            for (ShowList my : myList) {
+                //循环遍历
+                for (ShowList showList1 : list) {
+                    //选择的模块与查出来的一致
+                    if (my.getId().equals(showList1.getBlockId())) {
+                        Double mdSingleWeight = showList1.getMdSingleWeight();
+                        Double number = my.getNumber();
+                        Double i = mdSingleWeight * number;
+                        ShowList newShowList = new ShowList();
+                        newShowList.setMaterialCode(showList1.getMaterialCode());
+                        newShowList.setMaterialDescription(showList1.getMaterialDescription());
+                        newShowList.setExtensionDescription(showList1.getExtensionDescription());
+                        newShowList.setMdUnits(showList1.getMdUnits());
+                        newShowList.setMeTheParty(showList1.getMeTheParty());
+                        newShowList.setMdText(showList1.getMdText());
+                        newShowList.setMdTotalAmount(number);
+                        newShowList.setMdSingleWeight(showList1.getMdSingleWeight());
+                        newShowList.setMdTotalWeight(i / 1000);
+                        newShowList.setBlockId(showList1.getBlockId());
+                        returnList.add(newShowList);
+                    }
+                }
+            }
+            List<ShowList> finalList = new ArrayList<>();
+            boolean flag;
+            for (ShowList turn : returnList) {
+                flag = true;
+                for (ShowList list1 : finalList) {
+                    if (turn.getMaterialCode().equals(list1.getMaterialCode()) && turn.getMaterialDescription().equals(list1.getMaterialDescription()) && turn.getExtensionDescription().equals(list1.getExtensionDescription())) {
+                        list1.setMdTotalAmount(list1.getMdTotalAmount() + turn.getMdTotalAmount());
+                        list1.setMdTotalWeight(list1.getMdTotalWeight() + turn.getMdTotalWeight());
+                        flag = false;
+                        break;
+                    }
+                }
+                if (flag) {
+                    showList = new ShowList();
+                    showList.setMaterialCode(turn.getMaterialCode());
+                    showList.setMaterialDescription(turn.getMaterialDescription());
+                    showList.setExtensionDescription(turn.getExtensionDescription());
+                    showList.setMdUnits(turn.getMdUnits());
+                    showList.setMeTheParty(turn.getMeTheParty());
+                    showList.setMdText(turn.getMdText());
+                    showList.setMdTotalAmount(turn.getMdTotalAmount());
+                    showList.setMdSingleWeight(turn.getMdSingleWeight());
+                    showList.setMdTotalWeight(turn.getMdTotalWeight());
+                    showList.setBlockId(turn.getBlockId());
+                    finalList.add(showList);
+                }
+            }
+            page.setList(finalList);
+            return getBootstrapData(page);
+        } else {
+            findList.add("没有数据");
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            return getBootstrapData(page);
+        }
+    }
+
+    /**
+     * 保存请假申请
+     */
+    @ResponseBody
+    @RequestMapping(value = "save")
+    public AjaxJson save(ShowList showList, Model model) throws Exception {
+        AjaxJson j = new AjaxJson();
+        /**
+         * 后台hibernate-validation插件校验
+         */
+        String errMsg = beanValidator(showList);
+        if (StringUtils.isNotBlank(errMsg)) {
+            j.setSuccess(false);
+            j.setMsg(errMsg);
+            return j;
+        }
+        String projectId = showList.getProjectId();
+        if (projectId == null||"".equals(projectId)) {
+            j.setSuccess(false);
+            j.setMsg("请选择项目");
+            return j;
+        }
+        /**
+         * 流程审批
+         */
+        if (StringUtils.isBlank(showList.getId())) {
+            String number = showListService.findNumber(showList.getProjectId());
+            if (number == null || "".equals(number)) {
+                showList.setTheNumber("1");
+            } else {
+                int i = Integer.parseInt(number);
+                int a = i + 1;
+                showList.setTheNumber(String.valueOf(a));
+            }
+            //新增或编辑表单保存
+            showListService.save(showList);//保存
+            // 启动流程
+            Map<String, Object> vars = Maps.newHashMap();
+            vars.put("manager", "项目经理");
+            ProcessDefinition p = actProcessService.getProcessDefinition(showList.getAct().getProcDefId());
+            String title = showList.getCurrentUser().getName() + "在" + DateUtils.getDateTime() + "发起" + p.getName();
+            actTaskService.startProcess(p.getKey(), "md_acquisition_process", showList.getId(), title, vars);
+            j.setMsg("发起流程审批成功!");
+            j.getBody().put("targetUrl", "/act/task/process/");
+
+        }
+        return j;
+    }
+
+}
+

+ 118 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/ShowListController.java

@@ -0,0 +1,118 @@
+package com.jeeplus.modules.sg.picking.activiti.web;
+
+import com.jeeplus.core.persistence.Page;
+import com.jeeplus.core.web.BaseController;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
+import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
+import com.jeeplus.modules.sg.picking.activiti.service.ShowListService;
+import net.sf.ehcache.util.SetAsList;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "${adminPath}/picking/showlist")
+public class ShowListController extends BaseController {
+    @Autowired
+    private ShowListService showListService;
+
+    @ResponseBody
+    @RequestMapping(value ="data")
+    public Map<String, Object> data(ShowList showList,String item, HttpServletRequest request, HttpServletResponse response, Model model) {
+        ArrayList<String> objects = new ArrayList<>();
+        ArrayList<String> findList = new ArrayList<>();
+
+        //返回给页面的list
+        List<ShowList> myList = new ArrayList<>();
+        if (item != null&&!"".equals(item)) {
+            String[] split = item.split(";");
+            //回显list
+            List<ShowList> returnList = new ArrayList<>();
+            for (int i = 0; i < split.length; i++) {
+                objects.add(split[i]);
+            }
+            for (String s : objects) {
+                String[] split1 = s.split(":");
+                ShowList myShow = new ShowList();
+                myShow.setId(split1[0]);
+                String s1 = split1[1];
+                myShow.setNumber(Double.parseDouble(s1));
+                findList.add(split1[0]);
+                myList.add(myShow);
+            }
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            //查询出来所有的模块清单数据
+            List<ShowList> list = page.getList();
+            //前端传来选择的模块与数量
+            for (ShowList my : myList) {
+                //循环遍历
+                for (ShowList showList1 : list) {
+                    //选择的模块与查出来的一致
+                    if (my.getId().equals(showList1.getBlockId())) {
+                        Double mdSingleWeight = showList1.getMdSingleWeight();
+                        Double number = my.getNumber();
+                        Double i = mdSingleWeight * number;
+                        ShowList newShowList = new ShowList();
+                        newShowList.setMaterialCode(showList1.getMaterialCode());
+                        newShowList.setMaterialDescription(showList1.getMaterialDescription());
+                        newShowList.setExtensionDescription(showList1.getExtensionDescription());
+                        newShowList.setMdUnits(showList1.getMdUnits());
+                        newShowList.setMeTheParty(showList1.getMeTheParty());
+                        newShowList.setMdText(showList1.getMdText());
+                        newShowList.setMdTotalAmount(number);
+                        newShowList.setMdSingleWeight(showList1.getMdSingleWeight());
+                        newShowList.setMdTotalWeight(i/1000);
+                        newShowList.setBlockId(showList1.getBlockId());
+                        returnList.add(newShowList);
+                    }
+                }
+            }
+            List<ShowList> finalList = new ArrayList<>();
+            boolean flag;
+            for (ShowList turn:returnList){
+                flag = true;
+                for (ShowList list1:finalList){
+                    if (turn.getMaterialCode().equals(list1.getMaterialCode()) && turn.getMaterialDescription().equals(list1.getMaterialDescription()) && turn.getExtensionDescription().equals(list1.getExtensionDescription())) {
+
+                        list1.setMdTotalAmount(list1.getMdTotalAmount() + turn.getMdTotalAmount());
+                        list1.setMdTotalWeight(list1.getMdTotalWeight() + turn.getMdTotalWeight());
+                        flag = false;
+                        break;
+                    }
+                }
+                if (flag){
+                    showList = new ShowList();
+                    showList.setMaterialCode(turn.getMaterialCode());
+                    showList.setMaterialDescription(turn.getMaterialDescription());
+                    showList.setExtensionDescription(turn.getExtensionDescription());
+                    showList.setMdUnits(turn.getMdUnits());
+                    showList.setMeTheParty(turn.getMeTheParty());
+                    showList.setMdText(turn.getMdText());
+                    showList.setMdTotalAmount(turn.getMdTotalAmount());
+                    showList.setMdSingleWeight(turn.getMdSingleWeight());
+                    showList.setMdTotalWeight(turn.getMdTotalWeight());
+                    showList.setBlockId(turn.getBlockId());
+                    finalList.add(showList);
+                }
+            }
+            page.setList(finalList);
+            return getBootstrapData(page);
+        } else {
+            findList.add("没有数据");
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            return getBootstrapData(page);
+        }
+    }
+}

+ 1 - 45
src/main/webapp/webpage/modules/sg/audit/report/reportList.jsp

@@ -7,7 +7,7 @@
 	<meta name="decorator" content="ani"/>
 	<%@ include file="/webpage/include/bootstraptable.jsp"%>
 	<%@ include file="/webpage/include/echarts.jsp"%>
-	<%--<%@include file="reportList.js" %>--%>
+
 	<style type="text/css">
 		#div1{
 			margin-top: 10px;
@@ -28,14 +28,9 @@
 			<li role="presentation"><a href="${ctx}/sg/report/secondlist">按二级单位</a> </li>
 		</ul>
 		</div>
-		
 	<!-- 表格 -->
-	<%--<table id="reportTable"   data-toolbar="#toolbar"></table>--%>
-
-    <!-- context menu -->
 		<div id="div1">
 		<table class="table table-bordered">
-
             <thead>
 			<tr>
 				<th> </th>
@@ -58,45 +53,6 @@
 			</thead>
 		</table>
 		</div>
-
-		<%--<table class="table table-bordered">--%>
-
-			<%--<thead>--%>
-			<%--<tr>--%>
-				<%--<th> </th>--%>
-				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
-					<%--<th>${data.name}</th>--%>
-				<%--</c:forEach>--%>
-			<%--</tr>--%>
-			<%--<tr>--%>
-				<%--<th>1-7天</th>--%>
-				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
-					<%--<th>${data.level1}</th>--%>
-				<%--</c:forEach>--%>
-			<%--</tr>--%>
-			<%--<tr>--%>
-				<%--<th>8-14天</th>--%>
-				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
-					<%--<th>${data.level2}</th>--%>
-				<%--</c:forEach>--%>
-			<%--</tr>--%>
-			<%--<tr>--%>
-				<%--<th>15-21天</th>--%>
-				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
-					<%--<th>${data.level3}</th>--%>
-				<%--</c:forEach>--%>
-			<%--</tr>--%>
-			<%--<tr>--%>
-				<%--<th>21天以上</th>--%>
-				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
-					<%--<th>${data.level4}</th>--%>
-				<%--</c:forEach>--%>
-			<%--</tr>--%>
-
-			<%--</thead>--%>
-
-
-		<%--</table>--%>
 		<div class="btn-group" role="group" aria-label="...">
 			<div class="btn-group" role="group">
 				<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

+ 0 - 40
src/main/webapp/webpage/modules/sg/managementcenter/activiti/constructionForm.jsp

@@ -34,56 +34,16 @@
 						</div>
 						<table class="table table-bordered">
 							<tbody>
-	<%--						<tr>
-								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>申请人:</label></td>
-								<td class="width-35">
-									<input type='text'  name="userName" class="form-control required"  value="${construction.userName}"/>
-								</td>
-								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>审批人:</label></td>
-								<td class="width-35">
-									<sys:userselect roleName="项目经理;" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.applyName}"
-													cssClass="form-control required"/>
-								</td>
-							</tr>--%>
 							<tr>
-<%--								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目号:</label></td>
-								<td class="width-35">
-									<input type='text'  name="projectId" class="form-control required"  value="${construction.projectId}"/>
-								</td>--%>
 								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目名称:</label></td>
 								<td class="width-35">
 									<%--<input type='text'  name="projectName" class="form-control required"  value="${construction.projectName}"/>--%>
 									<sys:itemselect url="${ctx}/sg/managementcenter/project/dataSys" id="project" name="projectId" value="${construction.projectName}" labelName="project.requireName" labelValue="${construction.projectName}"
 													title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('项目需求名称|工程编号|项目名称|项目定义号')}" fieldKeys="requireName|projecId|projectName|projectNumber" searchLabels="${fns:urlEncode('项目需求名称')}" searchKeys="requireName"  isMultiSelected="true"></sys:itemselect>
 								</td>
-<%--								<td class="width-15 active"><label class="pull-right">接收图纸时间:</label></td>
-								<td class="width-35">--%>
-<%--									<div class='input-group form_datetime' id='acceptDate'>
-										<input type='text'  name="acceptDate" class="form-control required"  value="<fmt:formatDate value="${construction.acceptDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
-										<span class="input-group-addon">
-																<span class="glyphicon glyphicon-calendar"></span>
-																 </span>
-									</div>--%>
 								</td>
 							</tr>
 							<tr>
-<%--								<td class="width-15 active"><label class="pull-right">接收图纸时间:</label></td>
-								<td class="width-35">
-									<div class='input-group form_datetime' id='acceptDate'>
-										<input type='text'  name="acceptDate" class="form-control required"  value="<fmt:formatDate value="${construction.acceptDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"/>
-										<span class="input-group-addon">
-			                        <span class="glyphicon glyphicon-calendar"></span>
-			                   		 </span>
-									</div>
-								</td>--%>
-<%--								<td class="width-15 active"><label class="pull-right">备注说明:</label></td>
-								<td class="width-35">
-									<textarea  name="examineDate" style="height: 100px" class="form-control">${construction.examineDate}</textarea>
-								</td>
-								<td class="width-15 active"><label class="pull-right"></label></td>
-								<td class="width-35">
-&lt;%&ndash;									<textarea  name="examineDate" style="height: 100px" class="form-control">${construction.examineDate}</textarea>&ndash;%&gt;
-								</td>--%>
 							</tr>
 							</tbody>
 						</table>

+ 0 - 244
src/main/webapp/webpage/modules/sg/managementcenter/activiti/phaseManageForm.js

@@ -1,244 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" %>
-<script>
-$(document).ready(function() {
-	var procInsId = $("#procInsId").val();
-	// alert(procInsId);
-	$('#testPicTable').bootstrapTable({
-		  //请求方法
-               method: 'post',
-               //类型json
-               dataType: "json",
-               contentType: "application/x-www-form-urlencoded",
-               //显示检索按钮
-	           showSearch: false,
-               //显示刷新按钮
-               showRefresh: true,
-               //显示切换手机试图按钮
-               showToggle: true,
-               //显示 内容列下拉框
-    	       showColumns: true,
-    	       //显示到处按钮
-    	       showExport: true,
-    	       //显示切换分页按钮
-    	       showPaginationSwitch: false,
-    	       //最低显示2行
-    	       minimumCountColumns: 2,
-               //是否显示行间隔色
-               striped: true,
-               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)     
-               cache: false,    
-               //是否显示分页(*)  
-               pagination: false,
-                //排序方式 
-               sortOrder: "asc",  
-               //初始化加载第一页,默认第一页
-               pageNumber:1,   
-               //每页的记录行数(*)   
-               pageSize: 10,  
-               //可供选择的每页的行数(*)    
-               pageList: [10, 25, 50, 100],
-               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据  
-               url: "${ctx}/managementcenter/upload/data?procInsId="+procInsId,
-               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
-               //queryParamsType:'',   
-               ////查询参数,每次调用是会带上这个参数,可自定义                         
-               queryParams : function(params) {
-               	var searchParam = $("#searchForm").serializeJSON();
-               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
-               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
-               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
-                   return searchParam;
-               },
-               //分页方式:client客户端分页,server服务端分页(*)
-               sidePagination: "server",
-               contextMenuTrigger:"right",//pc端 按右键弹出菜单
-               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
-               contextMenu: '#context-menu',
-               onContextMenuItem: function(row, $el){
-                   if($el.data("item") == "edit"){
-                   		edit(row.id);
-                   }else if($el.data("item") == "view"){
-                       view(row.id);
-                   } else if($el.data("item") == "delete"){
-                        jp.confirm('确认要删除该图片管理记录吗?', function(){
-                       	jp.loading();
-                       	jp.get("${ctx}/test/pic/testPic/delete?id="+row.id, function(data){
-                   	  		if(data.success){
-                   	  			$('#testPicTable').bootstrapTable('refresh');
-                   	  			jp.success(data.msg);
-                   	  		}else{
-                   	  			jp.error(data.msg);
-                   	  		}
-                   	  	})
-                   	   
-                   	});
-                      
-                   } 
-               },
-              
-               onClickRow: function(row, $el){
-               },
-               	onShowSearch: function () {
-			$("#search-collapse").slideToggle();
-		},
-               columns: [/*{
-				   field: 'uId',
-				   title: '标题',
-				   sortable: true,
-				   sortName: 'uId'
-				   ,formatter:function(value, row , index){
-					   value = jp.unescapeHTML(value);
-				   <c:choose>
-					   <c:when test="${fns:hasPermission('test:pic:testPic:edit')}">
-					   return "<a href='javascript:edit(\""+row.id+"\")'>"+value+"</a>";
-				   </c:when>
-					   <c:when test="${fns:hasPermission('test:pic:testPic:view')}">
-					   return "<a href='javascript:view(\""+row.id+"\")'>"+value+"</a>";
-				   </c:when>
-					   <c:otherwise>
-					   return value;
-				   </c:otherwise>
-					   </c:choose>
-				   }
-
-			   },*/{
-		        field: 'path',
-		        title: '图片路径',
-		        sortable: false,
-		        sortName: 'path',
-		        formatter:function(value, row , index){
-		        	var valueArray = value.split("|");
-		        	var labelArray = [];
-		        	for(var i =0 ; i<valueArray.length; i++){
-		        		if(!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(valueArray[i]))
-		        		{
-		        			labelArray[i] = "<a href=\""+valueArray[i]+"\" url=\""+valueArray[i]+"\" target=\"_blank\">"+decodeURIComponent(valueArray[i].substring(valueArray[i].lastIndexOf("/")+1))+"</a>"
-		        		}else{
-		        			labelArray[i] = '<img   onclick="jp.showPic(\''+valueArray[i]+'\')"'+' height="50px" src="'+valueArray[i]+'">';
-		        		}
-		        	}
-		        	return labelArray.join(" ");
-		        }
-		       
-		    },{
-				   field: 'uId',
-				   title: '上传人员',
-				   sortable: false,
-				   sortName: 'uId',
-			   }]
-		});
-		
-		  
-	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
-
-		 
-		  $('#testPicTable').bootstrapTable("toggleView");
-		}
-	  
-	  $('#testPicTable').on('check.bs.table uncheck.bs.table load-success.bs.table ' +
-                'check-all.bs.table uncheck-all.bs.table', function () {
-            $('#remove').prop('disabled', ! $('#testPicTable').bootstrapTable('getSelections').length);
-            $('#view,#edit').prop('disabled', $('#testPicTable').bootstrapTable('getSelections').length!=1);
-        });
-		  
-		$("#btnImport").click(function(){
-			jp.open({
-			    type: 2,
-                area: [500, 200],
-                auto: true,
-			    title:"导入数据",
-			    content: "${ctx}/tag/importExcel" ,
-			    btn: ['下载模板','确定', '关闭'],
-				    btn1: function(index, layero){
-					  jp.downloadFile('${ctx}/test/pic/testPic/import/template');
-				  },
-			    btn2: function(index, layero){
-				        var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
-						iframeWin.contentWindow.importExcel('${ctx}/test/pic/testPic/import', function (data) {
-							if(data.success){
-								jp.success(data.msg);
-								refresh();
-							}else{
-								jp.error(data.msg);
-							}
-                            jp.close(index);
-                        });//调用保存事件
-                    return false;
-				  },
-				 
-				  btn3: function(index){ 
-					  jp.close(index);
-	    	       }
-			}); 
-		});
-		
-		
-	 $("#export").click(function(){//导出Excel文件
-			jp.downloadFile('${ctx}/test/pic/testPic/export');
-	  });
-
-		    
-	  $("#search").click("click", function() {// 绑定查询按扭
-		  $('#testPicTable').bootstrapTable('refresh');
-		});
-	 
-	 $("#reset").click("click", function() {// 绑定查询按扭
-		  $("#searchForm  input").val("");
-		  $("#searchForm  select").val("");
-		  $("#searchForm  .select-item").html("");
-		  $('#testPicTable').bootstrapTable('refresh');
-		});
-		
-		
-	});
-		
-  function getIdSelections() {
-        return $.map($("#testPicTable").bootstrapTable('getSelections'), function (row) {
-            return row.id
-        });
-    }
-  
-  function deleteAll(){
-
-		jp.confirm('确认要删除该图片管理记录吗?', function(){
-			jp.loading();  	
-			jp.get("${ctx}/test/pic/testPic/deleteAll?ids=" + getIdSelections(), function(data){
-         	  		if(data.success){
-         	  			$('#testPicTable').bootstrapTable('refresh');
-         	  			jp.success(data.msg);
-         	  		}else{
-         	  			jp.error(data.msg);
-         	  		}
-         	  	})
-          	   
-		})
-  }
-
-    //刷新列表
-  function refresh(){
-  	$('#testPicTable').bootstrapTable('refresh');
-  }
-  
-   function add(){
-	  jp.openSaveDialog('新增图片管理', "${ctx}/test/pic/testPic/form",'800px', '500px');
-  }
-
-
-  
-   function edit(id){//没有权限时,不显示确定按钮
-       if(id == undefined){
-	      id = getIdSelections();
-	}
-	jp.openSaveDialog('编辑图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
-  }
-  
- function view(id){//没有权限时,不显示确定按钮
-      if(id == undefined){
-             id = getIdSelections();
-      }
-        jp.openViewDialog('查看图片管理', "${ctx}/managementcenter/upload/imagesForm?id=" + id, '800px', '500px');
- }
-
-
-
-</script>

+ 130 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeader.js

@@ -0,0 +1,130 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var item = "";
+	var procInsId = $("#procInsId").val();
+		console.log(procInsId);
+		//bootstrapTable加载数据
+		$('#informationTable').bootstrapTable({
+			//请求方法
+			method: 'post',
+			//类型json
+			dataType: "json",
+			contentType: "application/x-www-form-urlencoded",
+			//显示检索按钮
+			showSearch: false,
+			//显示刷新按钮
+			showRefresh: false,
+			//显示切换手机试图按钮
+			showToggle: false,
+			//显示 内容列下拉框
+			showColumns: false,
+			//显示到处按钮
+			showExport: false,
+			//显示切换分页按钮
+			showPaginationSwitch: false,
+			//最低显示2行
+			minimumCountColumns: 2,
+			//是否显示行间隔色
+			striped: true,
+			//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+			cache: false,
+			//是否显示分页(*)
+			pagination: false,
+			//排序方式
+			sortOrder: "asc",
+			//初始化加载第一页,默认第一页
+			pageNumber: 1,
+			//每页的记录行数(*)
+			pageSize: 10,
+			//可供选择的每页的行数(*)
+			pageList: [10, 25, 50, 100],
+			//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+			url: "${ctx}/picking/activiti/constructionData?procInsId="+procInsId,
+			//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+			////查询参数,每次调用是会带上这个参数,可自定义
+			queryParams: function (params) {
+				var searchParam = $("#searchForm").serializeJSON();
+				searchParam.pageNo = params.limit === undefined ? "1" : params.offset / params.limit + 1;
+				searchParam.pageSize = params.limit === undefined ? -1 : params.limit;
+				searchParam.orderBy = params.sort === undefined ? "" : params.sort + " " + params.order;
+				return searchParam;
+			},
+			//分页方式:client客户端分页,server服务端分页(*)
+			sidePagination: "server",
+			contextMenuTrigger: "right",//pc端 按右键弹出菜单
+			contextMenuTriggerMobile: "press",//手机端 弹出菜单,click:单击, press:长按。
+			contextMenu: '#context-menu',
+			onClickRow: function (row, $el) {
+			},
+			onShowSearch: function () {
+				$("#search-collapse").slideToggle();
+			},
+			formatNoMatches: function () {
+				return "你的自定义文字说明";
+			},
+			columns: [
+				{
+					field: 'materialCode',
+					title: '物料编码',
+				}, {
+					field: 'materialDescription',
+					title: '物料名称',
+				}, {
+					field: 'extensionDescription',
+					title: '扩展描述',
+				}, {
+					field: 'mdUnits',
+					title: '单位',
+				}, {
+					field: 'mdTotalAmount',
+					title: '总量',
+				}, {
+					field: 'mdSingleWeight',
+					title: '单重/kg',
+				}, {
+					field: 'mdTotalWeight',
+					title: '总重/吨',
+				}, {
+					field: 'meTheParty',
+					title: '甲乙供',
+				}, {
+					field: 'mdText',
+					title: '备注',
+				}
+			]
+		});
+
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#informationTable').bootstrapTable("toggleView");
+		}
+
+	// 绑定查询按扭
+	$("#search").click("click", function() {
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+
+	// 绑定查询重置按扭
+	 $("#reset").click("click", function() {
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+	});
+
+  function getIdSelections() {
+        return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+    //刷新列表
+  function refresh() {
+      $('#informationTable').bootstrapTable('refresh');
+  }
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+</script>

+ 39 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeader.jsp

@@ -0,0 +1,39 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目管理列表页</title>
+	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@include file="constructionLeader.js" %>
+</head>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<div class="panel-heading">
+		<h3 class="panel-title">施工单位领导审核</h3>
+	</div>
+		<form:form id="inputForm" modelAttribute="showList" class="form-horizontal">
+			<input type="hidden" id="procInsId" name="procInsId" value="${showList.act.procInsId}"/>
+		</form:form>
+		<div class="panel-body">
+				<table id="informationTable" data-toolbar="#toolbar" class="table"></table>
+			<div class="row">
+				<div class="col-sm-3"></div>
+				<div class="col-sm-6">
+					<div class="form-group text-center" style="text-align: center;margin-top: 20px;">
+						<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="确认提交" />&nbsp;
+						<input id="no" class="btn  btn-primary btn-lg btn-danger" type="submit" value="驳回" />&nbsp;
+					</div>
+				</div>
+			</div>
+			<c:if test="${not empty showList.id}">
+				<act:flowChart procInsId="${showList.act.procInsId}"/>
+				<act:histoicFlow procInsId="${showList.act.procInsId}" />
+			</c:if>
+		</div>
+	</div>
+	</div>
+</body>
+</html>

+ 35 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeaderForm.js

@@ -0,0 +1,35 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	/**
+	 * 配网专职提交申请页面
+	 * */
+	$(document).ready(function() {
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 77 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/constructionLeaderForm.jsp

@@ -0,0 +1,77 @@
+<%@ page pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>施工交底提交申请</title>
+	<meta name="decorator" content="ani"/>
+	<!-- SUMMERNOTE -->
+	<%@include file="/webpage/include/summernote.jsp" %>
+	<%@include file="constructionLeaderForm.js"%>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+	<div class="row">
+		<div class="col-md-12">
+			<div class="panel panel-primary">
+				<div class="panel-heading">
+					<h3 class="panel-title">
+						<a class="panelButton"  href="#"  onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+					</h3>
+				</div>
+				<div class="panel-body">
+					<form:form id="inputForm" modelAttribute="showList" action="${ctx}/picking/activiti/save" method="post" class="form-horizontal">
+						<form:hidden path="id"/>
+						<form:hidden path="act.taskId"/>
+						<form:hidden path="act.taskName"/>
+						<form:hidden path="act.taskDefKey"/>
+						<form:hidden path="act.procInsId"/>
+						<form:hidden path="act.procDefId"/>
+						<form:hidden id="flag" path="act.flag" />
+						<div class="form-group text-center">
+							<h3> 领料申请</h3>
+						</div>
+						<table class="table table-bordered">
+							<tbody>
+							<tr>
+								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目名称:</label></td>
+								<td class="width-35">
+									<sys:itemselect url="${ctx}/sg/managementcenter/project/dataPicking" id="project" name="projectId" value="${showList.projectName}" labelName="project.requireName" labelValue="${showList.projectName}"
+													title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('项目需求名称|工程编号|项目名称|项目定义号')}" fieldKeys="requireName|projecId|projectName|projectNumber" searchLabels="${fns:urlEncode('项目需求名称')}" searchKeys="requireName"  isMultiSelected="false"></sys:itemselect>
+								</td>
+								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>选择模块版本:</label></td>
+								<td class="width-35">
+									<form:select  cssClass="form-control" path="sVersion">
+										<c:forEach items="${showList.version}" var="list">
+											<option value="${list}">${list}</option>
+										</c:forEach>
+									</form:select>
+								</td>
+							</tr>
+							<tr>
+							</tr>
+							</tbody>
+						</table>
+
+						<div class="form-group">
+							<div class="col-lg-3"></div>
+								<div class="col-lg-6">
+									<div class="form-group text-center">
+										<div>
+											<button class="btn btn-primary btn-block btn-lg btn-parsley" data-loading-text="正在提交...">提 交</button>
+										</div>
+									</div>
+								</div>
+						</div>
+					</form:form>
+					<c:if test="${not empty showList.id}">
+						<act:flowChart procInsId="${showList.act.procInsId}"/>
+						<act:histoicFlow procInsId="${showList.act.procInsId}" />
+					</c:if>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+</body>
+</html>

+ 196 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.js

@@ -0,0 +1,196 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+$(document).ready(function() {
+	var item = "";
+	//bootstrapTable加载数据
+	$('#informationTable').bootstrapTable({
+		  		//请求方法
+               method: 'post',
+               //类型json
+               dataType: "json",
+               contentType: "application/x-www-form-urlencoded",
+               //显示检索按钮
+	       		showSearch: false,
+               //显示刷新按钮
+               showRefresh: false,
+               //显示切换手机试图按钮
+               showToggle: false,
+               //显示 内容列下拉框
+    	       showColumns: false,
+    	       //显示到处按钮
+    	       showExport: false,
+    	       //显示切换分页按钮
+    	       showPaginationSwitch: false,
+    	       //最低显示2行
+    	       minimumCountColumns: 2,
+               //是否显示行间隔色
+               striped: true,
+               //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+               cache: false,
+               //是否显示分页(*)
+               pagination: false,
+                //排序方式
+               sortOrder: "asc",
+               //初始化加载第一页,默认第一页
+               pageNumber:1,
+               //每页的记录行数(*)
+               pageSize: 10,
+               //可供选择的每页的行数(*)
+               pageList: [10, 25, 50, 100],
+               //这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+               url: "${ctx}/picking/showlist/data",
+               //默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+               ////查询参数,每次调用是会带上这个参数,可自定义
+               queryParams : function(params) {
+               	var searchParam = $("#searchForm").serializeJSON();
+               	searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+               	searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+               	searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+                   return searchParam;
+               },
+               //分页方式:client客户端分页,server服务端分页(*)
+               sidePagination: "server",
+               contextMenuTrigger:"right",//pc端 按右键弹出菜单
+               contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+               contextMenu: '#context-menu',
+               onClickRow: function(row, $el){
+               },
+               	onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		formatNoMatches:function(){
+			return "你的自定义文字说明";
+		},
+               columns: [
+			{
+			field: 'materialCode',
+			title: '物料编码',
+		    },{
+			field: 'materialDescription',
+			title: '物料名称',
+			},{
+			   field: 'extensionDescription',
+			   title: '扩展描述',
+		   },{
+			   field: 'mdUnits',
+			   title: '单位',
+		   },{
+			   field: 'mdTotalAmount',
+			   title: '总量',
+		   },{
+			   field: 'mdSingleWeight',
+			   title: '单重/kg',
+		   },{
+			   field: 'mdTotalWeight',
+			   title: '总重/吨',
+		   },{
+			   field: 'meTheParty',
+			   title: '甲乙供',
+		   },{
+			   field: 'mdText',
+			   title: '备注',
+		   }
+		 ]
+	});
+
+
+	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
+		  $('#informationTable').bootstrapTable("toggleView");
+		}
+
+
+
+
+	// 绑定查询按扭
+	$("#search").click("click", function() {
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+
+	// 绑定查询重置按扭
+	 $("#reset").click("click", function() {
+		  $("#searchForm  input").val("");
+		  $("#searchForm  select").val("");
+		  $('#informationTable').bootstrapTable('refresh');
+		});
+
+		$("#dq").click("click", function () {
+			$("#div1").attr("style", "display:block;");
+			$("#div2").attr("style", "display:none;");
+		});
+		$("#qd").click("click", function () {
+			$("#div1").attr("style", "display:none;");
+			$("#div2").attr("style", "display:block;");
+			var item = "";
+			$('input[name="need"]').each(function(){
+				var val = $(this).val();
+				console.log("val"+val);
+				if (val!=null&&val!=""&&val>0) {
+					item += $(this).attr("id")+":"+val+";"
+					console.log("item"+item);
+				}
+			})
+			$('#informationTable').bootstrapTable('refresh', {
+				query:
+					{
+						item: item
+					}
+			});
+		});
+
+	$("#agree").click(function () {
+		var item = "";
+		$('input[name="need"]').each(function(){
+			var val = $(this).val();
+			console.log("val"+val);
+			if (val!=null&&val!=""&&val>0) {
+				item += $(this).attr("id")+":"+val+";"
+				console.log("item"+item);
+			}
+		})
+		if (item == null || item == "") {
+			jp.error("请填写模块表");
+		} else {
+			jp.prompt("审核通过", function (message) {
+				jp.post("${ctx}/act/task/pickIng",
+                    {
+                        "taskId": "${showList.act.taskId}",
+                        "taskName": "${showList.act.taskName}",
+                        "taskDefKey": "${showList.act.taskDefKey}",
+                        "procInsId": "${showList.act.procInsId}",
+                        "procDefId": "${showList.act.procDefId}",
+                        "selectNumber":item,
+                        "flag": "yes",
+                        "comment": window.encodeURI(message)
+                    },
+                    function (data) {
+                        if(data.success){
+                            jp.success(data.msg);
+                            jp.go("${ctx}/act/task/todo")
+                        }
+                    })
+			});
+		}
+	});
+
+  function getIdSelections() {
+        return $.map($("#informationTable").bootstrapTable('getSelections'), function (row) {
+            return row.id
+        });
+    }
+
+
+
+    //刷新列表
+  function refresh() {
+      $('#informationTable').bootstrapTable('refresh');
+  }
+
+
+	function addRow(list, idx, tpl, row){
+		$(list).append(Mustache.render(tpl, {
+			idx: idx, delBtn: true, row: row
+		}));
+	}
+})
+
+</script>

+ 83 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.jsp

@@ -0,0 +1,83 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目管理列表页</title>
+	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@include file="pickIng.js" %>
+	<style type="text/css">
+		#div1{
+			margin-top: 10px;
+		}
+	</style>
+</head>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<div class="panel-heading">
+		<h3 class="panel-title">模块表展示</h3>
+	</div>
+		<div class="panel-body">
+			<div>
+				<ul class="nav nav-tabs">
+					<li role="presentation"><a id="dq" href="javascript:void(0)">填写需要材料</a></li>
+					<li role="presentation"><a id="qd" href="javascript:void(0)">查看领料清单</a></li>
+				</ul>
+			</div>
+			<!-- 表格 -->
+			<div id="div1">
+				<table class="table table-view">
+					<thead>
+					<c:forEach items="#{pickListList}" var="items" varStatus="status">
+						<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+						<tr>
+						</c:if>
+							<td colspan="4">${items.name}</td>
+						<c:if test="${status.count % 1 eq 0 || status.count eq 5}">
+						</tr>
+						</c:if>
+						<c:forEach items="#{items.mdTheClassList}" var="items" varStatus="status">
+							<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
+								<tr>
+							</c:if>
+							<td colspan="4"><a href="${items.id}">${items.name}</a></td>
+							<c:if test="${status.count % 1 eq 0 || status.count eq 5}">
+								</tr>
+							</c:if>
+							<c:forEach items="${items.mdSmallClassList}" var="itemss" varStatus="status">
+								<c:if test="${status.count eq 1 || (status.count-1) % 4 eq 0}">
+									<tr>
+								</c:if>
+									<td>${itemss.name}:&nbsp;&nbsp;<input placeholder="0" type="number" min="0" name="need" id="${itemss.id}"/>&nbsp;${itemss.mdUnit}</td>
+								<c:if test="${status.count % 4 eq 0 || status.count eq 4}">
+									</tr>
+								</c:if>
+							</c:forEach>
+						</c:forEach>
+					</c:forEach>
+					</thead>
+				</table>
+				<div class="row">
+					<div class="col-sm-3"></div>
+					<div class="col-sm-6">
+						<div class="form-group text-center">
+							<input id="agree" class="btn  btn-primary btn-lg btn-parsley" type="submit" value="确认提交" />&nbsp;
+						</div>
+					</div>
+				</div>
+			</div>
+			<div id="div2" style="display: none">
+				<table id="informationTable"   data-toolbar="#toolbar" class="table"></table>
+			</div>
+			<c:if test="${not empty showList.id}">
+				<act:flowChart procInsId="${showList.act.procInsId}"/>
+				<act:histoicFlow procInsId="${showList.act.procInsId}" />
+			</c:if>
+		</div>
+
+	</div>
+	</div>
+</body>
+</html>