Pārlūkot izejas kodu

Merge branch 'test' of jishutao/kede-server into prod

anderx 2 gadi atpakaļ
vecāks
revīzija
cdcb9a6beb
43 mainītis faili ar 3807 papildinājumiem un 1799 dzēšanām
  1. 7 1
      pom.xml
  2. 2 0
      src/main/java/com/goafanti/common/dao/ExpenseAccountMapper.java
  3. 28 0
      src/main/java/com/goafanti/common/dao/PublicReleaseClockMapper.java
  4. 33 0
      src/main/java/com/goafanti/common/dao/PublicReleaseDateClockMapper.java
  5. 1 2
      src/main/java/com/goafanti/common/dao/PublicReleaseDetailsMapper.java
  6. 10 0
      src/main/java/com/goafanti/common/dao/PublicReleaseMapper.java
  7. 2 0
      src/main/java/com/goafanti/common/dao/TOrderMidMapper.java
  8. 2 0
      src/main/java/com/goafanti/common/dao/TOrderNewMapper.java
  9. 28 0
      src/main/java/com/goafanti/common/dao/TOrderPublicReleaseCountMapper.java
  10. 12 2
      src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml
  11. 102 0
      src/main/java/com/goafanti/common/mapper/PublicReleaseClockMapper.xml
  12. 115 0
      src/main/java/com/goafanti/common/mapper/PublicReleaseDateClockMapper.xml
  13. 1 1
      src/main/java/com/goafanti/common/mapper/PublicReleaseDetailsMapper.xml
  14. 735 866
      src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml
  15. 637 746
      src/main/java/com/goafanti/common/mapper/TOrderMidMapper.xml
  16. 4 2
      src/main/java/com/goafanti/common/mapper/TOrderNewMapper.xml
  17. 131 0
      src/main/java/com/goafanti/common/mapper/TOrderPublicReleaseCountMapper.xml
  18. 252 2
      src/main/java/com/goafanti/common/model/PublicRelease.java
  19. 129 0
      src/main/java/com/goafanti/common/model/PublicReleaseClock.java
  20. 141 0
      src/main/java/com/goafanti/common/model/PublicReleaseDateClock.java
  21. 237 2
      src/main/java/com/goafanti/common/model/TOrderMid.java
  22. 183 0
      src/main/java/com/goafanti/common/model/TOrderPublicReleaseCount.java
  23. 5 0
      src/main/java/com/goafanti/common/utils/DateUtils.java
  24. 20 23
      src/main/java/com/goafanti/common/utils/HttpUtils.java
  25. 35 0
      src/main/java/com/goafanti/expenseAccount/bo/ExpenseCountsBo.java
  26. 19 0
      src/main/java/com/goafanti/expenseAccount/bo/SonExpenseAccount.java
  27. 25 2
      src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java
  28. 4 0
      src/main/java/com/goafanti/order/enums/ProcessStatus.java
  29. 2 0
      src/main/java/com/goafanti/order/service/OrderNewService.java
  30. 3 0
      src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java
  31. 70 0
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  32. 98 0
      src/main/java/com/goafanti/weChat/bo/CheckOrderNoOut.java
  33. 14 0
      src/main/java/com/goafanti/weChat/bo/InputPublicDtails.java
  34. 1 1
      src/main/java/com/goafanti/weChat/bo/InputPublicReleaseList.java
  35. 21 0
      src/main/java/com/goafanti/weChat/bo/OutPublicDtails.java
  36. 21 2
      src/main/java/com/goafanti/weChat/bo/OutPublicRelease.java
  37. 12 2
      src/main/java/com/goafanti/weChat/bo/OutPublicReleaseDetails.java
  38. 32 1
      src/main/java/com/goafanti/weChat/bo/OutPublicReleaseList.java
  39. 52 26
      src/main/java/com/goafanti/weChat/controller/AdminReleaseApiController.java
  40. 7 0
      src/main/java/com/goafanti/weChat/service/PublicReleaseService.java
  41. 571 115
      src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java
  42. 2 2
      src/main/resources/props/config_local.properties
  43. 1 1
      src/main/resources/props/config_test.properties

+ 7 - 1
pom.xml

@@ -72,7 +72,13 @@
 			<artifactId>spring-web</artifactId>
 			<version>${org.springframework-version}</version>
 		</dependency>
-	<!-- Javax Annotation -->
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-beans</artifactId>
+			<version>${org.springframework-version}</version>
+		</dependency>
+
+		<!-- Javax Annotation -->
 <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>

+ 2 - 0
src/main/java/com/goafanti/common/dao/ExpenseAccountMapper.java

@@ -74,4 +74,6 @@ public interface ExpenseAccountMapper {
     void updateSonTypeOther(@Param("id") Integer id, @Param("types") String types);
 
     void updateRemoveOrderNo(ExpenseAccount ea);
+
+    List<ExpenseAccount> selectByOrderNo(String orderNo);
 }

+ 28 - 0
src/main/java/com/goafanti/common/dao/PublicReleaseClockMapper.java

@@ -0,0 +1,28 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.PublicReleaseClock;
+
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【public_release_clock(公出打卡表)】的数据库操作Mapper
+* @createDate 2024-04-19 14:56:48
+* @Entity com.goafanti.common.model.PublicReleaseClock
+*/
+public interface PublicReleaseClockMapper {
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(PublicReleaseClock record);
+
+    int insertSelective(PublicReleaseClock record);
+
+    PublicReleaseClock selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(PublicReleaseClock record);
+
+    int updateByPrimaryKey(PublicReleaseClock record);
+
+    List<PublicReleaseClock> selectList(List<Integer> list);
+}

+ 33 - 0
src/main/java/com/goafanti/common/dao/PublicReleaseDateClockMapper.java

@@ -0,0 +1,33 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.PublicReleaseDateClock;
+
+import java.util.List;
+
+/**
+* @author Administrator
+* @description 针对表【public_release_date_clock(公出日期打卡表)】的数据库操作Mapper
+* @createDate 2024-04-22 11:38:40
+* @Entity com.goafanti.common.model.PublicReleaseDateClock
+*/
+public interface PublicReleaseDateClockMapper {
+
+    int deleteByPrimaryKey(Long id);
+
+    int insert(PublicReleaseDateClock record);
+
+    int insertSelective(PublicReleaseDateClock record);
+
+    PublicReleaseDateClock selectByPrimaryKey(Long id);
+
+    int updateByPrimaryKeySelective(PublicReleaseDateClock record);
+
+    int updateByPrimaryKey(PublicReleaseDateClock record);
+
+    void insertBatch(List<PublicReleaseDateClock> list);
+
+    List<PublicReleaseDateClock> selectByPrid(Integer id);
+
+
+    void deleteByPrid(Integer id);
+}

+ 1 - 2
src/main/java/com/goafanti/common/dao/PublicReleaseDetailsMapper.java

@@ -2,7 +2,6 @@ package com.goafanti.common.dao;
 
 import com.goafanti.common.model.PublicReleaseDetails;
 import com.goafanti.weChat.bo.InputPublicRelease;
-import com.goafanti.weChat.bo.OutPublicRelease;
 import com.goafanti.weChat.bo.OutPublicReleaseDetails;
 
 import java.util.List;
