Parcourir la source

订单协单开发

anderx il y a 4 ans
Parent
commit
b7ae4331b8

+ 22 - 0
src/main/java/com/goafanti/common/dao/TOrderServiceMapper.java

@@ -0,0 +1,22 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.TOrderService;
+import com.goafanti.order.bo.TOrderServiceBo;
+
+import java.util.List;
+
+public interface TOrderServiceMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(TOrderService record);
+
+    int insertSelective(TOrderService record);
+
+    TOrderService selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(TOrderService record);
+
+    int updateByPrimaryKey(TOrderService record);
+
+    List<TOrderServiceBo> orderServiceList(String orderNo);
+}

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

@@ -852,9 +852,12 @@ select
 	<if test="complete ==4">
 	 and   a.status = 4
 	</if>
-	<if test="complete ==5 and processState != 2 and processState != 3">
+    <if test="complete ==5 and processState != 2 and processState != 3">
 	 and a.back_status &gt;= #{processState}
 	</if>
+    <if test="complete ==6">
+      and   a.status = 6
+    </if>
 	order by a.status,a.create_time desc
 	<if test="page_sql != null">
 			${page_sql}
@@ -965,6 +968,9 @@ select
 	<if test="complete ==5 and processState != 2 and processState != 3">
 	 and a.back_status &gt;= #{processState}
 	</if>
+    <if test="complete ==6">
+      and   a.status = 6
+    </if>
 	</select>
 	<update id="addRefundInvoice">
 	update  new_order_change

+ 106 - 0
src/main/java/com/goafanti/common/mapper/TOrderServiceMapper.xml

@@ -0,0 +1,106 @@
+<?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.TOrderServiceMapper">
+  <resultMap id="BaseResultMap" type="com.goafanti.common.model.TOrderService">
+    <id column="id" jdbcType="INTEGER" property="id" />
+    <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
+    <result column="service_time" jdbcType="DATE" property="serviceTime" />
+    <result column="content" jdbcType="VARCHAR" property="content" />
+    <result column="remarks" jdbcType="VARCHAR" property="remarks" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    id, order_no, service_time, content, remarks, create_time
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from t_order_service
+    where id = #{id,jdbcType=INTEGER}
+  </select>
+
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
+    delete from t_order_service
+    where id = #{id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderService" useGeneratedKeys="true">
+    insert into t_order_service (order_no, service_time, content, 
+      remarks, create_time)
+    values (#{orderNo,jdbcType=VARCHAR}, #{serviceTime,jdbcType=DATE}, #{content,jdbcType=VARCHAR}, 
+      #{remarks,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.goafanti.common.model.TOrderService" useGeneratedKeys="true">
+    insert into t_order_service
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="orderNo != null">
+        order_no,
+      </if>
+      <if test="serviceTime != null">
+        service_time,
+      </if>
+      <if test="content != null">
+        content,
+      </if>
+      <if test="remarks != null">
+        remarks,
+      </if>
+      <if test="createTime != null">
+        create_time,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="orderNo != null">
+        #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="serviceTime != null">
+        #{serviceTime,jdbcType=DATE},
+      </if>
+      <if test="content != null">
+        #{content,jdbcType=VARCHAR},
+      </if>
+      <if test="remarks != null">
+        #{remarks,jdbcType=VARCHAR},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.TOrderService">
+    update t_order_service
+    <set>
+      <if test="orderNo != null">
+        order_no = #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="serviceTime != null">
+        service_time = #{serviceTime,jdbcType=DATE},
+      </if>
+      <if test="content != null">
+        content = #{content,jdbcType=VARCHAR},
+      </if>
+      <if test="remarks != null">
+        remarks = #{remarks,jdbcType=VARCHAR},
+      </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.TOrderService">
+    update t_order_service
+    set order_no = #{orderNo,jdbcType=VARCHAR},
+      service_time = #{serviceTime,jdbcType=DATE},
+      content = #{content,jdbcType=VARCHAR},
+      remarks = #{remarks,jdbcType=VARCHAR},
+      create_time = #{createTime,jdbcType=TIMESTAMP}
+    where id = #{id,jdbcType=INTEGER}
+  </update>
+
+  <select id="orderServiceList" resultType="com.goafanti.order.bo.TOrderServiceBo">
+    select id,order_no orderNo,date_format(service_time,'%Y-%m-%d')serviceTimes,
+           content ,remarks
+    from t_order_service
+    where order_no = #{orderNo}
+  </select>
+</mapper>

+ 90 - 0
src/main/java/com/goafanti/common/model/TOrderService.java

@@ -0,0 +1,90 @@
+package com.goafanti.common.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * t_order_service
+ * @author 
+ */
+public class TOrderService implements Serializable {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 订单编号
+     */
+    private String orderNo;
+
+    /**
+     * 服务时间
+     */
+    private Date serviceTime;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 创建时间
+     */
+    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;
+    }
+
+    public Date getServiceTime() {
+        return serviceTime;
+    }
+
+    public void setServiceTime(Date serviceTime) {
+        this.serviceTime = serviceTime;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 15 - 0
src/main/java/com/goafanti/order/bo/TOrderServiceBo.java

@@ -0,0 +1,15 @@
+package com.goafanti.order.bo;
+
+import com.goafanti.common.model.TOrderService;
+
+public class TOrderServiceBo extends TOrderService {
+    private String serviceTimes;
+
+    public String getServiceTimes() {
+        return serviceTimes;
+    }
+
+    public void setServiceTimes(String serviceTimes) {
+        this.serviceTimes = serviceTimes;
+    }
+}

+ 52 - 23
src/main/java/com/goafanti/order/controller/AdminNewOrderApiController.java

@@ -11,7 +11,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.goafanti.common.enums.AttachmentType;
-import com.goafanti.common.model.TOrderAssist;
+import com.goafanti.common.model.*;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.*;
 import com.goafanti.order.service.OrderAssistService;
@@ -26,9 +26,6 @@ import org.springframework.web.bind.annotation.RestController;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
-import com.goafanti.common.model.TOrderNewWithBLOBs;
-import com.goafanti.common.model.TOrderRefundWithBLOBs;
-import com.goafanti.common.model.TOrderTask;
 import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.order.enums.ApprovalNewState;
 import com.goafanti.order.enums.OrderNewState;
@@ -645,52 +642,84 @@ public class AdminNewOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR,ErrorConstants.PARAM_BEING_ERROR,"协单人员"));
 			return res;
 		}
