Explorar o código

1、经理查看六要素
2、管理员新增公出审核人员
3、公出打卡列表修改审核列表
4、修改项目统计列表

anderx %!s(int64=4) %!d(string=hai) anos
pai
achega
6c1f7c041f
Modificáronse 24 ficheiros con 1235 adicións e 1383 borrados
  1. 23 0
      .idea/free-mybatis-generator-config.xml
  2. 0 1
      src/main/java/com/goafanti/admin/controller/AdminSuperviserApiController.java
  3. 0 7
      src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java
  4. 12 10
      src/main/java/com/goafanti/common/bo/EmailBo.java
  5. 10 0
      src/main/java/com/goafanti/common/bo/paymentNodeEmailBo.java
  6. 0 2
      src/main/java/com/goafanti/common/controller/PublicController.java
  7. 115 174
      src/main/java/com/goafanti/common/dao/AdminMapper.java
  8. 550 777
      src/main/java/com/goafanti/common/mapper/AdminMapper.xml
  9. 5 4
      src/main/java/com/goafanti/common/mapper/PaymentNodeMapper.xml
  10. 8 8
      src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml
  11. 22 10
      src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml
  12. 15 13
      src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml
  13. 4 2
      src/main/java/com/goafanti/common/mapper/UserFollowMapper.xml
  14. 316 310
      src/main/java/com/goafanti/common/model/Admin.java
  15. 12 9
      src/main/java/com/goafanti/common/task/OrderDunTask.java
  16. 10 0
      src/main/java/com/goafanti/order/bo/InputArrearsDunListBo.java
  17. 4 6
      src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java
  18. 3 12
      src/main/java/com/goafanti/order/controller/ProjectStatisticsApiController.java
  19. 2 5
      src/main/java/com/goafanti/order/service/OrderNewService.java
  20. 2 1
      src/main/java/com/goafanti/order/service/ProjectStatisticsService.java
  21. 18 14
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  22. 1 1
      src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java
  23. 39 17
      src/main/java/com/goafanti/order/service/impl/ProjectStatisticsServiceImpl.java
  24. 64 0
      src/main/java/com/goafanti/user/bo/outUserFollowList.java

+ 23 - 0
.idea/free-mybatis-generator-config.xml

@@ -3,6 +3,29 @@
   <component name="PersistentConfig">
     <option name="historyConfigList">
       <map>
+        <entry key="admin">
+          <value>
+            <Config>
+              <option name="comment" value="true" />
+              <option name="daoMvnPath" value="src/main/java" />
+              <option name="daoName" value="AdminMapper" />
+              <option name="daoPackage" value="com.goafanti.common.dao" />
+              <option name="daoPostfix" value="Mapper" />
+              <option name="modelMvnPath" value="src/main/java" />
+              <option name="modelName" value="Admin" />
+              <option name="modelPackage" value="com.goafanti.common.model" />
+              <option name="name" value="admin" />
+              <option name="overrideJava" value="true" />
+              <option name="overrideXML" value="true" />
+              <option name="primaryKey" value="" />
+              <option name="projectFolder" value="$PROJECT_DIR$" />
+              <option name="tableName" value="admin" />
+              <option name="useSchemaPrefix" value="true" />
+              <option name="xmlMvnPath" value="src/main/java" />
+              <option name="xmlPackage" value="com.goafanti.common.mapper" />
+            </Config>
+          </value>
+        </entry>
         <entry key="organization_identity">
           <value>
             <Config>

+ 0 - 1
src/main/java/com/goafanti/admin/controller/AdminSuperviserApiController.java