@@ -20,7 +19,7 @@ public interface PublicReleaseDetailsMapper {
 
     int updateByPrimaryKey(PublicReleaseDetails record);
 
-    List<OutPublicReleaseDetails> selectByPCid(Integer id);
+    List<OutPublicReleaseDetails> selectByPrid(Integer id);
 
     void insertBatch(List<PublicReleaseDetails> list);
 

+ 10 - 0
src/main/java/com/goafanti/common/dao/PublicReleaseMapper.java

@@ -5,12 +5,14 @@ import com.goafanti.common.model.OutPublicReleaseCount;
 import com.goafanti.common.model.PublicRelease;
 import com.goafanti.weChat.bo.OutPublicRelease;
 import com.goafanti.weChat.bo.OutPublicReleaseAndDetails;
+import com.goafanti.weChat.bo.OutPublicReleaseList;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
 
 public interface PublicReleaseMapper {
+
     int deleteByPrimaryKey(Integer id);
 
     int insert(PublicRelease record);
@@ -53,4 +55,12 @@ public interface PublicReleaseMapper {
 
     Integer selectCountByaidAndDate(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
     List<OutFinanceCount> selectByaidAndDate(@Param("aid") String aid, @Param("startTime") String startTime, @Param("endTime") String endTime);
+
+    List<PublicRelease> selectByOrderNo(String orderNo);
+
+    List<PublicRelease> selectMyNewPublic(String adminId);
+
+    OutPublicReleaseList selectOutListBoById(Integer id);
+
+    List<PublicRelease>  selectAll();
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TOrderMidMapper.java

@@ -53,4 +53,6 @@ public interface TOrderMidMapper {
     List<TOrderMid> selectAll();
 
     void updateStopProjectByOrderNo(String orderNo);
+
+    void updateBidTypeByOrderNo(String orderNo);
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/TOrderNewMapper.java

@@ -107,4 +107,6 @@ public interface TOrderNewMapper {
     List<ExpenseCountsBo> selectExpenseCount(ExpenseCountsInput in);
 
     List<ExpenseCountsBo> selectExpenseDepCount(ExpenseCountsInput in);
+
+
 }

+ 28 - 0
src/main/java/com/goafanti/common/dao/TOrderPublicReleaseCountMapper.java

@@ -0,0 +1,28 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.TOrderPublicReleaseCount;
+
+/**
+* @author Administrator
+* @description 针对表【t_order_public_release_count(订单公出信息表)】的数据库操作Mapper
+* @createDate 2024-04-25 14:37:55
+* @Entity com.goafanti.common.model.TOrderPublicReleaseCount
+*/
+public interface TOrderPublicReleaseCountMapper {
+
+    int deleteByPrimaryKey(Long id);
+
+    int insert(TOrderPublicReleaseCount record);
+
+    int insertSelective(TOrderPublicReleaseCount record);
+
+    TOrderPublicReleaseCount selectByPrimaryKey(Long id);
+
+    int updateByPrimaryKeySelective(TOrderPublicReleaseCount record);
+
+    int updateByPrimaryKey(TOrderPublicReleaseCount record);
+
+    TOrderPublicReleaseCount selectByOrderNo(String orderNo);
+
+    void updateByOrderNo(TOrderPublicReleaseCount update);
+}

+ 12 - 2
src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml

@@ -748,7 +748,7 @@
            b.remarks,b.eaaid ,eap.name ,eap.bank ,eap.accounts ,b.status,b.process_status,
            c.id sonId,c.total_amount sonTotalAmount,c.settlement_amount sonSettlementAmount,c.amount sonAmount, c.`type` sonType,c.type_other sonTypeOther,
            c.user_names ,c.release_start ,c.release_end , c.district_name districtName,c.user_names userNames,c.secondary_type ,c.secondary_type_other,c.attachment_url,
-           c.duration,pr.plan,c.real_amount sonRealAmount,o.order_no,o.contract_no,pr.type publicReleaseType,
+           c.duration,pr.plan,c.real_amount sonRealAmount,o.order_no,o.contract_no,pr.type publicReleaseType,tm.bid_type bidType,
            c.debit_id debitId, debit.real_amount DebitRealAmount ,debit.settlement_amount DebitSettlementAmount,debit.liquidation_status DebitliquidationStatus,
            d.id detId,d.`type` detType,d.amount detAmount,d.real_amount detRealAmount ,d.start_district ,d.end_district,d.vehicle,d.vehicle_other,
            d.pay_type ,d.invoice_type ,d.invoice_no,d.payer_name ,d.open_bank ,d.bank_accounts ,d.open_bank_address,d.type_other detTypeOther,
@@ -758,7 +758,7 @@
     from expense_relationship a left join expense_account b on a.id =b.id left join expense_account c on a.ea_id =c.id
     left join department dep on b.apply_dep =dep.id left join department dep2 on b.pay_dep =dep2.id
      left join expense_account_private eap on b.eaaid =eap.id left join expense_account_details d on c.id =d.eaid
-    left join t_order_new o on c.order_no =o.order_no left join t_order_mid tm on c.order_no=tm.order_no
+    left join t_order_new o on c.order_no =o.order_no   left join t_order_mid tm on c.order_no=tm.order_no
     left join public_release pr on c.prid=pr.id left join t_order_new pro on pr.order_no=pro.order_no
     left join expense_account debit on c.debit_id=debit.id
     where a.id= #{id}
@@ -822,9 +822,11 @@
     <result column="debitLiquidationStatus" jdbcType="INTEGER" property="debitLiquidationStatus" />
     <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="contract_no" jdbcType="VARCHAR" property="contractNo" />
+    <result column="projectType" jdbcType="VARCHAR" property="projectType" />
     <result column="buyer_name" jdbcType="VARCHAR" property="buyerName" />
     <result column="buyer_id" jdbcType="VARCHAR" property="buyerId" />
     <result column="publicReleaseType" jdbcType="INTEGER" property="publicReleaseType" />
+    <result column="bidType" jdbcType="INTEGER" property="bidType" />
     <association property="detList" resultMap="ExpenseAccountDetailsMap"/>
   </resultMap>
 
@@ -1105,6 +1107,7 @@
     where a.id= #{id} and c.id is null
   </select>
 
+
   <update id="updateSonTypeOther">
     update expense_account a
     set a.type_other = #{types}
@@ -1115,4 +1118,11 @@
       set a.order_no = null
       where a.id = #{id}
     </update>
+
+  <select id="selectByOrderNo" resultMap="BaseResultMap">
+  select
+  <include refid="Base_Column_List" />
+  from expense_account
+  where expense_main=0 and status=2    and order_no=#{orderNo}
+  </select>
 </mapper>

+ 102 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseClockMapper.xml

@@ -0,0 +1,102 @@
+<?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.goafanti.common.dao.PublicReleaseClockMapper">
+
+    <resultMap id="BaseResultMap" type="com.goafanti.common.model.PublicReleaseClock">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="prid" column="prid" jdbcType="INTEGER"/>
+            <result property="prdid" column="prdid" jdbcType="INTEGER"/>
+            <result property="photoUrl" column="photo_url" jdbcType="VARCHAR"/>
+            <result property="clockInTime" column="clock_in_time" jdbcType="TIMESTAMP"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,prid,prdid,
+        photo_url,clock_in_time,create_time
+    </sql>
+
+    <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from public_release_clock
+        where  id = #{id,jdbcType=INTEGER} 
+    </select>
+
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+        delete from public_release_clock
+        where  id = #{id,jdbcType=INTEGER} 
+    </delete>
+    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicReleaseClock" useGeneratedKeys="true">
+        insert into public_release_clock
+        ( id,prid,prdid
+        ,photo_url,clock_in_time,create_time
+        )
+        values (#{id,jdbcType=INTEGER},#{prid,jdbcType=INTEGER},#{prdid,jdbcType=INTEGER}
+        ,#{photoUrl,jdbcType=VARCHAR},#{clockInTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP}
+        )
+    </insert>
+    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicReleaseClock" useGeneratedKeys="true">
+        insert into public_release_clock
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="id != null">id,</if>
+                <if test="prid != null">prid,</if>
+                <if test="prdid != null">prdid,</if>
+                <if test="photoUrl != null">photo_url,</if>
+                <if test="clockInTime != null">clock_in_time,</if>
+                <if test="createTime != null">create_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                <if test="id != null">#{id,jdbcType=INTEGER},</if>
+                <if test="prid != null">#{prid,jdbcType=INTEGER},</if>
+                <if test="prdid != null">#{prdid,jdbcType=INTEGER},</if>
+                <if test="photoUrl != null">#{photoUrl,jdbcType=VARCHAR},</if>
+                <if test="clockInTime != null">#{clockInTime,jdbcType=TIMESTAMP},</if>
+                <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PublicReleaseClock">
+        update public_release_clock
+        <set>
+                <if test="prid != null">
+                    prid = #{prid,jdbcType=INTEGER},
+                </if>
+                <if test="prdid != null">
+                    prdid = #{prdid,jdbcType=INTEGER},
+                </if>
+                <if test="photoUrl != null">
+                    photo_url = #{photoUrl,jdbcType=VARCHAR},
+                </if>
+                <if test="clockInTime != null">
+                    clock_in_time = #{clockInTime,jdbcType=TIMESTAMP},
+                </if>
+                <if test="createTime != null">
+                    create_time = #{createTime,jdbcType=TIMESTAMP},
+                </if>
+        </set>
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+    <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.PublicReleaseClock">
+        update public_release_clock
+        set 
+            prid =  #{prid,jdbcType=INTEGER},
+            prdid =  #{prdid,jdbcType=INTEGER},
+            photo_url =  #{photoUrl,jdbcType=VARCHAR},
+            clock_in_time =  #{clockInTime,jdbcType=TIMESTAMP},
+            create_time =  #{createTime,jdbcType=TIMESTAMP}
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+
+    <select id="selectList" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from public_release_clock
+        where prid in
+        <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
+</mapper>

+ 115 - 0
src/main/java/com/goafanti/common/mapper/PublicReleaseDateClockMapper.xml

@@ -0,0 +1,115 @@
+<?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.goafanti.common.dao.PublicReleaseDateClockMapper">
+
+    <resultMap id="BaseResultMap" type="com.goafanti.common.model.PublicReleaseDateClock">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="prid" column="prid" jdbcType="INTEGER"/>
+            <result property="prdid" column="prdid" jdbcType="INTEGER"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="clockInTime" column="clock_in_time" jdbcType="TIMESTAMP"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,prid,prdid,
+        status,clock_in_time,create_time
+    </sql>
+
+    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from public_release_date_clock
+        where  id = #{id,jdbcType=INTEGER} 
+    </select>
+
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+        delete from public_release_date_clock
+        where  id = #{id,jdbcType=INTEGER} 
+    </delete>
+
+    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicReleaseDateClock" useGeneratedKeys="true">
+        insert into public_release_date_clock
+        ( id,prid,prdid
+        ,status,clock_in_time,create_time
+        )
+        values (#{id,jdbcType=INTEGER},#{prid,jdbcType=INTEGER},#{prdid,jdbcType=INTEGER}
+        ,#{status,jdbcType=INTEGER},#{clockInTime,jdbcType=TIMESTAMP},#{createTime,jdbcType=TIMESTAMP}
+        )
+    </insert>
+    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.PublicReleaseDateClock" useGeneratedKeys="true">
+        insert into public_release_date_clock
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="id != null">id,</if>
+                <if test="prid != null">prid,</if>
+                <if test="prdid != null">prdid,</if>
+                <if test="status != null">status,</if>
+                <if test="clockInTime != null">clock_in_time,</if>
+                <if test="createTime != null">create_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                <if test="id != null">#{id,jdbcType=INTEGER},</if>
+                <if test="prid != null">#{prid,jdbcType=INTEGER},</if>
+                <if test="prdid != null">#{prdid,jdbcType=INTEGER},</if>
+                <if test="status != null">#{status,jdbcType=INTEGER},</if>
+                <if test="clockInTime != null">#{clockInTime,jdbcType=TIMESTAMP},</if>
+                <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
+        </trim>
+    </insert>
+
+    <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.PublicReleaseDateClock">
+        update public_release_date_clock
+        <set>
+                <if test="prid != null">
+                    prid = #{prid,jdbcType=INTEGER},
+                </if>
+                <if test="prdid != null">
+                    prdid = #{prdid,jdbcType=INTEGER},
+                </if>
+                <if test="status != null">
+                    status = #{status,jdbcType=INTEGER},
+                </if>
+                <if test="clockInTime != null">
+                    clock_in_time = #{clockInTime,jdbcType=TIMESTAMP},
+                </if>
+                <if test="createTime != null">
+                    create_time = #{createTime,jdbcType=TIMESTAMP},
+                </if>
+        </set>
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+    <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.PublicReleaseDateClock">
+        update public_release_date_clock
+        set 
+            prid =  #{prid,jdbcType=INTEGER},
+            prdid =  #{prdid,jdbcType=INTEGER},
+            status =  #{status,jdbcType=INTEGER},
+            clock_in_time =  #{clockInTime,jdbcType=TIMESTAMP},
+            create_time =  #{createTime,jdbcType=TIMESTAMP}
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+
+    <delete id="deleteByPrid">
+        delete from public_release_date_clock
+        where  prid = #{id,jdbcType=INTEGER}
+    </delete>
+
+    <insert id="insertBatch">
+        insert into public_release_date_clock
+        (prid,prdid,status,clock_in_time)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.prid,jdbcType=INTEGER},#{item.prdid,jdbcType=INTEGER},#{item.status,jdbcType=INTEGER},#{item.clockInTime,jdbcType=TIMESTAMP})
+        </foreach>
+    </insert>
+
+    <select id="selectByPrid" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from public_release_date_clock
+        where  prid = #{id,jdbcType=INTEGER}
+    </select>
+</mapper>

+ 1 - 1
src/main/java/com/goafanti/common/mapper/PublicReleaseDetailsMapper.xml

@@ -216,7 +216,7 @@
   </update>
 
 
-  <select id="selectByPCid" resultType="com.goafanti.weChat.bo.OutPublicReleaseDetails">
+  <select id="selectByPrid" resultType="com.goafanti.weChat.bo.OutPublicReleaseDetails">
     select
       a.id,a.prid, a.`uid`, a.ufid, a.new_user newUser,a.longitude,a.latitude,b.nickname userName,a.main_status mainStatus,a.duration,
       a.district_name districtName ,a.clock_in clockIn,date_format(a.clock_in_time, '%Y-%m-%d %H:%i:%S')  clockInTimes,a.photo_url photoUrl

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 735 - 866
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 637 - 746
src/main/java/com/goafanti/common/mapper/TOrderMidMapper.xml


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

@@ -2210,9 +2210,11 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
     where b.status=0 and b.aid = #{financeId} and a.process_status = 3
   </select>
     <select id="selectExpenseCount" parameterType="com.goafanti.expenseAccount.bo.ExpenseCountsInput" resultType="com.goafanti.expenseAccount.bo.ExpenseCountsBo">
-      select a.order_no orderNo,a.contract_no contractNo,b.buyer_name buyerName,a.total_amount totalAmount,a.settlement_amount settlementAmount,
-             c.expenseCount,c.peopleCount,c.notExamine,c.rejectCount,d.paymentAmount,c.days,c.amount expenseAmount
+      select a.order_no orderNo,a.contract_no contractNo,b.buyer_name buyerName,toc.max_duration maxDuration ,toc.actual_duration actualDuration ,
+             toc.exceed_duration exceedDuration, a.total_amount totalAmount,a.settlement_amount settlementAmount,b.bid_type bidType,
+      c.expenseCount,c.peopleCount,c.notExamine,c.rejectCount,d.paymentAmount,c.days,c.amount expenseAmount
       from t_order_new a left join t_order_mid b on a.order_no =b.order_no
+      left join t_order_public_release_count toc on a.order_no =toc.order_no
       left join (select a.order_no,a.expenseCount,b.peopleCount,c.notExamine, c.rejectCount,a.days,a.amount
                 from (select a.order_no,count(a.id)expenseCount,sum(a.amount) amount,sum(ROUND(a.duration/7.5) )days
                       from expense_account a where a.order_no in (select a.order_no from expense_account a

+ 131 - 0
src/main/java/com/goafanti/common/mapper/TOrderPublicReleaseCountMapper.xml

@@ -0,0 +1,131 @@
+<?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.goafanti.common.dao.TOrderPublicReleaseCountMapper">
+
+    <resultMap id="BaseResultMap" type="com.goafanti.common.model.TOrderPublicReleaseCount">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
+            <result property="status" column="status" jdbcType="INTEGER"/>
+            <result property="maxDuration" column="max_duration" jdbcType="DOUBLE"/>
+            <result property="actualDuration" column="actual_duration" jdbcType="DOUBLE"/>
+            <result property="exceedDuration" column="exceed_duration" jdbcType="DOUBLE"/>
+            <result property="peopleCount" column="people_count" jdbcType="INTEGER"/>
+            <result property="frequency" column="frequency" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,order_no,status,
+        max_duration,actual_duration,exceed_duration,
+        people_count,frequency,create_time
+    </sql>
+
+    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from t_order_public_release_count
+        where  id = #{id,jdbcType=INTEGER} 
+    </select>
+
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+        delete from t_order_public_release_count
+        where  id = #{id,jdbcType=INTEGER} 
+    </delete>
+    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderPublicReleaseCount" useGeneratedKeys="true">
+        insert into t_order_public_release_count
+        ( id,order_no,status
+        ,max_duration,actual_duration,exceed_duration
+        ,people_count,frequency,create_time
+        )
+        values (#{id,jdbcType=INTEGER},#{orderNo,jdbcType=VARCHAR},#{status,jdbcType=INTEGER}
+        ,#{maxDuration,jdbcType=DOUBLE},#{actualDuration,jdbcType=DOUBLE},#{exceedDuration,jdbcType=DOUBLE}
+        ,#{peopleCount,jdbcType=INTEGER},#{frequency,jdbcType=INTEGER},#{createTime,jdbcType=TIMESTAMP}
+        )
+    </insert>
+    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderPublicReleaseCount" useGeneratedKeys="true">
+        insert into t_order_public_release_count
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+                <if test="id != null">id,</if>
+                <if test="orderNo != null">order_no,</if>
+                <if test="status != null">status,</if>
+                <if test="maxDuration != null">max_duration,</if>
+                <if test="actualDuration != null">actual_duration,</if>
+                <if test="exceedDuration != null">exceed_duration,</if>
+                <if test="peopleCount != null">people_count,</if>
+                <if test="frequency != null">frequency,</if>
+                <if test="createTime != null">create_time,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+                <if test="id != null">#{id,jdbcType=INTEGER},</if>
+                <if test="orderNo != null">#{orderNo,jdbcType=VARCHAR},</if>
+                <if test="status != null">#{status,jdbcType=INTEGER},</if>
+                <if test="maxDuration != null">#{maxDuration,jdbcType=DOUBLE},</if>
+                <if test="actualDuration != null">#{actualDuration,jdbcType=DOUBLE},</if>
+                <if test="exceedDuration != null">#{exceedDuration,jdbcType=DOUBLE},</if>
+                <if test="peopleCount != null">#{peopleCount,jdbcType=INTEGER},</if>
+                <if test="frequency != null">#{frequency,jdbcType=INTEGER},</if>
+                <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.TOrderPublicReleaseCount">
+        update t_order_public_release_count
+        <set>
+                <if test="orderNo != null">
+                    order_no = #{orderNo,jdbcType=VARCHAR},
+                </if>
+                <if test="status != null">
+                    status = #{status,jdbcType=INTEGER},
+                </if>
+                <if test="maxDuration != null">
+                    max_duration = #{maxDuration,jdbcType=DOUBLE},
+                </if>
+                <if test="actualDuration != null">
+                    actual_duration = #{actualDuration,jdbcType=DOUBLE},
+                </if>
+                <if test="exceedDuration != null">
+                    exceed_duration = #{exceedDuration,jdbcType=DOUBLE},
+                </if>
+                <if test="peopleCount != null">
+                    people_count = #{peopleCount,jdbcType=INTEGER},
+                </if>
+                <if test="frequency != null">
+                    frequency = #{frequency,jdbcType=INTEGER},
+                </if>
+                <if test="createTime != null">
+                    create_time = #{createTime,jdbcType=TIMESTAMP},
+                </if>
+        </set>
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+    <update id="updateByPrimaryKey" parameterType="com.goafanti.common.model.TOrderPublicReleaseCount">
+        update t_order_public_release_count
+        set 
+            order_no =  #{orderNo,jdbcType=VARCHAR},
+            status =  #{status,jdbcType=INTEGER},
+            max_duration =  #{maxDuration,jdbcType=DOUBLE},
+            actual_duration =  #{actualDuration,jdbcType=DOUBLE},
+            exceed_duration =  #{exceedDuration,jdbcType=DOUBLE},
+            people_count =  #{peopleCount,jdbcType=INTEGER},
+            frequency =  #{frequency,jdbcType=INTEGER},
+            create_time =  #{createTime,jdbcType=TIMESTAMP}
+        where   id = #{id,jdbcType=INTEGER} 
+    </update>
+    <update id="updateByOrderNo">
+        update t_order_public_release_count
+        set
+            actual_duration =  #{actualDuration,jdbcType=DOUBLE},
+            exceed_duration =  if(#{actualDuration,jdbcType=DOUBLE}-max_duration>0,#{actualDuration,jdbcType=DOUBLE}-max_duration,0),
+            people_count =  #{peopleCount,jdbcType=INTEGER},
+            frequency =  #{frequency,jdbcType=INTEGER}
+        where   order_no =  #{orderNo,jdbcType=VARCHAR}
+    </update>
+
+    <select id="selectByOrderNo"  resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from t_order_public_release_count
+        where  order_no =  #{orderNo,jdbcType=VARCHAR}
+    </select>
+</mapper>

+ 252 - 2
src/main/java/com/goafanti/common/model/PublicRelease.java

@@ -4,10 +4,13 @@ import java.io.Serializable;
 import java.util.Date;
 
 /**
- * public_release
- * @author 
+ * 公出表
+ * @TableName public_release
  */
 public class PublicRelease implements Serializable {
+    /**
+     * 
+     */
     private Integer id;
 
     /**
@@ -195,309 +198,556 @@ public class PublicRelease implements Serializable {
      */
     private Integer clockIn;
 
+    /**
+     * 0无需审核 1需要审核 2营销审核通过 3营销审核驳回
+     */
+    private Integer techStartProcess;
+
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 
+     */
     public Integer getId() {
         return id;
     }
 
+    /**
+     * 
+     */
     public void setId(Integer id) {
         this.id = id;
     }
 
+    /**
+     * 公出人
+     */
     public String getAid() {
         return aid;
     }
 
+    /**
+     * 公出人
+     */
     public void setAid(String aid) {
         this.aid = aid;
     }
 
+    /**
+     * 公出开始时间
+     */
     public Date getReleaseStart() {
         return releaseStart;
     }
 
+    /**
+     * 公出开始时间
+     */
     public void setReleaseStart(Date releaseStart) {
         this.releaseStart = releaseStart;
     }
 
+    /**
+     * 公出结束时间
+     */
     public Date getReleaseEnd() {
         return releaseEnd;
     }
 
+    /**
+     * 公出结束时间
+     */
     public void setReleaseEnd(Date releaseEnd) {
         this.releaseEnd = releaseEnd;
     }
 
+    /**
+     * 公出目标
+     */
     public String getRemarks() {
         return remarks;
     }
 
+    /**
+     * 公出目标
+     */
     public void setRemarks(String remarks) {
         this.remarks = remarks;
     }
 
+    /**
+     * 附件
+     */
     public String getAnnexUrl() {
         return annexUrl;
     }
 
+    /**
+     * 附件
+     */
     public void setAnnexUrl(String annexUrl) {
         this.annexUrl = annexUrl;
     }
 
+    /**
+     * 状态 0驳回 1发起 2同意 3 撤销 4技术驳回
+     */
     public Integer getStatus() {
         return status;
     }
 
+    /**
+     * 状态 0驳回 1发起 2同意 3 撤销 4技术驳回
+     */
     public void setStatus(Integer status) {
         this.status = status;
     }
 
+    /**
+     * 发起时间
+     */
     public Date getCreateTime() {
         return createTime;
     }
 
+    /**
+     * 发起时间
+     */
     public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
 
+    /**
+     * 项目编号
+     */
     public String getPid() {
         return pid;
     }
 
+    /**
+     * 项目编号
+     */
     public void setPid(String pid) {
         this.pid = pid;
     }
 
+    /**
+     * 项目名称
+     */
     public String getPname() {
         return pname;
     }
 
+    /**
+     * 项目名称
+     */
     public void setPname(String pname) {
         this.pname = pname;
     }
 
+    /**
+     * 时长
+     */
     public Double getDuration() {
         return duration;
     }
 
+    /**
+     * 时长
+     */
     public void setDuration(Double duration) {
         this.duration = duration;
     }
 
+    /**
+     * 有效日期
+     */
     public String getValidDate() {
         return validDate;
     }
 
+    /**
+     * 有效日期
+     */
     public void setValidDate(String validDate) {
         this.validDate = validDate;
     }
 
+    /**
+     * 本次总结
+     */
     public String getSupplement() {
         return supplement;
     }
 
+    /**
+     * 本次总结
+     */
     public void setSupplement(String supplement) {
         this.supplement = supplement;
     }
 
+    /**
+     * 审核信息
+     */
     public String getAuditInfo() {
         return auditInfo;
     }
 
+    /**
+     * 审核信息
+     */
     public void setAuditInfo(String auditInfo) {
         this.auditInfo = auditInfo;
     }
 
+    /**
+     * 公出计划
+     */
     public String getPlan() {
         return plan;
     }
 
+    /**
+     * 公出计划
+     */
     public void setPlan(String plan) {
         this.plan = plan;
     }
 
+    /**
+     * 预计效果
+     */
     public String getExpectedEffect() {
         return expectedEffect;
     }
 
+    /**
+     * 预计效果
+     */
     public void setExpectedEffect(String expectedEffect) {
         this.expectedEffect = expectedEffect;
     }
 
+    /**
+     * 下次计划
+     */
     public String getNextPlan() {
         return nextPlan;
     }
 
+    /**
+     * 下次计划
+     */
     public void setNextPlan(String nextPlan) {
         this.nextPlan = nextPlan;
     }
 
+    /**
+     * 分类 0业务 1技术 2行政 3 技术协单 4 技术助手
+     */
     public Integer getType() {
         return type;
     }
 
+    /**
+     * 分类 0业务 1技术 2行政 3 技术协单 4 技术助手
+     */
     public void setType(Integer type) {
         this.type = type;
     }
 
+    /**
+     * 订单编号
+     */
     public String getOrderNo() {
         return orderNo;
     }
 
+    /**
+     * 订单编号
+     */
     public void setOrderNo(String orderNo) {
         this.orderNo = orderNo;
     }
 
+    /**
+     * 修改时间
+     */
     public Date getUpdateTime() {
         return updateTime;
     }
 
+    /**
+     * 修改时间
+     */
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
 
+    /**
+     * 修改状态 0=否 1=是
+     */
     public Integer getUpdateStatus() {
         return updateStatus;
     }
 
+    /**
+     * 修改状态 0=否 1=是
+     */
     public void setUpdateStatus(Integer updateStatus) {
         this.updateStatus = updateStatus;
     }
 
+    /**
+     * 0否 1主公出 2协助公出
+     */
     public Integer getAssist() {
         return assist;
     }
 
+    /**
+     * 0否 1主公出 2协助公出
+     */
     public void setAssist(Integer assist) {
         this.assist = assist;
     }
 
+    /**
+     * 协单人员
+     */
     public String getAssistAid() {
         return assistAid;
     }
 
+    /**
+     * 协单人员
+     */
     public void setAssistAid(String assistAid) {
         this.assistAid = assistAid;
     }
 
+    /**
+     * 协单人员
+     */
     public String getAssistAidName() {
         return assistAidName;
     }
 
+    /**
+     * 协单人员
+     */
     public void setAssistAidName(String assistAidName) {
         this.assistAidName = assistAidName;
     }
 
+    /**
+     * 主要公出编号
+     */
     public Integer getMainId() {
         return mainId;
     }
 
+    /**
+     * 主要公出编号
+     */
     public void setMainId(Integer mainId) {
         this.mainId = mainId;
     }
 
+    /**
+     * 主要公出发起人
+     */
     public String getMainName() {
         return mainName;
     }
 
+    /**
+     * 主要公出发起人
+     */
     public void setMainName(String mainName) {
         this.mainName = mainName;
     }
 
+    /**
+     * 驳回人员
+     */
     public String getRejectName() {
         return rejectName;
     }
 
+    /**
+     * 驳回人员
+     */
     public void setRejectName(String rejectName) {
         this.rejectName = rejectName;
     }
 
+    /**
+     * 协单助手
+     */
     public String getAssistantAid() {
         return assistantAid;
     }
 
+    /**
+     * 协单助手
+     */
     public void setAssistantAid(String assistantAid) {
         this.assistantAid = assistantAid;
     }
 
+    /**
+     * 协单助手名称
+     */
     public String getAssistantName() {
         return assistantName;
     }
 
+    /**
+     * 协单助手名称
+     */
     public void setAssistantName(String assistantName) {
         this.assistantName = assistantName;
     }
 
+    /**
+     * 再次公出
+     */
     public Integer getPublicAgain() {
         return publicAgain;
     }
 
+    /**
+     * 再次公出
+     */
     public void setPublicAgain(Integer publicAgain) {
         this.publicAgain = publicAgain;
     }
 
+    /**
+     * 审核时间
+     */
     public Date getAuditTime() {
         return auditTime;
     }
 
+    /**
+     * 审核时间
+     */
     public void setAuditTime(Date auditTime) {
         this.auditTime = auditTime;
     }
 
+    /**
+     * 客户类型 0新客户 1老客户
+     */
     public String getNewUser() {
         return newUser;
     }
 
+    /**
+     * 客户类型 0新客户 1老客户
+     */
     public void setNewUser(String newUser) {
         this.newUser = newUser;
     }
 
+    /**
+     * 签单数
+     */
     public String getSignSum() {
         return signSum;
     }
 
+    /**
+     * 签单数
+     */
     public void setSignSum(String signSum) {
         this.signSum = signSum;
     }
 
+    /**
+     * 公司名称
+     */
     public String getUserNames() {
         return userNames;
     }
 
+    /**
+     * 公司名称
+     */
     public void setUserNames(String userNames) {
         this.userNames = userNames;
     }
 
+    /**
+     * 公出对象 0企业 1园区
+     */
     public Integer getObjectType() {
         return objectType;
     }
 
+    /**
+     * 公出对象 0企业 1园区
+     */
     public void setObjectType(Integer objectType) {
         this.objectType = objectType;
     }
 
+    /**
+     * 公出分类 0不含他人客户 1待审核 2已审核
+     */
     public Integer getPublicType() {
         return publicType;
     }
 
+    /**
+     * 公出分类 0不含他人客户 1待审核 2已审核
+     */
     public void setPublicType(Integer publicType) {
         this.publicType = publicType;
     }
 
+    /**
+     * 公出企业地址
+     */
     public String getDistrictName() {
         return districtName;
     }
 
+    /**
+     * 公出企业地址
+     */
     public void setDistrictName(String districtName) {
         this.districtName = districtName;
     }
 
+    /**
+     * 打卡状态 0未打卡 1已打卡 2异常打卡(冗余)
+     */
     public Integer getClockIn() {
         return clockIn;
     }
 
+    /**
+     * 打卡状态 0未打卡 1已打卡 2异常打卡(冗余)
+     */
     public void setClockIn(Integer clockIn) {
         this.clockIn = clockIn;
     }
+
+    /**
+     * 0无需审核 1需要审核 2营销审核通过 3营销审核驳回
+     */
+    public Integer getTechStartProcess() {
+        return techStartProcess;
+    }
+
+    /**
+     * 0无需审核 1需要审核 2营销审核通过 3营销审核驳回
+     */
+    public void setTechStartProcess(Integer techStartProcess) {
+        this.techStartProcess = techStartProcess;
+    }
 }

+ 129 - 0
src/main/java/com/goafanti/common/model/PublicReleaseClock.java

@@ -0,0 +1,129 @@
+package com.goafanti.common.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 公出打卡表
+ * @TableName public_release_clock
+ */
+public class PublicReleaseClock implements Serializable {
+    /**
+     * 
+     */
+    private Integer id;
+
+    /**
+     * 公出编号
+     */
+    private Integer prid;
+
+    /**
+     * 公出详情编号
+     */
+    private Integer prdid;
+
+    /**
+     * 附件
+     */
+    private String photoUrl;
+
+    /**
+     * 打卡时间
+     */
+    private Date clockInTime;
+
+    /**
+     * 发起时间
+     */
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * 
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 公出编号
+     */
+    public Integer getPrid() {
+        return prid;
+    }
+
+    /**
+     * 公出编号
+     */
+    public void setPrid(Integer prid) {
+        this.prid = prid;
+    }
+
+    /**
+     * 公出详情编号
+     */
+    public Integer getPrdid() {
+        return prdid;
+    }
+
+    /**
+     * 公出详情编号
+     */
+    public void setPrdid(Integer prdid) {
+        this.prdid = prdid;
+    }
+
+    /**
+     * 附件
+     */
+    public String getPhotoUrl() {
+        return photoUrl;
+    }
+
+    /**
+     * 附件
+     */
+    public void setPhotoUrl(String photoUrl) {
+        this.photoUrl = photoUrl;
+    }
+
+    /**
+     * 打卡时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    public Date getClockInTime() {
+        return clockInTime;
+    }
+
+    /**
+     * 打卡时间
+     */
+    public void setClockInTime(Date clockInTime) {
+        this.clockInTime = clockInTime;
+    }
+
+    /**
+     * 发起时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 发起时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 141 - 0
src/main/java/com/goafanti/common/model/PublicReleaseDateClock.java

@@ -0,0 +1,141 @@
+package com.goafanti.common.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 公出日期打卡表
+ * @TableName public_release_date_clock
+ */
+public class PublicReleaseDateClock implements Serializable {
+    /**
+     * 
+     */
+    private Integer id;
+
+    /**
+     * 公出编号
+     */
+    private Integer prid;
+
+    /**
+     * 公出详情编号
+     */
+    private Integer prdid;
+
+    /**
+     * 状态 0未打卡 1已打卡
+     */
+    private Integer status;
+
+    /**
+     * 打卡时间
+     */
+    private Date clockInTime;
+
+    /**
+     * 发起时间
+     */
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * 
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 公出编号
+     */
+    public Integer getPrid() {
+        return prid;
+    }
+
+    /**
+     * 公出编号
+     */
+    public void setPrid(Integer prid) {
+        this.prid = prid;
+    }
+
+    /**
+     * 公出详情编号
+     */
+    public Integer getPrdid() {
+        return prdid;
+    }
+
+    /**
+     * 公出详情编号
+     */
+    public void setPrdid(Integer prdid) {
+        this.prdid = prdid;
+    }
+
+    /**
+     * 状态 0未打卡 1已打卡
+     */
+    public Integer getStatus() {
+        return status;
+    }
+
+    /**
+     * 状态 0未打卡 1已打卡
+     */
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    /**
+     * 打卡时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    public Date getClockInTime() {
+        return clockInTime;
+    }
+
+    /**
+     * 打卡时间
+     */
+    public void setClockInTime(Date clockInTime) {
+        this.clockInTime = clockInTime;
+    }
+
+    /**
+     * 发起时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 发起时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    @Override
+    public String toString() {
+        return "PublicReleaseDateClock{" +
+                "id=" + id +
+                ", prid=" + prid +
+                ", prdid=" + prdid +
+                ", status=" + status +
+                ", clockInTime=" + clockInTime +
+                ", createTime=" + createTime +
+                '}';
+    }
+}

+ 237 - 2
src/main/java/com/goafanti/common/model/TOrderMid.java

@@ -5,8 +5,8 @@ import java.math.BigDecimal;
 import java.util.Date;
 
 /**
- * t_order_mid
- * @author 
+ * 订单中间表
+ * @TableName t_order_mid
  */
 public class TOrderMid implements Serializable {
     /**
@@ -189,293 +189,528 @@ public class TOrderMid implements Serializable {
      */
     private Integer stopProject;
 
+    /**
+     * 会员 0否 1是
+     */
+    private Integer bidType;
+
     private static final long serialVersionUID = 1L;
 
+    /**
+     * id
+     */
     public Integer getId() {
         return id;
     }
 
+    /**
+     * id
+     */
     public void setId(Integer id) {
         this.id = id;
     }
 
+    /**
+     * 订单编号
+     */
     public String getOrderNo() {
         return orderNo;
     }
 
+    /**
+     * 订单编号
+     */
     public void setOrderNo(String orderNo) {
         this.orderNo = orderNo;
     }
 
+    /**
+     * 营销员id
+     */
     public String getSalesmanId() {
         return salesmanId;
     }
 
+    /**
+     * 营销员id
+     */
     public void setSalesmanId(String salesmanId) {
         this.salesmanId = salesmanId;
     }
 
+    /**
+     * 财务id
+     */
     public String getFinanceId() {
         return financeId;
     }
 
+    /**
+     * 财务id
+     */
     public void setFinanceId(String financeId) {
         this.financeId = financeId;
     }
 
+    /**
+     * 营销员名称
+     */
     public String getSalesmanName() {
         return salesmanName;
     }
 
+    /**
+     * 营销员名称
+     */
     public void setSalesmanName(String salesmanName) {
         this.salesmanName = salesmanName;
     }
 
+    /**
+     * 财务名称
+     */
     public String getFinanceName() {
         return financeName;
     }
 
+    /**
+     * 财务名称
+     */
     public void setFinanceName(String financeName) {
         this.financeName = financeName;
     }
 
+    /**
+     * 最后一次收款
+     */
     public BigDecimal getFinalReceivables() {
         return finalReceivables;
     }
 
+    /**
+     * 最后一次收款
+     */
     public void setFinalReceivables(BigDecimal finalReceivables) {
         this.finalReceivables = finalReceivables;
     }
 
+    /**
+     * 最后一次收款时间
+     */
     public Date getFinalReceivablesTime() {
         return finalReceivablesTime;
     }
 
+    /**
+     * 最后一次收款时间
+     */
     public void setFinalReceivablesTime(Date finalReceivablesTime) {
         this.finalReceivablesTime = finalReceivablesTime;
     }
 
+    /**
+     * 开票金额
+     */
     public BigDecimal getInvoiceAmount() {
         return invoiceAmount;
     }
 
+    /**
+     * 开票金额
+     */
     public void setInvoiceAmount(BigDecimal invoiceAmount) {
         this.invoiceAmount = invoiceAmount;
     }
 
+    /**
+     * 创建时间
+     */
     public Date getCreateTime() {
         return createTime;
     }
 
+    /**
+     * 创建时间
+     */
     public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
 
+    /**
+     * 公司名称(冗余)
+     */
     public String getBuyerName() {
         return buyerName;
     }
 
+    /**
+     * 公司名称(冗余)
+     */
     public void setBuyerName(String buyerName) {
         this.buyerName = buyerName;
     }
 
+    /**
+     * 应收款
+     */
     public BigDecimal getOrderReceivables() {
         return orderReceivables;
     }
 
+    /**
+     * 应收款
+     */
     public void setOrderReceivables(BigDecimal orderReceivables) {
         this.orderReceivables = orderReceivables;
     }
 
+    /**
+     * 欠款
+     */
     public BigDecimal getOrderArrears() {
         return orderArrears;
     }
 
+    /**
+     * 欠款
+     */
     public void setOrderArrears(BigDecimal orderArrears) {
         this.orderArrears = orderArrears;
     }
 
+    /**
+     * 成本实付
+     */
     public BigDecimal getPaymentAmount() {
         return paymentAmount;
     }
 
+    /**
+     * 成本实付
+     */
     public void setPaymentAmount(BigDecimal paymentAmount) {
         this.paymentAmount = paymentAmount;
     }
 
+    /**
+     * 成本金额
+     */
     public BigDecimal getCostAmount() {
         return costAmount;
     }
 
+    /**
+     * 成本金额
+     */
     public void setCostAmount(BigDecimal costAmount) {
         this.costAmount = costAmount;
     }
 
+    /**
+     * 部门名称
+     */
     public String getDepName() {
         return depName;
     }
 
+    /**
+     * 部门名称
+     */
     public void setDepName(String depName) {
         this.depName = depName;
     }
 
+    /**
+     * 省份名称
+     */
     public String getProvinceName() {
         return provinceName;
     }
 
+    /**
+     * 省份名称
+     */
     public void setProvinceName(String provinceName) {
         this.provinceName = provinceName;
     }
 
+    /**
+     * 法务 0否 1是
+     */
     public Integer getLegalAffairs() {
         return legalAffairs;
     }
 
+    /**
+     * 法务 0否 1是
+     */
     public void setLegalAffairs(Integer legalAffairs) {
         this.legalAffairs = legalAffairs;
     }
 
+    /**
+     * 催款启动日期
+     */
     public Date getDunStartTime() {
         return dunStartTime;
     }
 
+    /**
+     * 催款启动日期
+     */
     public void setDunStartTime(Date dunStartTime) {
         this.dunStartTime = dunStartTime;
     }
 
+    /**
+     * 法务状态 0法务催收中 1延期法务 2已完成法务
+     */
     public Integer getLegalAffairsType() {
         return legalAffairsType;
     }
 
+    /**
+     * 法务状态 0法务催收中 1延期法务 2已完成法务
+     */
     public void setLegalAffairsType(Integer legalAffairsType) {
         this.legalAffairsType = legalAffairsType;
     }
 
+    /**
+     * 催款日期
+     */
     public Date getOperationTime() {
         return operationTime;
     }
 
+    /**
+     * 催款日期
+     */
     public void setOperationTime(Date operationTime) {
         this.operationTime = operationTime;
     }
 
+    /**
+     * 法务状态 0否 1已回款 2已诉讼 3已坏账处理
+     */
     public Integer getLegalAffairsStatus() {
         return legalAffairsStatus;
     }
 
+    /**
+     * 法务状态 0否 1已回款 2已诉讼 3已坏账处理
+     */
     public void setLegalAffairsStatus(Integer legalAffairsStatus) {
         this.legalAffairsStatus = legalAffairsStatus;
     }
 
+    /**
+     * 会员 0否 1是
+     */
     public Integer getProjectType() {
         return projectType;
     }
 
+    /**
+     * 会员 0否 1是
+     */
     public void setProjectType(Integer projectType) {
         this.projectType = projectType;
     }
 
+    /**
+     * 服务类型
+     */
     public String getServiceType() {
         return serviceType;
     }
 
+    /**
+     * 服务类型
+     */
     public void setServiceType(String serviceType) {
         this.serviceType = serviceType;
     }
 
+    /**
+     * 服务项目
+     */
     public String getServiceProject() {
         return serviceProject;
     }
 
+    /**
+     * 服务项目
+     */
     public void setServiceProject(String serviceProject) {
         this.serviceProject = serviceProject;
     }
 
+    /**
+     * 专利成本
+     */
     public BigDecimal getPatentCost() {
         return patentCost;
     }
 
+    /**
+     * 专利成本
+     */
     public void setPatentCost(BigDecimal patentCost) {
         this.patentCost = patentCost;
     }
 
+    /**
+     * 专利成本实付
+     */
     public BigDecimal getPatentCostActual() {
         return patentCostActual;
     }
 
+    /**
+     * 专利成本实付
+     */
     public void setPatentCostActual(BigDecimal patentCostActual) {
         this.patentCostActual = patentCostActual;
     }
 
+    /**
+     * 软著成本
+     */
     public BigDecimal getSoftCost() {
         return softCost;
     }
 
+    /**
+     * 软著成本
+     */
     public void setSoftCost(BigDecimal softCost) {
         this.softCost = softCost;
     }
 
+    /**
+     * 软著成本实付
+     */
     public BigDecimal getSoftCostActual() {
         return softCostActual;
     }
 
+    /**
+     * 软著成本实付
+     */
     public void setSoftCostActual(BigDecimal softCostActual) {
         this.softCostActual = softCostActual;
     }
 
+    /**
+     * 审计成本
+     */
     public BigDecimal getAuditCost() {
         return auditCost;
     }
 
+    /**
+     * 审计成本
+     */
     public void setAuditCost(BigDecimal auditCost) {
         this.auditCost = auditCost;
     }
 
+    /**
+     * 审计成本实付
+     */
     public BigDecimal getAuditCostActual() {
         return auditCostActual;
     }
 
+    /**
+     * 审计成本实付
+     */
     public void setAuditCostActual(BigDecimal auditCostActual) {
         this.auditCostActual = auditCostActual;
     }
 
+    /**
+     * 其他成本
+     */
     public BigDecimal getOtherCost() {
         return otherCost;
     }
 
+    /**
+     * 其他成本
+     */
     public void setOtherCost(BigDecimal otherCost) {
         this.otherCost = otherCost;
     }
 
+    /**
+     * 其他成本实付
+     */
     public BigDecimal getOtherCostActual() {
         return otherCostActual;
     }
 
+    /**
+     * 其他成本实付
+     */
     public void setOtherCostActual(BigDecimal otherCostActual) {
         this.otherCostActual = otherCostActual;
     }
 
+    /**
+     * 预计毛利
+     */
     public BigDecimal getExpectProfit() {
         return expectProfit;
     }
 
+    /**
+     * 预计毛利
+     */
     public void setExpectProfit(BigDecimal expectProfit) {
         this.expectProfit = expectProfit;
     }
 
+    /**
+     * 实际毛利
+     */
     public BigDecimal getActualProfit() {
         return actualProfit;
     }
 
+    /**
+     * 实际毛利
+     */
     public void setActualProfit(BigDecimal actualProfit) {
         this.actualProfit = actualProfit;
     }
 
+    /**
+     * 暂停项目  0无 1有
+     */
     public Integer getStopProject() {
         return stopProject;
     }
 
+    /**
+     * 暂停项目  0无 1有
+     */
     public void setStopProject(Integer stopProject) {
         this.stopProject = stopProject;
     }
+
+    /**
+     * 会员 0否 1是
+     */
+    public Integer getBidType() {
+        return bidType;
+    }
+
+    /**
+     * 会员 0否 1是
+     */
+    public void setBidType(Integer bidType) {
+        this.bidType = bidType;
+    }
 }

+ 183 - 0
src/main/java/com/goafanti/common/model/TOrderPublicReleaseCount.java

@@ -0,0 +1,183 @@
+package com.goafanti.common.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 订单公出信息表
+ * @TableName t_order_public_release_count
+ */
+public class TOrderPublicReleaseCount implements Serializable {
+    /**
+     * 
+     */
+    private Integer id;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 状态0=无需限制,1需要限制
+     */
+    private Integer status;
+
+    /**
+     * 最大公出
+     */
+    private Double maxDuration;
+
+    /**
+     * 实际公出
+     */
+    private Double actualDuration;
+
+    /**
+     * 超出公出
+     */
+    private Double exceedDuration;
+
+    /**
+     * 公出人数
+     */
+    private Integer peopleCount;
+
+    /**
+     * 公出次数
+     */
+    private Integer frequency;
+
+    /**
+     * 发起时间
+     */
+    private Date createTime;
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * 
+     */
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    /**
+     * 订单编号
+     */
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    /**
+     * 订单编号
+     */
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    /**
+     * 状态0=无需限制,1需要限制
+     */
+    public Integer getStatus() {
+        return status;
+    }
+
+    /**
+     * 状态0=无需限制,1需要限制
+     */
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    /**
+     * 最大公出
+     */
+    public Double getMaxDuration() {
+        return maxDuration;
+    }
+
+    /**
+     * 最大公出
+     */
+    public void setMaxDuration(Double maxDuration) {
+        this.maxDuration = maxDuration;
+    }
+
+    /**
+     * 实际公出
+     */
+    public Double getActualDuration() {
+        return actualDuration;
+    }
+
+    /**
+     * 实际公出
+     */
+    public void setActualDuration(Double actualDuration) {
+        this.actualDuration = actualDuration;
+    }
+
+    /**
+     * 超出公出
+     */
+    public Double getExceedDuration() {
+        return exceedDuration;
+    }
+
+    /**
+     * 超出公出
+     */
+    public void setExceedDuration(Double exceedDuration) {
+        this.exceedDuration = exceedDuration;
+    }
+
+    /**
+     * 公出人数
+     */
+    public Integer getPeopleCount() {
+        return peopleCount;
+    }
+
+    /**
+     * 公出人数
+     */
+    public void setPeopleCount(Integer peopleCount) {
+        this.peopleCount = peopleCount;
+    }
+
+    /**
+     * 公出次数
+     */
+    public Integer getFrequency() {
+        return frequency;
+    }
+
+    /**
+     * 公出次数
+     */
+    public void setFrequency(Integer frequency) {
+        this.frequency = frequency;
+    }
+
+    /**
+     * 发起时间
+     */
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    /**
+     * 发起时间
+     */
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 5 - 0
src/main/java/com/goafanti/common/utils/DateUtils.java

@@ -416,6 +416,11 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
 		return format.format(date);
 	}
 
+	public static String formatDateYYYYMMddHHmm(Date date) {
+		SimpleDateFormat format = new SimpleDateFormat(parsePatterns[2]);
+		return format.format(date);
+	}
+
 	/**
 	 * 解析日期
 	 * @param source

+ 20 - 23
src/main/java/com/goafanti/common/utils/HttpUtils.java

@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
 import org.apache.http.HttpResponse;
 import org.apache.http.HttpStatus;
 import org.apache.http.ParseException;
-import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
@@ -14,7 +13,8 @@ import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
 
 import java.io.IOException;
-import java.nio.charset.Charset;
+import java.net.UnknownHostException;
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -53,7 +53,6 @@ public class HttpUtils {
 		  * @param url 地址
 		  * @param map 参数
 		  * @param type  0 json  1body
-		  * @return
 		  */
 		public static JSONObject httpPost(String url,Map<String, Object>map,Integer type) {
 			HttpClient httpClient = HttpClientBuilder.create().build();
@@ -61,45 +60,43 @@ public class HttpUtils {
 			httpPost.setHeader("Accept", "application/json");
 			if (type==0){
 				httpPost.addHeader("Content-type", "application/json");
-				httpPost.setEntity(new StringEntity(JSON.toJSONString(map), Charset.forName("UTF-8")));
+				httpPost.setEntity(new StringEntity(JSON.toJSONString(map), StandardCharsets.UTF_8));
 			}else{
 				httpPost.addHeader("Content-type", "application/x-www-form-urlencoded");
-				httpPost.setEntity(new StringEntity(ParamMap(map), Charset.forName("UTF-8")));
+				httpPost.setEntity(new StringEntity(ParamMap(map), StandardCharsets.UTF_8));
 			}
 
 			HttpResponse response = null;
 			try {
 				response = httpClient.execute(httpPost);
-			if (null == response || response.getStatusLine() == null) {
-				throw new Exception("Post Request For Url[{}] is not ok. Response is null");
-			} else if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
-				throw new Exception("Post Request For Url[{}] is not ok. Response Status Code is {"+response.getStatusLine().getStatusCode()+"}");
-			}
-			} catch (ClientProtocolException e) {
-				e.printStackTrace();
-			} catch (IOException e) {
-				e.printStackTrace();
+				if (null == response || response.getStatusLine() == null) {
+					throw new Exception("Post Request For Url[{}] is not ok. Response is null");
+				} else if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
+					throw new Exception("Post Request For Url[{}] is not ok. Response Status Code is {"+response.getStatusLine().getStatusCode()+"}");
+				}
+			} catch (UnknownHostException uhe) {
+				LoggerUtils.error(HttpUtils.class,uhe.getMessage());
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
 			String resultString=null;
 			try {
-				resultString = EntityUtils.toString(response.getEntity());
-			} catch (ParseException | IOException e) {
+                if (response != null) {
+                    resultString = EntityUtils.toString(response.getEntity());
+                }
+            } catch (ParseException | IOException e) {
 				e.printStackTrace();
 			}
-			JSONObject jsonObj = JSONObject.parseObject(resultString);
-			return jsonObj;
+            return JSONObject.parseObject(resultString);
 			}
 
 	private static String ParamMap(Map<String, Object> map) {
-		StringBuffer str =new StringBuffer();
+		StringBuilder str =new StringBuilder();
 		Set<String> strings = map.keySet();
 		for (String string : strings) {
-			str=str.append(string).append("=").append(map.get(string)).append("&");
-		}
-		String substring = str.substring(0, str.length() - 1);
-		return substring;
+            str.append(string).append("=").append(map.get(string)).append("&");
+        }
+        return str.substring(0, str.length() - 1);
 	}
 
 	public static void main(String[] args) {

+ 35 - 0
src/main/java/com/goafanti/expenseAccount/bo/ExpenseCountsBo.java

@@ -11,6 +11,8 @@ public class ExpenseCountsBo {
     private String depId;
 
     private String depName;
+
+    private Double maxDuration ,actualDuration ,exceedDuration;
     private BigDecimal totalAmount;
     private BigDecimal settlementAmount;
     private BigDecimal expenseAmount;
@@ -21,6 +23,39 @@ public class ExpenseCountsBo {
 
     private Integer notExamine;
     private Integer days;
+    private Integer bidType;
+
+    public Integer getBidType() {
+        return bidType;
+    }
+
+    public void setBidType(Integer bidType) {
+        this.bidType = bidType;
+    }
+
+    public Double getMaxDuration() {
+        return maxDuration;
+    }
+
+    public void setMaxDuration(Double maxDuration) {
+        this.maxDuration = maxDuration;
+    }
+
+    public Double getActualDuration() {
+        return actualDuration;
+    }
+
+    public void setActualDuration(Double actualDuration) {
+        this.actualDuration = actualDuration;
+    }
+
+    public Double getExceedDuration() {
+        return exceedDuration;
+    }
+
+    public void setExceedDuration(Double exceedDuration) {
+        this.exceedDuration = exceedDuration;
+    }
 
     public String getDepId() {
         return depId;

+ 19 - 0
src/main/java/com/goafanti/expenseAccount/bo/SonExpenseAccount.java

@@ -33,8 +33,27 @@ public class SonExpenseAccount {
     private BigDecimal debitRealAmount;
     private BigDecimal debitSettlementAmount;
     private Integer debitLiquidationStatus;
+    private Integer bidType;
+    private String  countStr;
     private List<SonExpenseAccountDetails> detList;
 
+    public Integer getBidType() {
+        return bidType;
+    }
+
+    public void setBidType(Integer bidType) {
+        this.bidType = bidType;
+    }
+
+    public String getCountStr() {
+        return countStr;
+    }
+
+    public void setCountStr(String countStr) {
+        this.countStr = countStr;
+    }
+
+
     public String getBuyerId() {
         return buyerId;
     }

+ 25 - 2
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -80,6 +80,11 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     private DepartmentMapper departmentMapper;
     @Autowired
     private ExpenseConfigDetailsMapper expenseConfigDetailsMapper;
+    @Autowired
+    private TOrderTaskMapper tOrderTaskMapper;
+    @Autowired
+    private TOrderPublicReleaseCountMapper tOrderPublicReleaseCountMapper;
+
 
 
 
@@ -1389,7 +1394,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
     private void pushData(MainExpenseAccount res) {
         List<SonExpenseAccount> sonList = res.getSonList();
-        sonList.stream().forEach(e->{
+        for (SonExpenseAccount e : sonList) {
             if (StringUtils.isNotEmpty(e.getUserNames())){
                 String userNames = e.getUserNames();
                 String  districtName = e.getDistrictName();
@@ -1403,9 +1408,26 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                     districtName=districtName.replace(userNames,"");
                     e.setDistrictName(districtName);
                 }
+
+
             }
+            if (e.getOrderNo()!=null){
+                TOrderPublicReleaseCount out = tOrderPublicReleaseCountMapper.selectByOrderNo(e.getOrderNo());
+                List<ExpenseAccount> expenseAccounts = expenseAccountMapper.selectByOrderNo(e.getOrderNo());
+                BigDecimal reduce = expenseAccounts.stream().map(ExpenseAccount::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+                String str = e.getBuyerName() + e.getContractNo() +
+                        ":应公出" + out.getMaxDuration() + "小时" +
+                        ",已" + out.getPeopleCount() + "人公出," +
+                        out.getFrequency() + "次" +
+                        "," + out.getActualDuration() + "小时" +
+                        ",超过" + out.getExceedDuration() + "小时" +
+                        ",已报销" + reduce.stripTrailingZeros().toPlainString() + "元";
+                e.setCountStr(str);
+            }
+        }
+
+
 
-        });
 
     }
 
@@ -1661,6 +1683,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
                 //财务管理员和超级管理员查看全部
                 in.setProcessStatus(6);
                 param.put("auditor",TokenManager.getAdminId());
+                if(StringUtils.isNotBlank(in.getAid()))param.put("aid",in.getAid());
             }else if (TokenManager.hasRole(AFTConstants.FINANCE)){
                 //0 设置为财务查看
 

+ 4 - 0
src/main/java/com/goafanti/order/enums/ProcessStatus.java

@@ -17,6 +17,10 @@ public enum ProcessStatus {
 	YPYXGLY(2,"已派营销管理员"),
 	/** 已派财务与技术总监**/
 	YPCW_JSZJ(3,"已派财务与技术总监"),
+	/**
+	 * 指定审核
+	 */
+//	ZDSH(4,"财务指定审核人"),
 	/** 已派特批审核 **/
 	YPTPSH(4,"已派特批审核"),
 	/** 已派咨询师管理员 **/

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

@@ -229,4 +229,6 @@ public interface OrderNewService {
 	void financeCountOrderUnauditedSubtraction(TOrderNew use, Integer i);
 
 	void orderNewListDownload(InputOrderNewListBo in, HttpServletResponse response);
+
+	void pushOrderPublicReleaseCount(String orderNo, Integer prid);
 }

+ 3 - 0
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -960,6 +960,9 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		date.setTime(date.getTime()+500);
 		addOrderChangeLog("变更完成。", 4, nb.getOrderNo(), nb.getId(),date);
 		pushGeneralSendNoticeAndEmail(alist,NoticeStatus.ORDER_CHANGE_END.getCode(), order, TokenManager.getAdminId(),0);
+		orderNewService.pushOrderPublicReleaseCount(nb.getOrderNo(),null);
+		//修改投标标识
+		tOrderMidMapper.updateBidTypeByOrderNo(nb.getOrderNo());
 		return 1;
 	}
 

+ 70 - 0
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -139,6 +139,10 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	private AdminUserCountMapper adminUserCountMapper;
 	@Autowired
 	private FinanceCountMapper financeCountMapper;
+	@Autowired
+	private PublicReleaseMapper publicReleaseMapper;
+	@Autowired
+	private TOrderPublicReleaseCountMapper tOrderPublicReleaseCountMapper;
 
 
 	@Value(value = "${upload.path}")
@@ -606,6 +610,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			if (str.length()>0)t.setExamineName(str.substring(0,str.length()-1));
 			TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t2.getOrderNo());
 			pushGeneralSendNoticeAndEmail(aids, type,order, TokenManager.getAdminId(),t.getApproval());
+
+			//如果有投标,标记成投标订单
+			tOrderMidMapper.updateBidTypeByOrderNo(t.getOrderNo());
 		}
 		//驳回重新发起,需要刷新当天和今天
 		boolean newOrderFlag=false;
@@ -632,6 +639,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			}
 		}
 		tOrderNewMapper.updateByPrimaryKeySelective(t);
+		//计算公出统计
+		pushOrderPublicReleaseCount(t.getOrderNo(),null);
 		updateAdminUserCountOrder(t2.getSalesmanId(),t2.getCreateTime());
 		if (newOrderFlag){
 			updateAdminUserCountOrder(t2.getSalesmanId(),date);
@@ -641,6 +650,67 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 
 
+	public void pushOrderPublicReleaseCount(String orderNo,Integer prId) {
+			List<PublicRelease> list = publicReleaseMapper.selectByOrderNo(orderNo);
+			TOrderNewBo t = tOrderNewMapper.getOrderNewDetail(orderNo);
+			BigDecimal durationCount = BigDecimal.ZERO;
+			int count=0;
+			List<String> peopleList = new ArrayList<>();
+
+			for (PublicRelease e : list) {
+				durationCount=durationCount.add(BigDecimal.valueOf(e.getDuration()));
+				if (!peopleList.contains(e.getAid())){
+					peopleList.add(e.getAid());
+				}
+				count++;
+			}
+
+		TOrderPublicReleaseCount out = tOrderPublicReleaseCountMapper.selectByOrderNo(orderNo);
+			if (out==null){
+				out=new TOrderPublicReleaseCount();
+				out.setOrderNo(orderNo);
+				out.setMaxDuration(0d);
+				out.setActualDuration(durationCount.doubleValue());
+				out.setPeopleCount(peopleList.size());
+				out.setFrequency(count);
+				pushMaxDuration(t,out);
+				tOrderPublicReleaseCountMapper.insertSelective(out);
+			}else {
+				out.setOrderNo(orderNo);
+				out.setMaxDuration(0d);
+				out.setActualDuration(durationCount.doubleValue());
+				out.setPeopleCount(peopleList.size());
+				out.setFrequency(count);
+				pushMaxDuration(t,out);
+				tOrderPublicReleaseCountMapper.updateByPrimaryKeySelective(out);
+			}
+
+
+	}
+
+	private void pushMaxDuration(TOrderNewBo t,TOrderPublicReleaseCount out ) {
+		BigDecimal res=BigDecimal.ZERO;
+		int status=1;
+		if (t.getTotalAmount().compareTo(BigDecimal.valueOf(1)) < 0) {
+			res=BigDecimal.ZERO;
+		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0) {
+			res=BigDecimal.valueOf(15);
+
+		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0) {
+			res=BigDecimal.valueOf(45);
+
+		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0) {
+			res=BigDecimal.valueOf(120);
+
+		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(10))>=0) {
+			status=0;
+		}
+		out.setMaxDuration(res.doubleValue());
+		out.setStatus(status);
+
+	}
+
+
 	@Override
 	public void updateAdminUserCountOrder(String aid,Date transferTime) {
 		String startTime= DateUtils.formatDate(transferTime,AFTConstants.YYYYMMDD);

+ 98 - 0
src/main/java/com/goafanti/weChat/bo/CheckOrderNoOut.java

@@ -0,0 +1,98 @@
+package com.goafanti.weChat.bo;
+
+import java.math.BigDecimal;
+
+public class CheckOrderNoOut {
+        private String userName;
+        private String contractNo;
+
+        private Integer peopleCount;
+        private Integer timesCount;
+        private BigDecimal durationCount;
+        private BigDecimal durationMax;
+
+        private Integer amountType;
+
+    /**
+     * 审核人
+     */
+    private String adminName;
+
+    /**
+     * 发起人
+     */
+    private String publicReleaseName;
+
+
+    public String getPublicReleaseName() {
+        return publicReleaseName;
+    }
+
+    public void setPublicReleaseName(String publicReleaseName) {
+        this.publicReleaseName = publicReleaseName;
+    }
+
+    public BigDecimal getDurationMax() {
+            return durationMax;
+        }
+
+        public void setDurationMax(BigDecimal durationMax) {
+            this.durationMax = durationMax;
+        }
+
+        public String getUserName() {
+            return userName;
+        }
+
+        public void setUserName(String userName) {
+            this.userName = userName;
+        }
+
+        public String getContractNo() {
+            return contractNo;
+        }
+
+        public void setContractNo(String contractNo) {
+            this.contractNo = contractNo;
+        }
+
+        public Integer getPeopleCount() {
+            return peopleCount;
+        }
+
+        public void setPeopleCount(Integer peopleCount) {
+            this.peopleCount = peopleCount;
+        }
+
+        public Integer getTimesCount() {
+            return timesCount;
+        }
+
+        public void setTimesCount(Integer timesCount) {
+            this.timesCount = timesCount;
+        }
+
+        public BigDecimal getDurationCount() {
+            return durationCount;
+        }
+
+        public void setDurationCount(BigDecimal durationCount) {
+            this.durationCount = durationCount;
+        }
+
+        public Integer getAmountType() {
+            return amountType;
+        }
+
+        public void setAmountType(Integer amountType) {
+            this.amountType = amountType;
+        }
+
+        public String getAdminName() {
+            return adminName;
+        }
+
+        public void setAdminName(String adminName) {
+            this.adminName = adminName;
+        }
+}

+ 14 - 0
src/main/java/com/goafanti/weChat/bo/InputPublicDtails.java

@@ -10,6 +10,12 @@ public class InputPublicDtails {
 	private String aid;
 	private String uid;
 	private Integer status;
+
+
+	/**
+	 *  审核状态 0=无 1=审核中,完成
+	 */
+	private Integer statusType;
 	private Integer clockIn;
 	/**
 	 * type 0个人 1部门 2全部
@@ -24,6 +30,14 @@ public class InputPublicDtails {
 	private Integer pageSize;
 	private Integer pageNo;
 
+	public Integer getStatusType() {
+		return statusType;
+	}
+
+	public void setStatusType(Integer statusType) {
+		this.statusType = statusType;
+	}
+
 	public String getContractNo() {
 		return contractNo;
 	}

+ 1 - 1
src/main/java/com/goafanti/weChat/bo/InputPublicReleaseList.java

@@ -4,7 +4,7 @@ public class InputPublicReleaseList {
 
 	private Integer pageSize;
 	private Integer pageNo;
-//	查看类型 0我的公出 1公出审核 2管理员 3协单(技术财税总监看全部) 4 公出企业负责人审核
+//	查看类型 0我的公出 1公出审核 2管理员 3协单(技术财税总监看全部) 4 公出企业负责人审核 5 技术公出审核
 	private Integer type;
 	private String clockTime;
 	/**

+ 21 - 0
src/main/java/com/goafanti/weChat/bo/OutPublicDtails.java

@@ -1,12 +1,15 @@
 package com.goafanti.weChat.bo;
 
+import com.goafanti.common.model.PublicReleaseClock;
 import com.goafanti.common.utils.excel.Excel;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 public class OutPublicDtails  {
 
 	private Integer id;
+	private Integer prdId;
 	@Excel(name = "客户名称")
 	private String userName;
 	@Excel(name = "签单状态",readConverterExp = "0=未签单,1=已签单",width = 8)
@@ -68,6 +71,24 @@ public class OutPublicDtails  {
 	@Excel(name = "订单总金额" ,scale = 6)
 	private BigDecimal totalAmout;
 
+	private List<PublicReleaseClock> list;
+
+
+	public List<PublicReleaseClock> getList() {
+		return list;
+	}
+
+	public void setList(List<PublicReleaseClock> list) {
+		this.list = list;
+	}
+
+	public Integer getPrdId() {
+		return prdId;
+	}
+
+	public void setPrdId(Integer prdId) {
+		this.prdId = prdId;
+	}
 
 	public Integer getSignBills() {
 		return signBills;

+ 21 - 2
src/main/java/com/goafanti/weChat/bo/OutPublicRelease.java

@@ -3,7 +3,6 @@ package com.goafanti.weChat.bo;
 import com.goafanti.common.model.PublicExamine;
 import com.goafanti.common.model.PublicRelease;
 
-import java.util.Date;
 import java.util.List;
 
 public class OutPublicRelease extends PublicRelease {
@@ -21,7 +20,9 @@ public class OutPublicRelease extends PublicRelease {
 	private String suprId;
 	/** 审核权限*/
 	private Integer permission;
-	/** 自己是否审核 */
+	/** 自己是否审核
+	 *   0=自己  1不是自己
+	 * */
 	private Integer myExamine;
 
 	private String reviewer;
@@ -38,9 +39,27 @@ public class OutPublicRelease extends PublicRelease {
 	 */
 	private String assistAidName;
 	private String uids;
+	private String adminExamine;
+	private String reviewerName;
 	private List<OutPublicReleaseDetails> prdList;
 	private List<PublicExamine> peList;
 
+	public String getReviewerName() {
+		return reviewerName;
+	}
+
+	public void setReviewerName(String reviewerName) {
+		this.reviewerName = reviewerName;
+	}
+
+	public String getAdminExamine() {
+		return adminExamine;
+	}
+
+	public void setAdminExamine(String adminExamine) {
+		this.adminExamine = adminExamine;
+	}
+
 	public List<PublicExamine> getPeList() {
 		return peList;
 	}

+ 12 - 2
src/main/java/com/goafanti/weChat/bo/OutPublicReleaseDetails.java

@@ -1,9 +1,9 @@
 package com.goafanti.weChat.bo;
 
+import com.goafanti.common.model.PublicReleaseDateClock;
 import com.goafanti.common.model.PublicReleaseDetails;
 
-import java.io.Serializable;
-import java.util.Date;
+import java.util.List;
 
 /**
  * public_release_details
@@ -13,6 +13,16 @@ public class OutPublicReleaseDetails extends PublicReleaseDetails {
     private String userName;
     private String clockInTimes;
 
+    private List<PublicReleaseDateClock> prdcList;
+
+    public List<PublicReleaseDateClock> getPrdcList() {
+        return prdcList;
+    }
+
+    public void setPrdcList(List<PublicReleaseDateClock> prdcList) {
+        this.prdcList = prdcList;
+    }
+
     public String getUserName() {
         return userName;
     }

+ 32 - 1
src/main/java/com/goafanti/weChat/bo/OutPublicReleaseList.java

@@ -25,13 +25,44 @@ public class OutPublicReleaseList {
 	private String 	assistAidName;
 	private String	mainName;
 	private String rejectName;
+	private String reviewerName;
 	private String assistantAid;
 	private String assistantName;
 	private String userNames;
 	private String adminExamine;
 	private Integer publicAgain;
+	private Integer publicType;
+	private Integer techStartProcess;
 	private BigDecimal expenseAmount;
 
+	private List<OutPublicReleaseDetails> prdList;
+
+
+
+	public Integer getTechStartProcess() {
+		return techStartProcess;
+	}
+
+	public void setTechStartProcess(Integer techStartProcess) {
+		this.techStartProcess = techStartProcess;
+	}
+
+	public Integer getPublicType() {
+		return publicType;
+	}
+
+	public void setPublicType(Integer publicType) {
+		this.publicType = publicType;
+	}
+
+	public String getReviewerName() {
+		return reviewerName;
+	}
+
+	public void setReviewerName(String reviewerName) {
+		this.reviewerName = reviewerName;
+	}
+
 	public BigDecimal getExpenseAmount() {
 		return expenseAmount;
 	}
@@ -40,7 +71,7 @@ public class OutPublicReleaseList {
 		this.expenseAmount = expenseAmount;
 	}
 
-	private List<OutPublicReleaseDetails> prdList;
+
 
 	public String getAdminExamine() {
 		return adminExamine;

+ 52 - 26
src/main/java/com/goafanti/weChat/controller/AdminReleaseApiController.java

@@ -67,7 +67,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 修改外出申请、修改公出
-	 * @return
 	 */
 	@RequestMapping(value = "/updatePublicRelease", method = RequestMethod.POST)
 	public Result updatePublicRelease(InputPublicRelease in){
@@ -86,8 +85,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 修改打卡地址
-	 * @param in
-	 * @return
 	 */
 	@RequestMapping(value = "/updateLocation", method = RequestMethod.POST)
 	public Result updateLocation(InputPublicRelease in){
@@ -106,22 +103,25 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 外出打卡、公出打卡
-	 * @return
 	 */
 	@RequestMapping(value = "/publicReleaseClockIn", method = RequestMethod.POST)
 	public Result publicReleaseClockIn(Integer id,String photoUrl,Integer clockIn ,String clockInRemarks,String uid ){
 		Result res =new Result();
-		Integer x=publicReleaseService.pushPublicReleaseClockIn(id,photoUrl,clockIn,clockInRemarks,uid);
+		int x=publicReleaseService.pushPublicReleaseClockIn(id,photoUrl,clockIn,clockInRemarks,uid);
 		if (x==-1){
 			res.getError().add(buildError("公出他人企业!需通过审核,才可以打卡!"));
 			return res;
 		}
+//		取消打卡限制
+//		if (x==-2){
+//			res.getError().add(buildError("已超过合同规定时限,需审核通过,才可打卡!"));
+//			return res;
+//		}
 		res.setData(x);
 		return res;
 	}
 	/**
 	 * 外出申请详情
-	 * @return
 	 */
 	@RequestMapping(value = "/dtails", method = RequestMethod.GET)
 	public Result dtails(Integer id){
@@ -133,7 +133,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 外出申请详情
-	 * @return
 	 */
 	@RequestMapping(value = "/followDtails", method = RequestMethod.GET)
 	public Result followDtails(String id){
@@ -144,7 +143,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 外出申请列表.公出列表
-	 * @return
 	 */
 	@RequestMapping(value = "/listPublicRelease", method = RequestMethod.GET)
 	public Result listPublicRelease(InputPublicReleaseList in){
@@ -155,7 +153,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 公出审核、外出审核 上级
-	 * @return
 	 */
 	@RequestMapping(value = "/examinePublicRelease", method = RequestMethod.POST)
 	public Result examinePublicRelease(Integer id ,Integer status,String remarks){
@@ -178,10 +175,9 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 公出审核、外出审核 营销
-	 * @return
 	 */
-	@RequestMapping(value = "/MarketersExamine", method = RequestMethod.POST)
-	public Result MarketersExamine(Integer id ,Integer status,String remarks){
+	@RequestMapping(value = "/marketersExamine", method = RequestMethod.POST)
+	public Result marketersExamine(Integer id ,Integer status,String remarks){
 		Result res =new Result();
 		if (id==null) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出编号"));
@@ -200,9 +196,28 @@ public class AdminReleaseApiController extends CertifyApiController{
 	}
 
 
+	@RequestMapping(value = "/techExamine", method = RequestMethod.POST)
+	public Result techExamine(Integer id ,Integer status,String remarks){
+		Result res =new Result();
+		if (id==null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"公出编号"));
+			return res;
+		}
+		if (status!=0&&status!=2) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"审核状态"));
+			return res;
+		}
+		if (remarks.length()>20) {
+			res.getError().add(buildError("备注长度不能超过20个字符。"));
+			return res;
+		}
+		res.setData(publicReleaseService.pushExaminePublicRelease(id,status,remarks,2));
+		return res;
+	}
+
+
 	/**
 	 * 咨询驳回
-	 * @return
 	 */
 	@RequestMapping(value = "/techReject", method = RequestMethod.POST)
 	public Result techReject(Integer id ,String remarks){
@@ -223,7 +238,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 外出审核日志列表
-	 * @return
 	 */
 	@RequestMapping(value = "/listPublicReleaseLog", method = RequestMethod.GET)
 	public Result listPublicReleaseLog(Integer id,String ufid){
@@ -236,7 +250,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 公出统计
-	 * @return
 	 */
 	@RequestMapping(value = "/publicReleaseStatistics", method = RequestMethod.GET)
 	public Result publicReleaseStatistics(InputPublicStatistics in){
@@ -247,19 +260,17 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 公出统计导出
-	 * @return
 	 */
 	@RequestMapping(value = "/publicReleaseStatistics/export", method = RequestMethod.GET)
 	public Result publicReleaseStatisticsExport(InputPublicStatistics in,HttpServletResponse response){
 		List<OutPublicStatistics> list =publicReleaseService.publicReleaseStatisticsList(in);
-      	NewExcelUtil<OutPublicStatistics>excel=new NewExcelUtil<>(OutPublicStatistics.class);
+		NewExcelUtil<OutPublicStatistics>excel=new NewExcelUtil<>(OutPublicStatistics.class);
   		 return  excel.exportExcel(list,"公出统计列表",response);
 	}
 
 
 	/**
 	 * 公出详情列表
-	 * @return
 	 */
 	@RequestMapping(value = "/publicReleaseDtails", method = RequestMethod.GET)
 	public Result publicReleaseListDtails(InputPublicDtails in){
@@ -278,16 +289,15 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 公出详情列表
-	 * @return
 	 */
 	@RequestMapping(value = "/publicReleaseDtails/export", method = RequestMethod.GET)
 	public Result publicReleaseListDtailsExport(InputPublicDtails in ,Integer exportType){
 		if (exportType==null)exportType=0;
 		List<OutPublicDtails> outList=publicReleaseService.publicReleaseListDtailsList(in);
+		publicReleaseService.pushOutPublicDtails(outList);
 		if (exportType==0){
-			List<OutPublicDtails> list=outList;
-			NewExcelUtil<OutPublicDtails>excel=new NewExcelUtil<>(OutPublicDtails.class);
-			return  excel.exportExcel(list,"公出详细列表",uploadPath);
+            NewExcelUtil<OutPublicDtails>excel=new NewExcelUtil<>(OutPublicDtails.class);
+			return  excel.exportExcel(outList,"公出详细列表",uploadPath);
 		}else if (exportType==1){
 			List<OutPublicDtailsFinance> list = new ArrayList<>();
 			for (OutPublicDtails outPublicDtails : outList) {
@@ -315,7 +325,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 搜索
-	 * @return
 	 */
 	@RequestMapping(value = "/addSupplement", method = RequestMethod.POST)
 	public Result addSupplement(Integer id,String supplement,String nextPlan){
@@ -366,7 +375,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 
 	/**
 	 * 打卡页面获取自己最新的打卡
-	 * @return
 	 */
 	@RequestMapping(value = "/getMyNewPublic",method = RequestMethod.GET)
 	public Result getMyNewPublic (){
@@ -379,7 +387,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 	 * 新增协单助手
 	 * @param id 公出编号
 	 * @param aid 协单助手编号
-	 * @return
 	 */
 	@RequestMapping(value = "/addAssistant",method = RequestMethod.POST)
 	public Result addAssistant (Integer id,String aid){
@@ -400,7 +407,6 @@ public class AdminReleaseApiController extends CertifyApiController{
 	 * 删除协单助手
 	 * @param id 公出编号
 	 * @param aid 协单助手编号
-	 * @return
 	 */
 	@RequestMapping(value = "/deleteAssistant",method = RequestMethod.POST)
 	public Result deleteAssistant (Integer id,String aid){
@@ -418,5 +424,25 @@ public class AdminReleaseApiController extends CertifyApiController{
 	}
 
 
+	/**
+	 * 技术发起公出查询发起情况
+	 */
+	@RequestMapping(value = "/checkOrderNoDuration",method = RequestMethod.GET)
+	public Result checkOrderNoDuration (InputPublicRelease in){
+		Result res =new Result();
+		return res.data(publicReleaseService.checkOrderNoDuration(in));
+	}
+
+
+	/**
+	 * 技术发起公出查询发起情况
+	 */
+	@RequestMapping(value = "/pushDateClock",method = RequestMethod.POST)
+	public Result pushDateClock (){
+		Result res =new Result();
+		return res.data(publicReleaseService.pushDateClock());
+	}
+
+
 
 }

+ 7 - 0
src/main/java/com/goafanti/weChat/service/PublicReleaseService.java

@@ -64,4 +64,11 @@ public interface PublicReleaseService {
     int updateLocation(InputPublicRelease in);
 
 	Object publicReleaseAndCount(InputPublicDtails in);
+
+    Map checkOrderNoDuration( InputPublicRelease in);
+
+
+	void pushOutPublicDtails(List<OutPublicDtails> outList);
+
+	Object pushDateClock();
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 571 - 115
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java


+ 2 - 2
src/main/resources/props/config_local.properties

@@ -1,8 +1,8 @@
 dev.name=local
 jdbc.driverClassName=com.mysql.jdbc.Driver
 
-static.host=//static.jishutao.com/1.3.12
-#static.host=//172.16.1.187/1.3.12
+static.host=//static.jishutao.com/1.3.13
+#static.host=//172.16.1.187/1.3.13
 
 #jdbc.url=jdbc\:mysql://localhost:3306/aft20221026?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -52,7 +52,7 @@ amb.maxLvl=6
 
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.3.12
+static.host=//static.jishutao.com/1.3.13
 rd.static.host=//static.jishutao.com/RD/1.0.03
 avatar.upload.host=//static.jishutao.com/upload