-		if (i==-2){
-			res.getError().add(buildError("订单派单完成后不可修改"));
-			return res;
-		}
 		return res.data(orderAssistService.addAssist(in));
 	}
 	/**
-	 * 新增协单人员
-	 * @param in
+	 * 删除订单协单人员
 	 * @return
 	 */
 	@RequestMapping(value = "/deleteAssist",method = RequestMethod.POST)
-	public Result deleteAssist(TOrderAssist in){
+	public Result deleteAssist(Integer id){
 		Result res = new Result();
-		if (in.getAid()==null){
+		if (id==null){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"协单人"));
 			return res;
 		}
-		if (in.getOrderNo()==null){
+		return res.data(orderAssistService.deleteAssist(id));
+	}
+
+	/**
+	 * 协单人员列表
+	 * @return
+	 */
+	@RequestMapping(value = "/assistList",method = RequestMethod.GET)
+	public Result assistList(String orderNo){
+		Result res = new Result();
+		if (orderNo==null){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"订单编号"));
 			return res;
 		}
-		int i=orderAssistService.addAssistCheck(in);
-		if (i==-1){
-			res.getError().add(buildError(ErrorConstants.PARAM_BEING_ERROR,ErrorConstants.PARAM_BEING_ERROR,"协单人员"));
+		return res.data(orderAssistService.assistList(orderNo));
+	}
+
+
+	/**
+	 * 新增订单上门服务
+	 * @param in
+	 * @return
+	 */
+	@RequestMapping(value = "/addOrderService",method = RequestMethod.POST)
+	public Result addOrderService(TOrderServiceBo in){
+		Result res = new Result();
+		if (in.getServiceTimes()==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"服务时间"));
 			return res;
 		}
-		if (i==-2){
-			res.getError().add(buildError("订单派单完成后不可修改"));
+		if (in.getOrderNo()==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"订单编号"));
 			return res;
 		}
-		return res.data(orderAssistService.addAssist(in));
+		return res.data(orderAssistService.addOrderService(in));
 	}
 
 	/**
-	 * 协单人员列表
+	 * 新增订单上门服务
+	 * @param id
 	 * @return
 	 */