@@ -322,7 +322,6 @@ public class AdminSuperviserApiController extends CertifyApiController {
 	
 	/**
 	 * 查询下级或平级
-	 * @param subOrSame
 	 * @return
 	 */
 	@RequestMapping(value = "/selectAdminByOrg",method = RequestMethod.GET)

+ 0 - 7
src/main/java/com/goafanti/admin/service/impl/NewAdminServiceImpl.java

@@ -284,13 +284,6 @@ public class NewAdminServiceImpl extends BaseMybatisDao<AdminMapper> implements
 	@Override
 	public Admin selectAllByid(String id) {
 		Admin admin=adminMapper.selectAllByid(id);
-		admin.setSuperior(adminMapper.selectNameByid(admin.getSuperiorId()));
-		if(admin.getDistrict()==null){
-			admin.setDistrict(" ");
-		}
-		if(admin.getHeadPortraitUrl()==null){
-			admin.setHeadPortraitUrl("");
-		}
 		return admin;
 	}
 

+ 12 - 10
src/main/java/com/goafanti/common/bo/EmailBo.java

@@ -36,8 +36,6 @@ public class EmailBo {
 	 * @param addressee
 	 * @param deptname
 	 * @param sender
-	 * @param userName
-	 * @param adminName
 	 * @param patentName
 	 * @param patentNo
 	 * @param amount
@@ -66,6 +64,7 @@ public class EmailBo {
 	 * @param sender		发起人
 	 * @param content		内容
 	 * @param orderNo		订单编号
+	 * @param contractNo	合同编号
 	 * @param date			时间
 	 * @param adminName		接收人名字
 	 * @param userName		用户名称
@@ -74,7 +73,7 @@ public class EmailBo {
 	 * @return 
 	 */
 	public  EmailBo(String subject, String address, String deptname, String sender,
-			String content , String orderNo,String date ,String dunStatusName,String adminName,String userName,Integer type,Integer approval) {
+			String content , String orderNo,String contractNo,String date ,String dunStatusName,String adminName,String userName,Integer type,Integer approval) {
 		if(approval !=null&&approval!=0)this.subject = "[特批]"+subject;
 		else this.subject = subject;
 		this.address = address;
@@ -82,8 +81,8 @@ public class EmailBo {
 		this.deptname = deptname;
 		this.sender = sender;
 		if(type==0)this.content = setGeneralFormat();
-		if(type==1)this.content=setDunFormat( addressee, sender, deptname,orderNo, date , dunStatusName,adminName,userName,0);
-		if(type==2)this.content=setDunFormat( addressee, sender, deptname,orderNo, date , dunStatusName,adminName,userName,1);
+		if(type==1)this.content=setDunFormat( addressee, sender, deptname,orderNo,contractNo, date , dunStatusName,adminName,userName,0);
+		if(type==2)this.content=setDunFormat( addressee, sender, deptname,orderNo,contractNo, date , dunStatusName,adminName,userName,1);
 	}
 	
 	/**
@@ -122,7 +121,7 @@ public class EmailBo {
 	
 
 
-	public String setDunFormat(String addressee,String sender,String deptname,String orderNo,String date ,String dunStatusName,String adminName,
+	public String setDunFormat(String addressee,String sender,String deptname,String orderNo,String contractNo,String date ,String dunStatusName,String adminName,
 			String userName,int i) {
 		String str1 = "",str2= "",str3= "";
 		if (i==0) str1="催收时间";str2="催收科目";str3="催收状态";
@@ -172,10 +171,13 @@ public class EmailBo {
 				"              </tr>\r\n" + 
 				"              <tr>\r\n" + 
 				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\">客户名称:"+userName+"</td>\r\n" + 
-				"              </tr>\r\n" + 
-				"               <tr>\r\n" + 
-				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\">订单编号:"+orderNo+"</td>\r\n" + 
-				"              </tr>\r\n" + 
+				"              </tr>\r\n" +
+				"               <tr>\r\n" +
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\">订单编号:"+orderNo+"</td>\r\n" +
+				"              </tr>\r\n" +
+				"               <tr>\r\n" +
+				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\">合同编号:"+contractNo+"</td>\r\n" +
+				"              </tr>\r\n" +
 				"               <tr>\r\n" + 
 				"                <td width=\"720\" height=\"24\" colspan=\"2\" style=\"padding-left:40px;\">"+str1+":"+date+"</td>\r\n" + 
 				"              </tr>\r\n" + 

+ 10 - 0
src/main/java/com/goafanti/common/bo/paymentNodeEmailBo.java

@@ -6,7 +6,17 @@ public class paymentNodeEmailBo {
 	private String salesmanName;
 	private String email;
 	private String orderNo;
+	private String contractNo;
 	private String userName;
+
+	public String getContractNo() {
+		return contractNo;
+	}
+
+	public void setContractNo(String contractNo) {
+		this.contractNo = contractNo;
+	}
+
 	public String getSalesmanId() {
 		return salesmanId;
 	}

+ 0 - 2
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -304,11 +304,9 @@ public class PublicController extends CertifyApiController {
 	/**
 	 * 下载文件
 	 * 
-	 * @param res
 	 * @param fileName
 	 * @param response
 	 * @param path
-	 * @param request
 	 * @return
 	 */
 	@RequestMapping(value = "/downloadFile", method = RequestMethod.GET)

+ 115 - 174
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -1,203 +1,144 @@
 package com.goafanti.common.dao;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-
 import com.goafanti.admin.bo.AdminContacts;
 import com.goafanti.admin.bo.AdminListBo;
-import com.goafanti.app.bo.AppAdminListBo;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.Role;
-import com.goafanti.core.mybatis.page.Pagination;
-import com.goafanti.common.model.AdminExample;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface AdminMapper {
+    int deleteByPrimaryKey(String id);
+
+    int insert(Admin record);
+
+    int insertSelective(Admin record);
+
+    Admin selectByPrimaryKey(String id);
+
+    int updateByPrimaryKeySelective(Admin record);
+
+    int updateByPrimaryKey(Admin record);
+    Admin selectByMobile(String mobile);
+
+    List<Role> selectRolesByPrimaryKey(String uid);
+
+    List<Admin> selectCognizanceConsultant();
+
+    List<Admin> selectCognizancePrincipal();
+
+    List<Admin> selectPatentAuthor();
+
+    List<Admin> selectPatentPrincipal();
+
+    List<Admin> selectCopyrightConsultant();
+
+    List<Admin> selectCopyrightPrincipal();
+
+    List<Admin> selectTechprojectConsultant();
+
+    List<Admin> selectTechprojectPrincipal();
+
+    List<String> selectRoleByPrimaryKey(String uid);
+
+    List<Admin> selectAccoutManager();
+
+    List<Admin> selectTechnician();
+
+    List<Admin> selectSalesman();
+
+    List<Admin> selectContractManager();
+
+    List<Admin> selectTechBroder();
+
+    List<Admin> listAdminSelectBySuperAdmin();
+
+    List<Admin> listAdminSelectByAreaAdmin(@Param("provinceList")List<Integer> provinceList, @Param("cityList")List<Integer> cityList);
+
+    List<Admin> listAdminByName(@Param("name")String name);
+
+
+    int insertn(Admin record);
+
+    String selectUserNoBySuperiorId(String superiorId);
+
+    int selectCountBySuperiorId(String superiorId);
+
+    String selectIdByUserNo(String userNo);
+
+    Admin selectAllByid(@Param("id") String id);
+
+    String selectNameByid(String id);
+
+    List<String>selectRolesByUid(String id);
+
+    List<String>selectRolesIdByUid(String id);
+
+    String selectStatusByMobile(@Param("mobile")String mobile);
+
+    int deleteById(String id);
+
+    List<Admin> selectIDNBySuperiorId(String superiorId);
+
+    String selectUserNoById(String superiorId);
+
+    int updateByUserNo(Admin record);
+
+    List<String>selectIdBySuperiorId(String superiorId);
+
     /**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	long countByExample(AdminExample example);
+     * 查询下级人员
+     * @param adminId
+     * @return
+     */
+    List<AdminListBo> selectSubList(@Param("adminId")String adminId);
 
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int deleteByExample(AdminExample example);
+    /**
+     * @return
+     */
+    Admin selectAdminByRoleId(@Param("roleId")String roleId);
+    /**
+     * 查询部门下的员工
+     * @param departmentId
+     * @param name
+     * @return
+     */
+    List<AdminListBo> selectDepartmentStaff(String departmentId, String name);
 
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int deleteByPrimaryKey(String id);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int insert(Admin record);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int insertSelective(Admin record);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	List<Admin> selectByExample(AdminExample example);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	Admin selectByPrimaryKey(String id);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int updateByExampleSelective(@Param("record") Admin record, @Param("example") AdminExample example);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int updateByExample(@Param("record") Admin record, @Param("example") AdminExample example);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int updateByPrimaryKeySelective(Admin record);
-
-	/**
-	 * This method was generated by MyBatis Generator. This method corresponds to the database table admin
-	 * @mbg.generated  Fri Jun 22 14:12:55 CST 2018
-	 */
-	int updateByPrimaryKey(Admin record);
-
-	Admin selectByMobile(String mobile);
-
-	List<Role> selectRolesByPrimaryKey(String uid);
-
-	List<Admin> selectCognizanceConsultant();
-	
-	List<Admin> selectCognizancePrincipal();
-
-	List<Admin> selectPatentAuthor();
-
-	List<Admin> selectPatentPrincipal();
-
-	List<Admin> selectCopyrightConsultant();
-
-	List<Admin> selectCopyrightPrincipal();
-
-	List<Admin> selectTechprojectConsultant();
-
-	List<Admin> selectTechprojectPrincipal();
-
-	List<String> selectRoleByPrimaryKey(String uid);
-
-	List<Admin> selectAccoutManager();
-
-	List<Admin> selectTechnician();
-
-	List<Admin> selectSalesman();
-
-	List<Admin> selectContractManager();
-
-	List<Admin> selectTechBroder();
-
-	List<Admin> listAdminSelectBySuperAdmin();
-
-	List<Admin> listAdminSelectByAreaAdmin(@Param("provinceList")List<Integer> provinceList, @Param("cityList")List<Integer> cityList);
-	
-	List<Admin> listAdminByName(@Param("name")String name);
-	
-	
-	int insertn(Admin record);
-	
-	String selectUserNoBySuperiorId(String superiorId);
-	
-	int selectCountBySuperiorId(String superiorId);
-	
-	String selectIdByUserNo(String userNo);
-	
-	Admin selectAllByid(String id);
-	
-	String selectNameByid(String id);
-	
-	List<String>selectRolesByUid(String id);
-	
-	List<String>selectRolesIdByUid(String id);
-	
-	String selectStatusByMobile(@Param("mobile")String mobile);
-	
-	int deleteById(String id);
+    Admin selectAdminName(@Param("name")String name);
 
-	List<Admin> selectIDNBySuperiorId(String superiorId);
-	
-	String selectUserNoById(String superiorId);
-	
-	int updateByUserNo(Admin record);
-	
-	List<String>selectIdBySuperiorId(String superiorId);
-	
-	/**
-	 * 查询下级人员
-	 * @param adminId
-	 * @return
-	 */
-	List<AdminListBo> selectSubList(@Param("adminId")String adminId);
-	
-	/**
-	 * @return
-	 */
-	Admin selectAdminByRoleId(@Param("roleId")String roleId);
-	/**
-	 * 查询部门下的员工
-	 * @param departmentId
-	 * @param name
-	 * @return
-	 */
-	List<AdminListBo> selectDepartmentStaff(String departmentId, String name);
-	
-	Admin selectAdminName(@Param("name")String name);
+    List<Admin> selectAllAdmin(@Param("depId")String depId);
 
-	List<Admin> selectAllAdmin(@Param("depId")String depId);
+    int updateLockIds(@Param("lockIds")String lockIds);
 
-	int updateLockIds(@Param("lockIds")String lockIds);
 
+    int getCountById(String id);
+    AdminListBo getDeptNameByAid(String id);
 
-	int getCountById(String id);
-	AdminListBo getDeptNameByAid(String id);
+    List<Admin> getAdminRoleList(String roleName);
 
-	List<Admin> getAdminRoleList(String roleName);
+    int addAdminContacts(AdminContacts a);
 
-	int addAdminContacts(AdminContacts a);
+    int deleteFrequentContacts(String id);
 
-	int deleteFrequentContacts(String id);
+    List<String> getaidFrequentContacts(String id);
 
-	List<String> getaidFrequentContacts(String id);
+    List<String> listNameByDepAndName(@Param("depId")String depId,@Param("roleName")String roleName);
 
-	List<String> listNameByDepAndName(@Param("depId")String depId,@Param("roleName")String roleName);
+    List<String> selectBySuperId(String aid);
 
-	List<String> selectBySuperId(String aid);
+    Admin selectFinanceAdminByOrderDep(String orderDep);
 
-	Admin selectFinanceAdminByOrderDep(String orderDep);
+    String getPermission(String transferId);
 
-	String getPermission(String transferId);
+    List<String> selectDepIdWithSpuerId(String superId);
 
-	List<String> selectDepIdWithSpuerId(String superId);
 
+    List<String> getAdminRoleListByAid(String id);
 
-	List<String> getAdminRoleListByAid(String id);
+    Admin selectByOpeid(String openid);
 
-	Admin selectByOpeid(String openid);
+    Admin selectGetSuper(String aid);
 
-	Admin selectGetSuper(String aid);
-	
-}
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 550 - 777
src/main/java/com/goafanti/common/mapper/AdminMapper.xml


+ 5 - 4
src/main/java/com/goafanti/common/mapper/PaymentNodeMapper.xml

@@ -473,10 +473,11 @@
   </select>
   
   <select id="selectBytidGetEmail" resultType="com.goafanti.common.bo.paymentNodeEmailBo">
-  select a.tid,b.order_no orderNo,c.salesman_id salesmanId,c.salesman_name salesmanName,c.buyer_name userName,d.email from payment_node a 
-left join t_order_task b on a.tid=b.id
-left join t_order_mid c on b.order_no=c.order_no left join admin d on  c.salesman_id=d.id
-where a.tid= #{tid} limit 1
+    select a.tid,b.order_no orderNo,o.contract_no contractNo ,c.salesman_id salesmanId, c.salesman_name salesmanName,
+           c.buyer_name userName,d.email
+    from payment_node a left join t_order_task b on a.tid=b.id left join t_order_new o on b.order_no =o.order_no
+    left join t_order_mid c on b.order_no=c.order_no left join admin d on  c.salesman_id=d.id
+    where a.tid= #{tid} limit 1
   </select>
   
    <select id="selectByTidAndCid" resultType="com.goafanti.organization.bo.OutPaymentNode">

+ 8 - 8
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -477,16 +477,16 @@
   </insert>
 
   <select id="listPublicRelease" resultType="com.goafanti.weChat.bo.OutPublicReleaseList">
-select  a.id,b.nickname ,c.name  aname,date_format(a.release_start,'%Y-%m-%d %H:%i:%S') releaseStarts,a.user_name userName,
-date_format(a.release_end ,'%Y-%m-%d %H:%i:%S') releaseEnds,date_format(a.create_time ,'%Y-%m-%d %H:%i:%S') createTimes,a.status,
-a.latitude ,a.longitude ,a.clock_in clockIn
-from public_release a left join `user` b on a.uid =b.id left join admin c on a.aid =c.id
-	where 1=1
+  select  a.id,b.nickname ,c.name  aname,date_format(a.release_start,'%Y-%m-%d %H:%i:%S') releaseStarts,a.user_name userName,
+  date_format(a.release_end ,'%Y-%m-%d %H:%i:%S') releaseEnds,date_format(a.create_time ,'%Y-%m-%d %H:%i:%S') createTimes,a.status,
+  a.latitude ,a.longitude ,a.clock_in clockIn
+  from public_release a left join `user` b on a.uid =b.id left join admin c on a.aid =c.id
+      where 1=1
 	<if test="type==0">
 	and a.aid= #{aid}
 	</if>
 	<if test="type==1">
-	and c.superior_id = #{aid}
+	and c.reviewer = #{aid}
 	</if>
 	<if test="clockTime !=null">
 	and a.release_start &lt; #{clockTime} and a.release_end &gt; #{clockTime}
@@ -503,7 +503,7 @@ from public_release a left join `user` b on a.uid =b.id left join admin c on a.a
 	<if test="clockIn !=null">
 	and a.clock_in = #{clockIn}
 	</if>
-	ORDER BY (case when a.status=1 then 1 else 2 end),a.status ,a.create_time
+	ORDER BY (case when a.status=1 then 1 else 2 end),a.status ,a.create_time desc
   	<if test="page_sql!=null">
 			${page_sql}
 	</if>
@@ -517,7 +517,7 @@ from public_release a left join `user` b on a.uid =b.id left join admin c on a.a
 	and a.aid= #{aid}
 	</if>
 	<if test="type==1">
-	and c.superior_id = #{aid}
+    and c.reviewer = #{aid}
 	</if>
 	<if test="clockTime !=null">
 	and a.release_start &lt; #{clockTime} and a.release_end &gt; #{clockTime}

+ 22 - 10
src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml

@@ -1270,10 +1270,10 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   </select>
   <!-- 通过订单编号获得订单的负责人(营销员) -->
   <select id="getSaleIdByOno" parameterType="java.lang.String" resultType="com.goafanti.order.bo.TOrderNewBo">
-  	select salesman_id as salesmanId, a.name as salesmanName, a.email ,u.nickname as userName
-  	from t_order_new o
-  		left join admin a on o.salesman_id = a.id 
-  		left join `user` u on u.id = o.buyer_id
+    select order_no orderNo ,salesman_id as salesmanId, a.name as salesmanName,
+           o.contract_no contractNo,a.email ,u.nickname as userName
+    from t_order_new o left join admin a on o.salesman_id = a.id
+           left join `user` u on u.id = o.buyer_id
   		where order_no = #{_parameter,jdbcType=VARCHAR}
   </select>
   <select id="selectOrderNewListByPage" resultType="com.goafanti.order.bo.TOrderNewBo">
@@ -1522,9 +1522,12 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	<if test="adminName != null">
   	and tm.salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
   	</if>
-  	<if test="orderNo != null">
-  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
-  	</if>
+    <if test="orderNo != null">
+      and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%')
+    </if>
+    <if test="contractNo != null">
+      and a.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
+    </if>
   	<if test="depId != null">
   	and b.order_dep= #{depId,jdbcType=VARCHAR}
   	</if>
@@ -1567,6 +1570,9 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
   	<if test="orderNo != null">
   	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
   	</if>
+     <if test="contractNo != null">
+       and a.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
+     </if>
   	<if test="depId != null">
   	and b.order_dep= #{depId,jdbcType=VARCHAR}
   	</if>
@@ -1799,9 +1805,12 @@ select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userNa
   	<if test="adminName != null">
   	and tm.salesman_name  like CONCAT('%',#{adminName,jdbcType=VARCHAR},'%')
   	</if>
-  	<if test="orderNo != null">
-  	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
-  	</if>
+    <if test="orderNo != null">
+      and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%')
+    </if>
+    <if test="contractNo != null">
+      and b.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
+    </if>
   	<if test="depId != null">
   	and b.order_dep= #{depId,jdbcType=VARCHAR}
   	</if>
@@ -1839,6 +1848,9 @@ select a.id, b.contract_no contractNo,a.order_no as orderNo,c.nickname as userNa
   	<if test="orderNo != null">
   	and a.order_no like CONCAT('%',#{orderNo,jdbcType=VARCHAR},'%') 
   	</if>
+    <if test="contractNo != null">
+      and b.contract_no like CONCAT('%',#{contractNo,jdbcType=VARCHAR},'%')
+    </if>
   	<if test="depId != null">
   	and b.order_dep= #{depId,jdbcType=VARCHAR}
   	</if>

+ 15 - 13
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -1875,9 +1875,9 @@ date_format(e.create_time ,'%Y-%m-%d')creteTime
 	ifnull(x.wcs,0) completeCount, ifnull(x.gss,0) publicityCount,
 	</if>
 	x.amountCount,x.costAmount,x.profit
-	from (select dep.province, ad.department_id,bp.cid ,sum(kcs.cq) kcs,sum(pds.cq)pds,
+	from (select dep.province, ad.department_id,bp.cid ,sum(kcs.kcs) kcs,sum(kcs.pds)pds,
 	<if test="status==1">
-	sum(wcs.cq)wcs, sum(lxs.cq)lxs,sum(ccs.cq)ccs,sum(wtg.cq)wtg,
+	sum(wcs.wcs)wcs, sum(wcs.lxs)lxs,sum(wcs.ccs)ccs,sum(wcs.wtg)wtg,
 	</if>
 	<if test="status==2 or status==3">
 	sum(tj.sls) sls,sum(tj.wjs)wjs,sum(tj.sqs)sqs, sum(tj.bhs)bhs,
@@ -1889,19 +1889,19 @@ date_format(e.create_time ,'%Y-%m-%d')creteTime
 	sum(tj.sqs) sqs,sum(tj.bhs) bhs,sum(tj.xzs) xzs,
 	</if>
 	<if test="status==0">
-	sum(wcs.cq)wcs, sum(gss.cq)gss,
+	sum(wcs.wcs)wcs, sum(wcs.gss)gss,
 	</if>
 	sum(a.commodity_price)amountCount,sum(ttm.cost_amount)costAmount, (sum(a.commodity_price)-sum(ttm.cost_amount))profit
-	from t_order_task a left join t_order_new b on a.order_no =b.order_no left join t_task_mid ttm on a.id=ttm.tid 
+	from t_order_task a left join t_order_new b on a.order_no =b.order_no and b.delete_sign in(0,2) left join t_task_mid ttm on a.id=ttm.tid
 	left join department dep on b.order_dep =dep.id  inner join admin ad on a.task_receiver =ad.id
 	left join business_project bp on a.commodity_id =bp.id 
-	left join (select id,commodity_quantity cq from t_order_task where project_status BETWEEN  1 and 3)kcs on a.id=kcs.id
-	left join (select id,commodity_quantity cq from t_order_task where task_status in (1,2,3))pds on a.id=pds.id
+	left join (select id,if(project_status BETWEEN  1 and 3,commodity_quantity,0) kcs,
+     if(task_status in (1,2,3),commodity_quantity,0) pds from t_order_task)kcs on a.id=kcs.id
+
 	<if test="status==1">
-	left join (select id,commodity_quantity cq from t_order_task where project_status &gt; 3)wcs on a.id=wcs.id
-	left join (select id,commodity_quantity cq from t_order_task where  set_up_status =1)lxs on a.id=lxs.id
-	left join (select id,commodity_quantity cq from t_order_task where spot_check_status in (1,2))ccs on a.id=ccs.id
-	left join (select id,commodity_quantity cq from t_order_task where spot_check_status =1)wtg on a.id=wtg.id
+	left join (select id,if(project_status > 3,commodity_quantity,0) wcs, if( set_up_status=1,commodity_quantity,0) lxs,
+      if(spot_check_status in (1,2),commodity_quantity,0) ccs, if( spot_check_status =1,commodity_quantity,0) wtg
+      from t_order_task )wcs on a.id=wcs.id
 	</if>
 	<if test="status==2 or status==3">
 	left join (select tid ,accept_count sls,end_count wjs,authorize_count sqs,reject_count bhs from t_task_mid 
@@ -1915,8 +1915,10 @@ date_format(e.create_time ,'%Y-%m-%d')creteTime
 	where apply_count &gt; 0)tj on a.id=tj.tid
 	</if>
 	<if test="status==0">
-	left join (select id,commodity_quantity cq from t_order_task where project_status &gt; 3)wcs on a.id=wcs.id
-	left join (select id,commodity_quantity cq from t_order_task where  if_publicity=1)gss on a.id=gss.id
+	left join (select id,if(project_status > 3,commodity_quantity,0) wcs,
+      if( if_publicity=1,commodity_quantity,0) gss
+      from t_order_task )wcs on a.id=wcs.id
+
 	</if>
 	where a.split_status in(0,2)
 	<if test="startDate != null and endDate != null">
@@ -1947,7 +1949,7 @@ inner join department de on x.department_id=de.id left join business_category bc
   <select id="selectProvincialStatisticsCount" resultType="java.lang.Integer">
   select count(*)
 	from (select dep.province, ad.department_id,bp.cid 
-	from t_order_task a left join t_order_new b on a.order_no =b.order_no left join t_task_mid ttm on a.id=ttm.tid 
+	from t_order_task a left join t_order_new b on a.order_no =b.order_no  and b.delete_sign in(0,2) left join t_task_mid ttm on a.id=ttm.tid
 	left join department dep on b.order_dep =dep.id  inner join admin ad on a.task_receiver =ad.id
 	left join business_project bp on a.commodity_id =bp.id 
 	where   a.split_status in(0,2) 

+ 4 - 2
src/main/java/com/goafanti/common/mapper/UserFollowMapper.xml

@@ -271,8 +271,10 @@
       select b.nickname,b.share_type shareType ,b.channel,b.id,date_format(b.transfer_time,'%Y-%m-%d %H:%i:%s')startTimes,
       a.contact_type contactType,a.follow_name followName ,a.follow_dep followDep,a.`result` ,a.follow_count followCount,
       date_format(a.create_time ,'%Y-%m-%d %H:%i:%s')followTimes,a.guidance_name guidanceName, a.guidance ,
-      date_format(a.guidance_time,'%Y-%m-%d %H:%i:%s') guidanceTimes
-      from user_follow a left join `user`b on a.uid =b.id
+      date_format(a.guidance_time,'%Y-%m-%d %H:%i:%s') guidanceTimes,c.contacts ,c.contact_mobile contactMobile,
+      c.location_province locationProvince ,c.location_city locationCity ,c.location_area locationArea,
+      c.intended_project intendedProject ,c.business_scope businessScope
+      from user_follow a left join `user`b on a.uid =b.id left join organization_identity c on a.uid=c.uid
       where 1=1
       <if test="shiroType == 0">
       and a.aid= #{aid}

+ 316 - 310
src/main/java/com/goafanti/common/model/Admin.java

@@ -1,325 +1,331 @@
 package com.goafanti.common.model;
 
-import java.util.Date;
-
+import com.goafanti.common.constant.AFTConstants;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.goafanti.common.constant.AFTConstants;
+import java.io.Serializable;
+import java.util.Date;
 
+/**
+ * admin
+ * @author 
+ */
 public class Admin extends BaseModel implements AftUser {
-	private static final long	serialVersionUID	= 1L;
-
-	private String				id;
-
-	/**
-	 * 手机�?(登录帐号)
-	 */
-	private String				mobile;
-
-	/**
-	 * 用户�?
-	 */
-	private String				name;
-
-	/**
-	 * 密码
-	 */
-	private String				password;
-
-	/**
-	 * 邮箱
-	 */
-	private String				email;
-
-	/**
-	 * 创建时间
-	 */
-	private Date				createTime;
-
-	/**
-	 * 员工工号
-	 */
-	private Integer				number;
-
-	/**
-	 * �?在省�?
-	 */
-	private Integer				province;
-	/**
-	 * 岗位
-	 */
-	private String				position;
-
-	/**
-	 * 上级管理用户ID
-	 */
-	private String				superiorId;
-	
-	/**
-	 * 上级管理用户名称
-	 */
-	private String	superior;
-
-	/**
-	 * �?在市
-	 */
-	private Integer				city;
-	
-	/**
-	 * 部门管理
-	 */
-	private String 				departmentId;
-	/**
-	 * 用户状�??
-	 */
-	private String 				status;
-	/**
-	 * 用户编号
-	 */
-	private String 				userNo;
-	/**
-	 * 职务
-	 */
-	private String 				duty;
-	
-	/**
-	 * 地区
-	 */
-	private String 				district;
-	
-	/**
-	 * 用户头像
-	 */
-	private String 				headPortraitUrl;	
-	
-	private String	openId;
-
-	/**
-	 * �?在市
-	 */
-	private Integer				type;
-
-	public void setType(Integer type) {
-		this.type = type;
-	}
-
-	/**
-	 * This field was generated by MyBatis Generator. This field corresponds to the database column admin.contact_mobile
-	 * @mbg.generated  Wed Jun 13 10:27:07 CST 2018
-	 */
-	private String contactMobile;
-
-	/**
-	 * This method was generated by MyBatis Generator. This method returns the value of the database column admin.id
-	 * @return  the value of admin.id
-	 * @mbg.generated  Wed Jun 13 10:27:07 CST 2018
-	 */
-	private Date lastLoginTime;
-	/**
-	 * This method was generated by MyBatis Generator. This method returns the value of the database column admin.contact_mobile
-	 * @return  the value of admin.contact_mobile
-	 * @mbg.generated  Wed Jun 13 10:27:07 CST 2018
-	 */
-	public String getContactMobile() {
-		return contactMobile;
-	}
-
-	/**
-	 * This method was generated by MyBatis Generator. This method sets the value of the database column admin.contact_mobile
-	 * @param contactMobile  the value for admin.contact_mobile
-	 * @mbg.generated  Wed Jun 13 10:27:07 CST 2018
-	 */
-	public void setContactMobile(String contactMobile) {
-		this.contactMobile = contactMobile;
-	}
-
-	
-	
-	public String getSuperior() {
-		return superior;
-	}
-
-	public void setSuperior(String superior) {
-		this.superior = superior;
-	}
-
-	public String getHeadPortraitUrl() {
-		return headPortraitUrl;
-	}
-
-	public void setHeadPortraitUrl(String headPortraitUrl) {
-		this.headPortraitUrl = headPortraitUrl;
-	}
-
-	public String getDistrict() {
-		return district;
-	}
-
-	public void setDistrict(String district) {
-		this.district = district;
-	}
-
-	public String getStatus() {
-		return status;
-	}
-
-	public void setStatus(String status) {
-		this.status = status;
-	}
-
-	public String getUserNo() {
-		return userNo;
-	}
-
-	public void setUserNo(String userNo) {
-		this.userNo = userNo;
-	}
-
-	public String getDuty() {
-		return duty;
-	}
-
-	public void setDuty(String duty) {
-		this.duty = duty;
-	}
-
-	public String getSuperiorId() {
-		return superiorId;
-	}
-
-	public void setSuperiorId(String superiorId) {
-		this.superiorId = superiorId;
-	}
-
-
-	public String getPosition() {
-		return position;
-	}
-
-	public void setPosition(String position) {
-		this.position = position;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	public String getMobile() {
-		return mobile;
-	}
-
-	public void setMobile(String mobile) {
-		this.mobile = mobile;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	@JsonIgnore
-	public String getPassword() {
-		return password;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public String getEmail() {
-		return email;
-	}
-
-	public void setEmail(String email) {
-		this.email = email;
-	}
-
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public Integer getNumber() {
-		return number;
-	}
-
-	public void setNumber(Integer number) {
-		this.number = number;
-	}
-
-
-	public Integer getProvince() {
-		return province;
-	}
+    private static final long	serialVersionUID	= 1L;
+
+    private String id;
+
+    /**
+     * 手机号(登录帐号)
+     */
+    private String mobile;
+
+    /**
+     * 用户名
+     */
+    private String name;
+
+    /**
+     * 密码
+     */
+    private String password;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    private Integer number;
+
+    /**
+     * 所在省份
+     */
+    private String province;
+
+    /**
+     * 职位
+     */
+    private String position;
+
+    /**
+     * 上级管理用户ID
+     */
+    private String superiorId;
+
+    /**
+     * 所在市
+     */
+    private String city;
+
+    /**
+     * 部门ID
+     */
+    private String departmentId;
+
+    /**
+     * 用户状态
+     */
+    private String status;
+
+    /**
+     * 用户编号
+     */
+    private String userNo;
+
+    /**
+     * 职务
+     */
+    private String duty;
+
+    /**
+     * 地区
+     */
+    private String district;
+
+    /**
+     * 用户头像地址
+     */
+    private String headPortraitUrl;
+
+    /**
+     * 联系电话
+     */
+    private String contactMobile;
+
+    /**
+     * 最后登录时间
+     */
+    private Date lastLoginTime;
+
+    /**
+     * 微信公共编号
+     */
+    private String openId;
+
+    /**
+     * 0普通 1营销 2财务 3咨询
+     */
+    private Integer type;
+
+    /**
+     * 公出审核人
+     */
+    private String reviewer;
+
+    /**
+     * 上级管理用户名称
+     */
+    private String	superior;
+    private String reviewerName;
+
+    public String getReviewerName() {
+        return reviewerName;
+    }
+
+    public void setReviewerName(String reviewerName) {
+        this.reviewerName = reviewerName;
+    }
+
+    public String getSuperior() {
+        return superior;
+    }
+
+    public void setSuperior(String superior) {
+        this.superior = superior;
+    }
+
+    // 创建时间
+    public String getCreateTimeFormattedDate() {
+        if (this.createTime == null) {
+            return null;
+        } else {
+            return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
+        }
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    @Override
+    public String getAid() {
+        return id;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Integer getNumber() {
+        return number;
+    }
+
+    public void setNumber(Integer number) {
+        this.number = number;
+    }
+
+    public String getProvince() {
+        return province;
+    }
+
+    public void setProvince(String province) {
+        this.province = province;
+    }
+
+    public String getPosition() {
+        return position;
+    }
+
+    public void setPosition(String position) {
+        this.position = position;
+    }
+
+    public String getSuperiorId() {
+        return superiorId;
+    }
+
+    public void setSuperiorId(String superiorId) {
+        this.superiorId = superiorId;
+    }
+
+    public String getCity() {
+        return city;
+    }
+
+    public void setCity(String city) {
+        this.city = city;
+    }
+
+    public String getDepartmentId() {
+        return departmentId;
+    }
+
+    public void setDepartmentId(String departmentId) {
+        this.departmentId = departmentId;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getUserNo() {
+        return userNo;
+    }
+
+    public void setUserNo(String userNo) {
+        this.userNo = userNo;
+    }
+
+    public String getDuty() {
+        return duty;
+    }
+
+    public void setDuty(String duty) {
+        this.duty = duty;
+    }
+
+    public String getDistrict() {
+        return district;
+    }
+
+    public void setDistrict(String district) {
+        this.district = district;
+    }
+
+    public String getHeadPortraitUrl() {
+        return headPortraitUrl;
+    }
+
+    public void setHeadPortraitUrl(String headPortraitUrl) {
+        this.headPortraitUrl = headPortraitUrl;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
 
-	public void setProvince(Integer province) {
-		this.province = province;
-	}
+    public Date getLastLoginTime() {
+        return lastLoginTime;
+    }
 
-	public Integer getCity() {
-		return city;
-	}
+    public void setLastLoginTime(Date lastLoginTime) {
+        this.lastLoginTime = lastLoginTime;
+    }
 
-	public void setCity(Integer city) {
-		this.city = city;
-	}
+    public String getOpenId() {
+        return openId;
+    }
 
-	public String getDepartmentId() {
-		return departmentId;
-	}
+    public void setOpenId(String openId) {
+        this.openId = openId;
+    }
 
-	public void setDepartmentId(String departmentId) {
-		this.departmentId = departmentId;
-	}
+    public Integer getType() {
+        return type;
+    }
 
-	// 创建时间
-	public String getCreateTimeFormattedDate() {
-		if (this.createTime == null) {
-			return null;
-		} else {
-			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDDHHMMSS);
-		}
-	}
+    public void setType(Integer type) {
+        this.type = type;
+    }
 
-	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {
-
-	}
+    public String getReviewer() {
+        return reviewer;
+    }
 
-	@JsonIgnore
-	@Override
-	public String getAid() {
-		return null;
-	}
-
-	@Override
-	public Integer getType() {
-		return this.type;
-	}
-
-	public Date getLastLoginTime() {
-		return lastLoginTime;
-	}
-
-	public void setLastLoginTime(Date lastLoginTime) {
-		this.lastLoginTime = lastLoginTime;
-	}
-
-	public String getOpenId() {
-		return openId;
-	}
-
-	public void setOpenId(String openId) {
-		this.openId = openId;
-	}
+    public void setReviewer(String reviewer) {
+        this.reviewer = reviewer;
+    }
 }

+ 12 - 9
src/main/java/com/goafanti/common/task/OrderDunTask.java

@@ -199,6 +199,8 @@ public class OrderDunTask {
 			for (TArrearsDun td : list) {
 				TOrderMid tm=tOrderMidMapper.selectByOrderNo(td.getOrderNo());
 				//如果欠款大于0则需要触发邮件
+				System.out.println(tm.toString());
+				System.out.println(tm.getOrderArrears());
 				if (tm.getOrderArrears().compareTo(new BigDecimal(0))>0) {
 					td.setDunStatus(1);
 					td.setStartTime(date);
@@ -342,15 +344,16 @@ public class OrderDunTask {
 	
 	private void addNotic(String orderNo, TArrearsDun td, Integer code) throws UnsupportedEncodingException, MessagingException {
 		TOrderNewBo b  = tOrderNewMapper.getSaleIdByOno(orderNo);
-			String str=NoticeStatus.getValueByCode(code)+": 订单编号 -"+orderNo+", 操作人: "+b.getSalesmanName()+".";
-			LoggerUtils.debug(getClass(), "/n"+str);
-			Notice n =new Notice();
-			n.setId(UUID.randomUUID().toString());
-			n.setAid(b.getSalesmanId());
-			n.setNoticeType(code);
-			n.setContent(str);
-			n.setReaded(0);//未读
-			asyncUtils.addNotice(n);
+		StringBuffer str =new StringBuffer();
+		str=str.append(b.getUserName()).append(", 合同编号[").append(b.getContractNo())
+				.append(", 订单编号-").append(orderNo).append(", 操作人: ").append(b.getSalesmanName()).append("。");
+		Notice n =new Notice();
+		n.setId(UUID.randomUUID().toString());
+		n.setAid(b.getSalesmanId());
+		n.setNoticeType(code);
+		n.setContent(str.toString());
+		n.setReaded(0);//未读
+		asyncUtils.addNotice(n);
 	}
 
 

+ 10 - 0
src/main/java/com/goafanti/order/bo/InputArrearsDunListBo.java

@@ -3,6 +3,7 @@ package com.goafanti.order.bo;
 public class InputArrearsDunListBo {
 	private String name;
 	private String  orderNo;
+	private String contractNo;
 	private String  starTime;
 	private String  endTime;
 	private String  tStarTime;
@@ -11,6 +12,15 @@ public class InputArrearsDunListBo {
 	private String  depId;
 	private Integer pageNo;
 	private Integer pageSize;
+
+	public String getContractNo() {
+		return contractNo;
+	}
+
+	public void setContractNo(String contractNo) {
+		this.contractNo = contractNo;
+	}
+
 	public String getName() {
 		return name;
 	}

+ 4 - 6
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -102,7 +102,6 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	
 	/**
 	 * 删除订单项目
-	 * @param detailId
 	 * @return
 	 */
 	@RequestMapping(value = "/deleteOrderTask",method = RequestMethod.POST)
@@ -116,7 +115,6 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	}
 	/**
 	 * 删除订单
-	 * @param detailId
 	 * @return
 	 */
 	@RequestMapping(value = "/deleteOrderNew",method = RequestMethod.POST)
@@ -282,10 +280,10 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	 * 催款统计列表
 	 */
 	@RequestMapping(value="/dunOrderNewList", method = RequestMethod.GET)
-	public Result dunOrderNewList(String name,String orderNo,String starTime,String endTime,Integer specially,
+	public Result dunOrderNewList(String name,String orderNo,String contractNo,String starTime,String endTime,Integer specially,
 			String adminName,String depId,Integer newStatus,Integer pageNo,Integer pageSize){
 		Result res=new Result();
-		res.data(orderNewService.dunOrderNewList(name, orderNo, starTime, endTime,specially,  adminName, depId,newStatus,pageNo, pageSize));
+		res.data(orderNewService.dunOrderNewList(name, orderNo,contractNo, starTime, endTime,specially,  adminName, depId,newStatus,pageNo, pageSize));
 		return res;
 	}
 	
@@ -498,11 +496,11 @@ public class AdminNewOrderApiController extends CertifyApiController {
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "/exportOrderDunData", method = RequestMethod.GET)
-	public Result exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
+	public Result exportOrderDunData(String name,String orderNo,String contractNo,String starTime,String endTime,Integer specially,String adminName,
 			String depId,Integer newStatus,Integer pageNo,Integer pageSize,HttpServletResponse response){
 		 Result res = new Result();
  		try {
- 			orderNewService.exportOrderDunData( name, orderNo, starTime, endTime, specially, adminName, depId,newStatus, pageNo, pageSize, response);
+ 			orderNewService.exportOrderDunData( name, orderNo,contractNo, starTime, endTime, specially, adminName, depId,newStatus, pageNo, pageSize, response);
 		} catch (Exception e) {
 			res.getError().add(buildError("格式不正确"));
 			return res;

+ 3 - 12
src/main/java/com/goafanti/order/controller/ProjectStatisticsApiController.java

@@ -74,20 +74,11 @@ public class ProjectStatisticsApiController extends CertifyApiController {
 	 * @throws IOException 
 	 */
 	@RequestMapping(value = "/exporProvincialList", method = RequestMethod.GET)
-	public Result exporProvincialList(HttpServletResponse response,InputProvincialStatistics ib) throws IOException{
+	public Result exporProvincialList(InputProvincialStatistics ib){
 		Result res=new Result();
-		try {
-			projectStatisticsService.exporProvincialList( response, ib);
-		} catch (Exception e) {
-			res.getError().add(buildError("格式不正确"));
-			e.printStackTrace();
-			return res;
+		return projectStatisticsService.exporProvincialList( ib);
 		}
-     res.data(1); 
-	return res;
-		
-	}
-	
+
 	
 	
 }

+ 2 - 5
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -43,7 +43,6 @@ public interface OrderNewService {
 	/**
 	 * 修改项目信息
 	 * @param t
-	 * @param change 
 	 * @return
 	 */
 	int updateOrderTask(TOrderTask t);
@@ -84,7 +83,6 @@ public interface OrderNewService {
 	 * @param orderNo
 	 * @param starTime
 	 * @param endTime
-	 * @param orderStatus
 	 * @param pageNo
 	 * @param pageSize
 	 * @param amountStatus 
@@ -106,12 +104,11 @@ public interface OrderNewService {
 	 * @param orderNo
 	 * @param starTime
 	 * @param endTime
-	 * @param orderStatus
 	 * @param pageNo
 	 * @param pageSize
 	 * @return
 	 */
-	Pagination<outOrderDunListBo> dunOrderNewList(String name, String orderNo, String starTime, String endTime, Integer specially,String adminName,String depId,
+	Pagination<outOrderDunListBo> dunOrderNewList(String name, String orderNo,String contractNo, String starTime, String endTime, Integer specially,String adminName,String depId,
 			Integer newStatus,Integer pageNo, Integer pageSize);
 	/**
 	 * 新增催款记录
@@ -169,7 +166,7 @@ public interface OrderNewService {
 	
 	boolean checkORderTask(String orderNo);
 	
-	void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
+	void exportOrderDunData(String name,String orderNo,String contractNo,String starTime,String endTime,Integer specially,String adminName,
 			String depId,Integer newStatus,Integer pageNo,Integer pageSize,HttpServletResponse response) throws  Exception;
 	
 	int updateOrderOver(String orderNo);

+ 2 - 1
src/main/java/com/goafanti/order/service/ProjectStatisticsService.java

@@ -4,6 +4,7 @@ import java.io.IOException;
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.order.bo.InputProjectStatistics;
 import com.goafanti.order.bo.InputProvincialStatistics;
 
@@ -15,6 +16,6 @@ public interface ProjectStatisticsService {
 
 	Object selectProvincialStatistics(InputProvincialStatistics is);
 
-	void exporProvincialList(HttpServletResponse response, InputProvincialStatistics ib)throws IOException;
+	Result exporProvincialList(InputProvincialStatistics ib);
 
 }

+ 18 - 14
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -739,7 +739,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	public void addNewDunNoticAndSendEmail(String  orderNo, OutNewOrderDunBo o) {
 		AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
 		TOrderNewBo b  = tOrderNewMapper.getSaleIdByOno(orderNo);
-		addNotic(orderNo,NoticeStatus.ORDER_DUN.getCode(),a, b);
+		addNotic(NoticeStatus.ORDER_DUN.getCode(),a, b);
 		try {
 			NewDunsendEmail(orderNo,o.getId(), a, b);
 		} catch (UnsupportedEncodingException | MessagingException e) {
@@ -749,7 +749,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	public void addTimingTaskNewDunNoticAndSendEmail(TOrderNew t2, OutNewOrderDunBo o) {
 		AdminListBo a = adminMapper.getDeptNameByAid("1");
 		TOrderNewBo b  = tOrderNewMapper.getSaleIdByOno(t2.getOrderNo());
-		addNotic(t2.getOrderNo(),NoticeStatus.ORDER_DUN.getCode(),a, b);
+		addNotic(NoticeStatus.ORDER_DUN.getCode(),a, b);
 		try {
 			NewDunsendEmail(t2.getOrderNo(),o.getId(), a, b);
 		} catch (UnsupportedEncodingException | MessagingException e) {
@@ -770,7 +770,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			//发送驳回邮件
 		if(SendEmailUtil.isEmail(b.getEmail())) {
 	    	 EmailBo bo = new EmailBo("催收通知", b.getEmail(), a.getDepartmentName(), a.getName(),
-						"", orderNo,new SimpleDateFormat("yyyy-MM-dd").format(ob.getCreateTime()),dunTypeName,a2.getName(),b.getUserName(),1,0);
+						"", orderNo,b.getContractNo(),new SimpleDateFormat("yyyy-MM-dd").format(ob.getCreateTime()),dunTypeName,a2.getName(),b.getUserName(),1,0);
 				if(StringUtils.isNotBlank(b.getEmail())) {
 					asyncUtils.patentSend(bo);
 				}
@@ -798,7 +798,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<outOrderDunListBo> dunOrderNewList(String name, String orderNo, String starTime, String endTime,
+	public Pagination<outOrderDunListBo> dunOrderNewList(String name, String orderNo,String contractNo, String starTime, String endTime,
 			Integer specially, String adminName,String depId,Integer newStatus,Integer pageNo, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		if(pageSize==null||pageSize<0)pageSize=10;
@@ -809,6 +809,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (StringUtils.isNotBlank(depId)) params.put("depId", depId);
 		if (StringUtils.isNotBlank(adminName)) params.put("adminName", adminName);
 		if (StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
+		if (StringUtils.isNotBlank(contractNo)) params.put("contractNo", contractNo);
 		if (StringUtils.isNotBlank(starTime)) params.put("starTime", starTime);
 		if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
 		Integer i=null;
@@ -1067,12 +1068,12 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	 * @throws IOException 
 	 */
 	@Override
-	public void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
+	public void exportOrderDunData(String name,String orderNo,String contractNo,String starTime,String endTime,Integer specially,String adminName,
 			String depId,Integer newStatus,Integer pageNo,Integer pageSize,HttpServletResponse response) throws Exception  {
 		OutputStream out = response.getOutputStream();
 		try {
 			@SuppressWarnings("unchecked")
-			List<outOrderDunListBo> list=(List<outOrderDunListBo>) dunOrderNewList( name,  orderNo,  starTime,  endTime,
+			List<outOrderDunListBo> list=(List<outOrderDunListBo>) dunOrderNewList( name,  orderNo, contractNo, starTime,  endTime,
 					 specially,  adminName, depId,newStatus, pageNo,  pageSize).getList();
 			
     		String[] comment = {"合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","签单金额","应收款","已收款","拨款比例","结算状态","未收款","项目状态","催收科目","催款状态","催款启动时间","签单时间"};
@@ -1220,23 +1221,25 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (type==NoticeStatus.ORDER_BACK.getCode())  id=TokenManager.getAdminId()==null?"1":TokenManager.getAdminId();
 		if (type==NoticeStatus.ORDER_APPROVA_NO.getCode())  id=TokenManager.getAdminId()==null?"1":TokenManager.getAdminId();
 		AdminListBo a = adminMapper.getDeptNameByAid(id);
-		 sendEmail(type==NoticeStatus.ORDER_DUN.getCode()?t.getOrderNo():orderNo, t==null?null:t.getId(), a, b);
+		 sendEmail( t==null?null:t.getId(), a, b);
 		 
-		 addNotic(type==NoticeStatus.ORDER_DUN.getCode()?t.getOrderNo():orderNo,type,a, b);
+		 addNotic(type,a, b);
 	}
-	public void addNotic(String orderNo,Integer type,AdminListBo a,TOrderNewBo b) {
-		String str=NoticeStatus.getValueByCode(type)+": 订单编号 -"+orderNo+", 操作人:"+a.getDepartmentName()+"-"+a.getName()+"。";
+	public void addNotic(Integer type,AdminListBo a,TOrderNewBo b) {
+		StringBuffer sb=new StringBuffer();
+		sb=sb.append(b.getUserName()).append(", 合同编号-").append(b.getContractNo())
+				.append(", 订单编号-").append(b.getOrderNo()).append(", 操作人: ").append(a.getDepartmentName()).append("-").append(a.getName()).append("。");
 		Notice n =new Notice();
 		n.setId(UUID.randomUUID().toString());
 		n.setAid(b.getSalesmanId());
 		n.setNoticeType(type);
-		n.setContent(str);
+		n.setContent(sb.toString());
 		n.setReaded(0);//未读
 		asyncUtils.addNotice(n);
 	}
-	public void  sendEmail(String orderNo,String dunId,AdminListBo a,TOrderNewBo b) throws UnsupportedEncodingException, MessagingException{
+	public void  sendEmail(String dunId,AdminListBo a,TOrderNewBo b) throws UnsupportedEncodingException, MessagingException{
 		LoggerUtils.debug(logger, "======================邮件信息发送===================");
-		String content = "<div>客户名称: "+ b.getUserName() +"</div><div>订单编号: " + orderNo + "</div>";
+		String content = "<div>客户名称: "+ b.getUserName() +"</div><div>订单编号: " + b.getOrderNo() + "</div><div>合同编号: " + b.getContractNo() + "</div>";
 		String tite="订单驳回";
 			if(StringUtils.isNotBlank(dunId)) {
 				TOrderDun tDun=tOrderDunMapper.selectByPrimaryKey(dunId);
@@ -1295,7 +1298,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (!nlist.isEmpty()&&StringUtils.isNotBlank(adminIds)) {
 			adminIds=adminIds.substring(0, adminIds.length()-1);
 			EmailBo bo = new EmailBo(NoticeStatus.getValueByCode(type), adminIds, a.getDepartmentName(), a.getName(), "请登录查看"
-					,null,null,null,null,null,0,approval);
+					,null,null,null,null,null,null,0,approval);
 			try {
 				//使用专利邮件模板
 				asyncUtils.patentSend(bo);
@@ -1399,6 +1402,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		if (StringUtils.isNotBlank(in.getDepId())) params.put("depId", in.getDepId());
 		if (StringUtils.isNotBlank(in.getAdminName())) params.put("adminName", in.getAdminName());
 		if (StringUtils.isNotBlank(in.getOrderNo())) params.put("orderNo", in.getOrderNo());
+		if (StringUtils.isNotBlank(in.getContractNo())) params.put("contractNo", in.getContractNo());
 		if (StringUtils.isNotBlank(in.getStarTime())) params.put("starTime", in.getStarTime());
 		if (StringUtils.isNotBlank(in.getEndTime())) params.put("endTime", in.getEndTime()+" 23:59:59");
 		if (StringUtils.isNotBlank(in.gettStarTime())) params.put("tStarTime", in.gettStarTime());

+ 1 - 1
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -677,7 +677,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			//发送驳回邮件
 		if(SendEmailUtil.isEmail(pnb.getEmail())) {
 	    	 EmailBo bo = new EmailBo("付款通知", pnb.getEmail(), "平台超管中心", "管理员",
-						"", pnb.getOrderNo(),pn.getPartyTimes(),
+						"", pnb.getOrderNo(),pnb.getContractNo(),pn.getPartyTimes(),
 						dunTypeName,pnb.getSalesmanName(),pnb.getUserName(),2,0);
 				if(StringUtils.isNotBlank(pnb.getEmail())) {
 					try {

+ 39 - 17
src/main/java/com/goafanti/order/service/impl/ProjectStatisticsServiceImpl.java

@@ -1,16 +1,16 @@
 package com.goafanti.order.service.impl;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.goafanti.common.bo.Result;
+import groovy.util.logging.Log4j;
 import org.apache.commons.collections4.map.HashedMap;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -18,6 +18,7 @@ import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.bo.Error;
@@ -34,8 +35,12 @@ import com.goafanti.order.enums.NewProjectStatus;
 import com.goafanti.order.service.ProjectStatisticsService;
 
 @Service
+@Log4j
 public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMapper> implements ProjectStatisticsService {
 
+	@Value("${upload.path}")
+	private String downloadPath;
+
 	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<OutProjectStatistics> selectTaskList(InputProjectStatistics ps) {
@@ -269,8 +274,9 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
 	}
 
 	@Override
-	public void exporProvincialList(HttpServletResponse response, InputProvincialStatistics ib) throws IOException {
-		OutputStream out = response.getOutputStream();
+	public Result exporProvincialList(InputProvincialStatistics ib) {
+		OutputStream out = null;
+		XSSFWorkbook wb=null;
 		try {
 			if(ib.getPageSize()==null)ib.setPageSize(9999999);
 			if(ib.getStatus()==null)ib.setStatus(0);
@@ -306,8 +312,9 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
     		String[] ss= {"签单额(万元)","成本(万元)","利润(万元)"};
 			Collections.addAll(ls, ss);
     		comment= ls.toArray(new String[ls.size()]);
-    		String fileName ="项目数据统计" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
-    		XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"项目数据统计");
+//    		String fileName ="项目数据统计" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
+			String filename = UUID.randomUUID().toString() + "_ProvincialList.xlsx";
+    		wb =ExportExcelUtil.exportTemplateInfoS(comment,"项目数据统计");
     		//根据列表编写文档
     		XSSFSheet sheet =wb.getSheetAt(0);
     		XSSFRow xr = sheet.createRow(sheet.getLastRowNum()+1);
@@ -352,21 +359,36 @@ public class ProjectStatisticsServiceImpl extends BaseMybatisDao<TOrderTaskMappe
     				}
     				XSSFCell c = r.createCell(i);
     				c.setCellValue(o);
+
     			}
     		}
-    		//返回名称及参数
-			 response.addHeader("Content-Disposition", "attachment;filename="  + new String(fileName.getBytes(),"iso-8859-1"));  
-			 response.setContentType("application/octet-stream;charset=utf-8");
-    		 // 返回数据流
+			String downloadPath = this.downloadPath+"/" + filename;
+			File desc = new File(downloadPath);
+			if (!desc.getParentFile().exists()) {
+				desc.getParentFile().mkdirs();
+			}
+			out=new FileOutputStream(downloadPath);
+    		// 返回数据流
 			 wb.write(out); 
-			 out.flush();
-			 out.close();
+			return new Result().data(filename);
 		} catch (Exception e) {
 			e.printStackTrace();
 			throw new BusinessException(new Error("表格生成错误。"));
 		}finally {
-			out.flush(); 
-			 out.close(); 
+			if (out != null) {
+				try {
+					out.close();
+				} catch (IOException e1) {
+					e1.printStackTrace();
+				}
+			}
+			if (wb !=null){
+				try {
+					wb.close();
+				} catch (IOException e1) {
+					e1.printStackTrace();
+				}
+			}
 		}
 	}
 

+ 64 - 0
src/main/java/com/goafanti/user/bo/outUserFollowList.java

@@ -29,6 +29,70 @@ public class outUserFollowList {
     private String guidance;
     @Excel(name = "指导时间")
     private String guidanceTimes;
+    private String contacts;
+    private String contactMobile;
+    private Integer province;
+    private Integer city;
+    private Integer area;
+    private String intendedProject;
+    private String businessScope;
+
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
+    public Integer getProvince() {
+        return province;
+    }
+
+    public void setProvince(Integer province) {
+        this.province = province;
+    }
+
+    public Integer getCity() {
+        return city;
+    }
+
+    public void setCity(Integer city) {
+        this.city = city;
+    }
+
+    public Integer getArea() {
+        return area;
+    }
+
+    public void setArea(Integer area) {
+        this.area = area;
+    }
+
+    public String getIntendedProject() {
+        return intendedProject;
+    }
+
+    public void setIntendedProject(String intendedProject) {
+        this.intendedProject = intendedProject;
+    }
+
+    public String getBusinessScope() {
+        return businessScope;
+    }
+
+    public void setBusinessScope(String businessScope) {
+        this.businessScope = businessScope;
+    }
 
     public String getFollowTimes() {
         return followTimes;