Browse Source

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

anderx 1 year ago
parent
commit
2b9779fa00

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

@@ -44,5 +44,6 @@ public interface RestrictProjectMapper {
 
     void updateRefreshLockTime(@Param("uid") String uid, @Param("pid") String pid, @Param("aid") String aid);
 
-    Object selectRestrictProjectUser(List<String> list);
+
+    void deleteByPram(RestrictProject restrictProject);
 }

+ 1 - 0
src/main/java/com/goafanti/common/dao/TTaskMemberMapper.java

@@ -23,6 +23,7 @@ public interface TTaskMemberMapper {
     int updateByTid(TTaskMember ttm);
 
     TTaskMember selectByTid(int tid);
+    List<TTaskMember> selectByOrderNo(String orderNo);
 
     void updateSplitSuper(@Param("id") Integer id, @Param("serviceLife") String serviceLife,
                           @Param("serviceYear") String serviceYear, @Param("yearSum") Integer yearSum,

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

@@ -213,7 +213,7 @@
     <if test="aid != null">
     	and n.aid = #{aid}
     </if>
-    order by n.create_time desc
+    order by n.create_time desc limit 1000
   </select>
     
     

+ 25 - 15
src/main/java/com/goafanti/common/mapper/RestrictProjectMapper.xml

@@ -33,6 +33,11 @@
         delete from restrict_project
         where  id = #{id,jdbcType=INTEGER} 
     </delete>
+    <delete id="deleteByPram">
+        delete from restrict_project
+        where  uid = #{uid}
+        and pid = #{pid}
+    </delete>
     <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.RestrictProject" useGeneratedKeys="true">
         insert into restrict_project
         ( id,pid,uid
@@ -114,16 +119,7 @@
     </update>
 
 
-    <select id="selectByParam" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List" />
-        from restrict_project
-        where aid = #{aid,jdbcType=VARCHAR}
-        and uid =#{uid,jdbcType=VARCHAR}
-          <if test="pid != null">
-            and  pid = #{pid,jdbcType=VARCHAR}
-        </if>
-    </select>
+
     <select id="selectByUidAndAid" resultType="com.goafanti.business.bo.OutRestrictProject">
         select a.id pid ,b.id,a.bname projectName,b.type,b.lock_time lockTime,b.release_time releaseTime ,
                c.nickname userName ,d.name adminName,b.create_time createTime,b.uid,b.aid
@@ -186,16 +182,30 @@
                  left join user c on b.uid=c.id left join admin d on b.aid=d.id
         where  b.aid= #{aid,jdbcType=VARCHAR}
     </select>
+    <select id="selectByParam" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List" />
+        from restrict_project
+        where uid =#{uid,jdbcType=VARCHAR}
+        <if test="aid != null">
+            and aid = #{aid,jdbcType=VARCHAR}
+        </if>
+        <if test="pid != null">
+            and  pid = #{pid,jdbcType=VARCHAR}
+        </if>
+    </select>
     <select id="selectListByParam" resultType="com.goafanti.common.model.RestrictProject">
         select
         <include refid="Base_Column_List" />
         from restrict_project
         where  type >0
-        and aid = #{aid,jdbcType=VARCHAR}
-        and uid =#{uid,jdbcType=VARCHAR}
-          <if test="pid !=null">
-              and  pid = #{pid,jdbcType=VARCHAR}
-          </if>
+        where uid =#{uid,jdbcType=VARCHAR}
+        <if test="aid != null">
+            and aid = #{aid,jdbcType=VARCHAR}
+        </if>
+        <if test="pid != null">
+            and  pid = #{pid,jdbcType=VARCHAR}
+        </if>
     </select>
 
     <update id="updateRelease">

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

@@ -1098,7 +1098,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
       </if>
     </if>
     <if test="specially == 4">
-      and a.process_status in (3,6,7,8,99)
+      and a.process_status in (3,5,6,7,99)
       and a.order_status  in(1,2,3,4,6)
     </if>
     <if test="deps!=null">
@@ -1955,7 +1955,7 @@ left join department d on o.order_dep = d.id   left join t_order_mid a on o.orde
 
   <select id="selectgetAll" resultType="com.goafanti.common.model.TOrderNew">
     select order_no orderNo,contract_picture_url contractPictureUrl ,agreement_url agreementUrl ,service_content serviceContent
-    from t_order_new where delete_sign in (0,2)
+    from t_order_new where delete_sign in (0,2) and process_status>0
   </select>
   <select id="getProcessName" resultType="com.goafanti.order.bo.OrderProcessName">
     select a.order_no orderNo,a.approval,a.process_status processStatus  ,b.name yxy,mg.name yxjl,

+ 5 - 0
src/main/java/com/goafanti/common/mapper/TTaskMemberMapper.xml

@@ -172,6 +172,11 @@
               and d.finance_id = #{aid})x
       group by x.aid,x.dates
     </select>
+    <select id="selectByOrderNo"  resultMap="BaseResultMap">
+      select a.order_no ,b.id ,b.tid ,b.service_life ,b.service_year ,b.year_sum ,b.create_time ,b.contract_term ,b.status
+      from t_order_task a inner join t_task_member b on a.id=b.tid
+      where order_no = #{orderNo}
+    </select>
 
     <update id="updateServiceYearBySplitSuper">
     update t_task_member a,(select a.split_super,GROUP_CONCAT(b.service_year) counts

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

@@ -1535,13 +1535,17 @@
 
     <select id="selectSignedCustomerByName"  resultType="com.goafanti.customer.bo.CustomerSimpleBo">
    	 	select b.id,b.nickname as name from user b
-	where b.status = 0 and  b.new_channel=0
-	<if test="type==2">
-	and b.channel=1
+	where b.status = 0
+	<if test="type==0">
+	and  b.new_channel=0
 	</if>
 	<if test="type==1">
-	and b.share_type=2
+		and b.share_type=2
 	</if>
+	<if test="type==2">
+	and b.new_channel=1
+	</if>
+
 	and b.aid = #{aid}  and b.nickname like concat('%',#{name},'%')
     </select>
 

+ 8 - 0
src/main/java/com/goafanti/common/model/RestrictProject.java

@@ -56,6 +56,14 @@ public class RestrictProject implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    public RestrictProject(String buyerId, String commodityId) {
+        setUid(buyerId);
+        setPid(commodityId);
+    }
+
+    public RestrictProject() {
+    }
+
     /**
      * 
      */

+ 9 - 0
src/main/java/com/goafanti/expenseAccount/controller/ExpenseAccountController.java

@@ -438,6 +438,15 @@ public class ExpenseAccountController extends CertifyApiController {
     }
 
     /**
+     * 订单报销情&公出详情计算
+     */
+    @RequestMapping(value = "/pushExpenseTotalAmount",method = RequestMethod.GET)
+    public Result pushExpenseTotalAmount(){
+        expenseAccountService.pushExpenseTotalAmount();
+        return res().data(1);
+    }
+
+    /**
      *  获取报销部门设置
      */
     @RequestMapping(value = "/getDepDetails",method = RequestMethod.GET)

+ 2 - 0
src/main/java/com/goafanti/expenseAccount/service/ExpenseAccountService.java

@@ -77,4 +77,6 @@ public interface ExpenseAccountService {
     Object updateDetailsTypeOther(Integer id, String typeOther);
 
     Object mainExpenseExport(Integer id, HttpServletResponse response);
+
+    void pushExpenseTotalAmount();
 }

+ 19 - 4
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -24,6 +24,7 @@ import com.goafanti.expenseAccount.Enums.EATypes;
 import com.goafanti.expenseAccount.Enums.EAsecondaryTypes;
 import com.goafanti.expenseAccount.bo.*;
 import com.goafanti.expenseAccount.service.ExpenseAccountService;
+import com.goafanti.order.service.OrderNewService;
 import com.goafanti.organization.bo.OrganizationListOut;
 import com.itextpdf.text.Document;
 import com.itextpdf.text.DocumentException;
@@ -81,9 +82,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     @Autowired
     private ExpenseConfigDetailsMapper expenseConfigDetailsMapper;
     @Autowired
-    private TOrderTaskMapper tOrderTaskMapper;
-    @Autowired
     private TOrderPublicReleaseCountMapper tOrderPublicReleaseCountMapper;
+    @Autowired
+    private OrderNewService orderNewService;
 
 
 
@@ -465,6 +466,15 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         return 1;
     }
 
+    @Override
+    public void pushExpenseTotalAmount() {
+        List<TOrderNew> tOrderNews = orderNewService.selectGetAll();
+        for (TOrderNew e : tOrderNews) {
+                orderNewService.pushOrderPublicReleaseCount(e.getOrderNo());
+
+        }
+    }
+
     public void pushMainExpenseExport(MainExpenseAccount mainExpenseAccount,HttpServletResponse response, String uploadPath) {
         String title = "报销明细表";
         String attName = String.format("报销明细表_%s.pdf",new Date().getTime());
@@ -1427,13 +1437,18 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
     private String getString(SonExpenseAccount e, TOrderPublicReleaseCount out, BigDecimal reduce) {
         String maxString=":应公出" + out.getMaxDuration() + "小时";
-        if (out.getMaxDuration().equals(-1d))maxString=":不限制公出小时";
+        String actualString=",超过" + out.getExceedDuration() + "小时";
+        if (out.getMaxDuration().equals(-1d)){
+            maxString=":不限制公出小时";
+            actualString=",";
+        }
+
         String str = e.getBuyerName() + e.getContractNo() +
                 maxString +
                 ",已" + out.getPeopleCount() + "人公出," +
                 out.getFrequency() + "次" +
                 "," + out.getActualDuration() + "小时" +
-                ",超过" + out.getExceedDuration() + "小时" +
+                actualString+
                 ",已报销" + reduce.stripTrailingZeros().toPlainString() + "元";
         return str;
     }

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

@@ -20,15 +20,15 @@ public enum ProcessStatus {
 	/**
 	 * 指定审核
 	 */
-	CWZDSH(4,"财务指定审核人"),
+//	CWZDSH(4,"财务指定审核人"),
 	/** 已派特批审核 **/
-	YPTPSH(5,"已派特批审核"),
+	YPTPSH(4,"已派特批审核"),
 	/** 已派咨询师管理员 **/
-	YPZXSGLY(6,"已派咨询师管理员"),
+	YPZXSGLY(5,"已派咨询师管理员"),
 	/** 已部分派咨询师经理 **/
-	YBFPZXSGLY(7,"已部分分派咨询师经理"),
+	YBFPZXSGLY(6,"已部分分派咨询师经理"),
 	/** 已全部分派咨询师经理 **/
-	YQBFPZXSGLY(8,"已全部分派咨询师经理"),
+	YQBFPZXSGLY(7,"已全部分派咨询师经理"),
 
 
 	/** 无效 **/

+ 3 - 1
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -230,5 +230,7 @@ public interface OrderNewService {
 
 	void orderNewListDownload(InputOrderNewListBo in, HttpServletResponse response);
 
-	void pushOrderPublicReleaseCount(String orderNo, Integer prid);
+	void pushOrderPublicReleaseCount(String orderNo);
+
+	List<TOrderNew> selectGetAll();
 }

+ 9 - 9
src/main/java/com/goafanti/order/service/impl/FundManagerOrderServiceImpl.java

@@ -512,17 +512,17 @@ public class FundManagerOrderServiceImpl extends BaseMybatisDao<TOrderNewMapper>
 		//如果全部派单完成才需要通知和走下个流程
 		if (flag){
 			//如果设置了特定审核需要步入特定审核
-			if (aid!=null){
-				t.setProcessStatus(ProcessStatus.CWZDSH.getCode());
-				List<String> aids = new ArrayList<>();
-				aids.add(aid);
-				TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t.getOrderNo());
-				order.setProcessStatus(ProcessStatus.CWZDSH.getCode());
-				pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_YES.getCode(),order, TokenManager.getAdminId(), use.getApproval());
-			}else {
+//			if (aid!=null){
+//				t.setProcessStatus(ProcessStatus.CWZDSH.getCode());
+//				List<String> aids = new ArrayList<>();
+//				aids.add(aid);
+//				TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(t.getOrderNo());
+//				order.setProcessStatus(ProcessStatus.CWZDSH.getCode());
+//				pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_YES.getCode(),order, TokenManager.getAdminId(), use.getApproval());
+//			}else {
 				pushNoticeAndEmail(t, use);
 
-			}
+//			}
 		}else {
 			List<TOrderExamine> tOrderExamines = tOrderExamineMapper.selectByOrderNo(orderNo,0);
 			StringBuffer str=new StringBuffer();

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

@@ -960,7 +960,7 @@ 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);
+		orderNewService.pushOrderPublicReleaseCount(nb.getOrderNo());
 		//修改投标标识
 		tOrderMidMapper.updateBidTypeByOrderNo(nb.getOrderNo());
 		return 1;

+ 26 - 9
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -49,6 +49,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -643,7 +644,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		}
 		tOrderNewMapper.updateByPrimaryKeySelective(t);
 		//计算公出统计
-		pushOrderPublicReleaseCount(t.getOrderNo(),null);
+		pushOrderPublicReleaseCount(t.getOrderNo());
 		updateAdminUserCountOrder(t2.getSalesmanId(),t2.getCreateTime());
 		if (newOrderFlag){
 			updateAdminUserCountOrder(t2.getSalesmanId(),date);
@@ -653,13 +654,12 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 
 
-	public void pushOrderPublicReleaseCount(String orderNo,Integer prId) {
+	public void pushOrderPublicReleaseCount(String orderNo) {
 			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())){
@@ -667,7 +667,6 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				}
 				count++;
 			}
-
 		TOrderPublicReleaseCount out = tOrderPublicReleaseCountMapper.selectByOrderNo(orderNo);
 			if (out==null){
 				out=new TOrderPublicReleaseCount();
@@ -691,21 +690,39 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 	}
 
+	@Override
+	public List<TOrderNew> selectGetAll() {
+		return tOrderNewMapper.selectgetAll();
+	}
+
 	private void pushMaxDuration(TOrderNewBo t,TOrderPublicReleaseCount out ) {
 		BigDecimal res=BigDecimal.ZERO;
+		//新增如果有会员年份,计算金额改为总金额除以年份
+		List<TTaskMember> tTaskMembers = tTaskMemberMapper.selectByOrderNo(t.getOrderNo());
+		int yearSum=1;
+		for (TTaskMember e : tTaskMembers) {
+			if(e.getYearSum()!=null&&e.getYearSum()>1){
+				yearSum=e.getYearSum();
+			}
+		}
+		BigDecimal totalAmount=t.getTotalAmount();
+		if (yearSum>1){
+			totalAmount=totalAmount.divide(BigDecimal.valueOf(yearSum),2, RoundingMode.HALF_UP);
+		}
+
 		int status=1;
-		if (t.getTotalAmount().compareTo(BigDecimal.valueOf(1)) < 0) {
+		if (totalAmount.compareTo(BigDecimal.valueOf(1)) < 0) {
 			res=BigDecimal.ZERO;
-		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(3))<0) {
+		} else if (totalAmount.compareTo(BigDecimal.valueOf(3))<0) {
 			res=BigDecimal.valueOf(15);
 
-		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(5))<0) {
+		} else if (totalAmount.compareTo(BigDecimal.valueOf(5))<0) {
 			res=BigDecimal.valueOf(45);
 
-		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(10))<0) {
+		} else if (totalAmount.compareTo(BigDecimal.valueOf(10))<0) {
 			res=BigDecimal.valueOf(120);
 
-		} else if (t.getTotalAmount().compareTo(BigDecimal.valueOf(10))>=0) {
+		} else if (totalAmount.compareTo(BigDecimal.valueOf(10))>=0) {
 			res=BigDecimal.valueOf(-1);
 			status=0;
 		}

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

@@ -172,12 +172,15 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			//处理客户已派项目
 			projectDistributionPushUserMid(tn);
 			//处理限定项目状态
-			RestrictProject use = restrictProjectMapper.selectByParam(new InputRestrictProject(tn.getBuyerId(), tn.getSalesmanId(), t.getCommodityId()));
+			RestrictProject use = restrictProjectMapper.selectByParam(new InputRestrictProject(tn.getBuyerId(), null, t.getCommodityId()));
 			if (use!=null){
 				RestrictProject newRP=new RestrictProject();
 				newRP.setId(use.getId());
 				newRP.setLockTime(date);
 				newRP.setType(2);
+				if (!use.getAid().equals(tn.getSalesmanId())){
+					newRP.setAid(tn.getSalesmanId());
+				}
 				restrictProjectMapper.updateByPrimaryKeySelective(newRP);
 				UserTransferLog log=new UserTransferLog();
 				log.setAid(use.getAid());
@@ -189,7 +192,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 			} else {
 				RestrictProject newRP=new RestrictProject();
 				newRP.setUid(tn.getBuyerId());
-				newRP.setAid(TokenManager.getAdminId());
+				newRP.setAid(tn.getSalesmanId());
 				newRP.setPid(t.getCommodityId());
 				newRP.setLockTime(date);
 				newRP.setType(2);