-	@RequestMapping(value = "/assistList",method = RequestMethod.GET)
-	public Result assistList(String orderNo){
+	@RequestMapping(value = "/deleteOrderService",method = RequestMethod.POST)
+	public Result deleteOrderService(Integer id){
+		Result res = new Result();
+		if (id==null){
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"服务编号"));
+			return res;
+		}
+
+		return res.data(orderAssistService.deleteOrderService(id));
+	}
+
+	/**
+	 * 订单上门服务列表
+	 * @return
+	 */
+	@RequestMapping(value = "/orderServiceList",method = RequestMethod.GET)
+	public Result orderServiceList(String orderNo){
 		Result res = new Result();
 		if (orderNo==null){
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"订单编号"));
 			return res;
 		}
-		return res.data(orderAssistService.assistList(orderNo));
+		return res.data(orderAssistService.orderServiceList(orderNo));
 	}
 
 }

+ 28 - 2
src/main/java/com/goafanti/order/controller/OrderChangeApiController.java

@@ -78,7 +78,6 @@ public class OrderChangeApiController extends CertifyApiController {
 	
 	/**
 	 *  变更项目列表
-	 * @param t
 	 * @return
 	 */
 	@RequestMapping(value = "/selectChangeTask", method = RequestMethod.GET)
@@ -93,7 +92,6 @@ public class OrderChangeApiController extends CertifyApiController {
 	}
 	/**
 	 *  变更催款列表
-	 * @param t
 	 * @return
 	 */
 	@RequestMapping(value = "/selectChangeDun", method = RequestMethod.GET)
@@ -283,6 +281,11 @@ public class OrderChangeApiController extends CertifyApiController {
 	}
 	/**
 	 *  变更列表
+	 *  超级无语接口,变更太乱了
+	 *  首先是草稿然后发起变成审核中,再在流程中走一遍当金额小于2000总裁通过标记为通过,大于2000总裁通过不改变状态,流转到董事长,董事长审核改变
+	 *  状态为通过,通过状态下为财务退票,退票完成后改状态为上传附件,实际为营销员上传附件,营销员上传完后触发完成变更,状态才变成完成
+	 *  流程状态 0营销员 1营销管理员 2技术员 3技术经理 4技术总监 5财务专员(退单) 6财务总监 7总裁 8董事长
+	 *  状态 0草稿 1审核中 2通过 3驳回 4完成 5撤销 6上传附件
 	 */
 	@RequestMapping(value ="/orderChangeList",method = RequestMethod.GET)
 	public Result orderChangeList(String userName,Integer  processState,Integer timeType,String startTime,String endTime,
@@ -373,6 +376,19 @@ public class OrderChangeApiController extends CertifyApiController {
 		return res;
 	}
 	/**
+	 * 完成变更退票
+	 */
+	@RequestMapping(value ="/completeRefund",method = RequestMethod.GET)
+	public Result completeRefund(NewOrderChangeBo nb) {
+		Result res =new Result();
+		if (nb.getId()==null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,ErrorConstants.PARAM_EMPTY_ERROR,"变更编号"));
+			return res;
+		}
+		res.data(orderChangeService.pushCompleteRefund(nb));
+		return res;
+	}
+	/**
 	 * 取消变更
 	 */
 	@RequestMapping(value ="/cancelOrderChange",method = RequestMethod.POST)
@@ -424,6 +440,16 @@ public class OrderChangeApiController extends CertifyApiController {
 		res.setData(handleFile(res, "/order_refund/", false, req, sign));
 		return res;
 	}
+
+	/**
+	 *	  变更附件文件上传
+	 */
+	@RequestMapping(value = "/uploadChangeAttachment", method = RequestMethod.POST)
+	public Result uploadChangeAttachment(HttpServletRequest req,String sign){
+		Result res = new Result();
+		res.setData(handleFile(res, "/order_change_attachment/", false, req, sign));
+		return res;
+	}
 	
 	/**
 	 *	  新增退款信息 

+ 10 - 0
src/main/java/com/goafanti/order/service/OrderAssistService.java

@@ -1,6 +1,7 @@
 package com.goafanti.order.service;
 
 import com.goafanti.common.model.TOrderAssist;
+import com.goafanti.order.bo.TOrderServiceBo;
 import com.goafanti.order.bo.assistListBo;
 
 import java.util.List;
@@ -11,4 +12,13 @@ public interface OrderAssistService {
     List<assistListBo> assistList(String orderNo);
 
     int addAssistCheck(TOrderAssist in);
+
+    int deleteAssist(Integer id);
+
+    int addOrderService(TOrderServiceBo in);
+
+    int deleteOrderService(Integer id);
+
+
+    List<TOrderServiceBo> orderServiceList(String orderNo);
 }

+ 1 - 0
src/main/java/com/goafanti/order/service/OrderChangeService.java

@@ -88,4 +88,5 @@ public interface OrderChangeService {
 	int updateCancelOrderChange(NewOrderChangeBo nb);
 
 
+	int pushCompleteRefund(NewOrderChangeBo nb);
 }

+ 29 - 5
src/main/java/com/goafanti/order/service/impl/OrderAssistServiceImpl.java

@@ -1,10 +1,14 @@
 package com.goafanti.order.service.impl;
 
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.TOrderAssistMapper;
 import com.goafanti.common.dao.TOrderNewMapper;
+import com.goafanti.common.dao.TOrderServiceMapper;
 import com.goafanti.common.model.TOrderAssist;
 import com.goafanti.common.model.TOrderNew;
+import com.goafanti.common.utils.DateUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.order.bo.TOrderServiceBo;
 import com.goafanti.order.bo.assistListBo;
 import com.goafanti.order.service.OrderAssistService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +21,7 @@ public class OrderAssistServiceImpl extends BaseMybatisDao<TOrderAssistMapper> i
     @Autowired
     private TOrderAssistMapper tOrderAssistMapper;
     @Autowired
-    private TOrderNewMapper tOrderNewMapper;
+    private TOrderServiceMapper tOrderServiceMapper;
     @Override
     public int addAssist(TOrderAssist in) {
         return tOrderAssistMapper.insertSelective(in);
@@ -36,10 +40,30 @@ public class OrderAssistServiceImpl extends BaseMybatisDao<TOrderAssistMapper> i
                 return -1;
             }
         }
-        TOrderNew t=tOrderNewMapper.selectByPrimaryKey(in.getOrderNo());
-        if (t.getProcessStatus()>4){
-                return -2;
-        }
+
         return 0;
     }
+
+
+
+    @Override
+    public int deleteAssist(Integer id) {
+        return tOrderAssistMapper.deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public int addOrderService(TOrderServiceBo in) {
+        if (in.getServiceTimes()!=null)in.setServiceTime(DateUtils.StringToDate(in.getServiceTimes(), AFTConstants.YYYYMMDD));
+        return tOrderServiceMapper.insertSelective(in);
+    }
+
+    @Override
+    public int deleteOrderService(Integer id) {
+        return tOrderServiceMapper.deleteByPrimaryKey(id);
+    }
+
+    @Override
+    public List<TOrderServiceBo> orderServiceList(String orderNo) {
+        return tOrderServiceMapper.orderServiceList(orderNo);
+    }
 }

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

@@ -329,14 +329,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 					}
 				
 			}
-			/*else {
-				if(nb.getProcessState()==9) {
-					//changgeAdopt(nb); 取消订单变更完成
-					}
-				//流程状态 0营销员 1营销管理员 2技术员 3技术经理 4技术总监 5财务专员(退单) 6财务总监 7总裁 8董事长 9 财务专员(非退单)
-				if (nb.getProcessState()==1) nb.setProcessState(7);
-				else if (nb.getProcessState()==7)nb.setProcessState(9);
-			}*/ //去掉第二条线
 			if(nb.getStatus()==3) {
 				nb.setStatus(1);//如果驳回数据则改为正常数据
 			}
@@ -647,7 +639,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		orderNewService.pushGeneralSendNoticeAndEmail(alist,NoticeStatus.ORDER_CHANGE_END.getCode(), o.getOrderNo(), TokenManager.getAdminId(),0);
 		return 1;
 	}
-	
+
+
+	@Override
+	public int pushCompleteRefund(NewOrderChangeBo nb) {
+		nb.setStatus(6);
+		return newOrderChangeMapper.updateByPrimaryKeySelective(nb);
+	}
 
 	/**
 	 * 修改订单数据
@@ -1081,4 +1079,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 				tOrderNewMapper.updateByPrimaryKeySelective(t);
 				return 1;
 			}
+
+
 }