Browse Source

订单审核负责人开发

anderx 3 years ago
parent
commit
5998b3382b

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

@@ -1106,7 +1106,7 @@
     SELECT a.id,a.name ,a.mobile ,a.email
     FROM admin a left join user_role b on a.id=b.uid
                  left join `role` c on b.rid =c.id
-    where 1=1
+    where a.status='0'
       <if test="roleType =='99998'">
       and c.role_type  in ('99998','99988')
       </if>

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

@@ -447,7 +447,7 @@ select
 	a.change_amount changeAmount, a.applicant, a.dep_name depName, a.project_state projectState, a.zxs_cost zxsCost,
 	a.zxs_remarks zxsRemarks, date_format(a.payment_time, '%Y-%m-%d')paymentTimes, a.payment_amount paymentAmount,
 	date_format(a. invoice_time, '%Y-%m-%d') invoiceTimes, a.invoice_amount invoiceAmount,a.invoice_type invoiceType,
-	a.cw_remarks cwRemarks,a.contract_picture_url contractPictureUrl,a.first_amount firstAmount
+	a.cw_remarks cwRemarks,a.contract_picture_url contractPictureUrl,a.first_amount firstAmount,a.examine_name examineName
     from new_order_change a where 1 = 1
 	and a.order_no= #{orderNo}
 	order by a.create_time desc limit 1
@@ -485,7 +485,7 @@ select
 	date_format(a.create_time, '%Y-%m-%d %H:%i:%S')createTimes, a.remarks, a.voucher_url voucherUrl,a.cw_cost cwCost,a.refund_status refundStatus,
 	a.total_amount totalAmount, a.settlement_amount settlementAmount, (a.total_amount-a.settlement_amount) arrears,a.attachment_url attachmentUrl,
 	a.change_amount changeAmount, a.applicant, a.dep_name depName, a.project_state projectState, a.zxs_cost zxsCost,a.first_amount firstAmount,
-	a.zxs_remarks zxsRemarks, date_format(a.payment_time, '%Y-%m-%d')paymentTimes, a.payment_amount paymentAmount,
+	a.zxs_remarks zxsRemarks, date_format(a.payment_time, '%Y-%m-%d')paymentTimes, a.payment_amount paymentAmount,a.examine_name examineName,
 	date_format(a. invoice_time, '%Y-%m-%d') invoiceTimes, a.invoice_amount invoiceAmount,a.invoice_type invoiceType,
 	a.cw_remarks cwRemarks,a.estimate_cost estimateCost,estimate_refundable estimateRefundable,refund_Invoice refundInvoice,a.contract_picture_url contractPictureUrl
 	from new_order_change a where 1 = 1 and a.id= #{id}
@@ -496,7 +496,7 @@ select
   </select>
   <select id="selectOrderChangeList" resultType="com.goafanti.order.bo.NewOderCahngeListBo">
 	select a.id,a.order_no orderNo,b.contract_no contractNo, date_format(a.create_time,'%Y-%m-%d %H:%i:%S')createTimes,c.nickname,b.order_type orderType,
-  date_format(b.create_time,'%Y-%m-%d %H:%i:%S')establishTimes, b.order_status orderStatus,b.total_amount totalAmount,a.status ,
+  date_format(b.create_time,'%Y-%m-%d %H:%i:%S')establishTimes, b.order_status orderStatus,b.total_amount totalAmount,a.status ,a.examine_name examineName,
   b.settlement_amount settlementAmount,(b.total_amount-b.settlement_amount) arrears,d.name salesmanName,e.name depName,a.`type`,
   a.process_state processState,a.back_status backStatus from new_order_change  noc left join  new_order_change a on noc.id=a.id
   left join t_order_new b on a.order_no=b.order_no left join user c on b.buyer_id=c.id left join admin d on b.salesman_id=d.id

+ 13 - 3
src/main/java/com/goafanti/order/bo/NewOderCahngeListBo.java

@@ -17,9 +17,19 @@ public class NewOderCahngeListBo {
 	private BigDecimal settlementAmount;
 	private BigDecimal arrears;
 	private String salesmanName;
+	private String examineName;
 	private String depName;
 	private Integer processState;
 	private Integer backStatus;
+
+	public String getExamineName() {
+		return examineName;
+	}
+
+	public void setExamineName(String examineName) {
+		this.examineName = examineName;
+	}
+
 	public String getCreateTimes() {
 		return createTimes;
 	}
@@ -122,7 +132,7 @@ public class NewOderCahngeListBo {
 	public void setBackStatus(Integer backStatus) {
 		this.backStatus = backStatus;
 	}
-	
-	
-	
+
+
+
 }

+ 59 - 58
src/main/java/com/goafanti/order/enums/OrderStage.java

@@ -1,58 +1,59 @@
-package com.goafanti.order.enums;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 订单阶段
- * @author Administrator
- *
- */
-public enum OrderStage {
-	/** 意向阶段 **/
-	INTENTION(0,"意向阶段 "),
-	/** 跟单阶段 **/
-	FOLLOWING(1,"跟单阶段"),
-	/** 合同阶段 **/
-	SIGNED(2,"合同阶段"),
-	/** 项目阶段 **/
-	PROJECT(3, "项目阶段 "),
-	/** 无效 **/
-	INVALID(10, "无效");
-	
-	private OrderStage(Integer code, String desc) {
-		this.code = code;
-		this.desc = desc;
-	}
-
-	private static Map<Integer, OrderStage> status = new HashMap<Integer, OrderStage>();
-
-	static {
-		for (OrderStage value : OrderStage.values()) {
-			status.put(value.getCode(), value);
-		}
-	}
-	public static OrderStage getStatus(Integer code) {
-		if (containsType(code)) {
-			return status.get(code);
-		}
-		return INVALID;
-	}
-	public static boolean containsType(Integer code) {
-		return status.containsKey(code);
-	}
-	private Integer	code;
-	private String	desc;
-	public Integer getCode() {
-		return code;
-	}
-	public void setCode(Integer code) {
-		this.code = code;
-	}
-	public String getDesc() {
-		return desc;
-	}
-	public void setDesc(String desc) {
-		this.desc = desc;
-	}
-}
+package com.goafanti.order.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 订单阶段
+ * @author Administrator
+ *
+ */
+public enum OrderChangeProcess {
+
+	YXY(0,"营销员"),
+	YXGLY(1,"营销管理员"),
+	JSY(2,"技术员"),
+	JSJL(3, "技术经理"),
+	JSZJ(4, "技术总监"),
+	CWZY(5, "财务专员"),
+	CWZJ(6, "财务总监 "),
+	ZC(7, "总裁"),
+	DSZ(8, "董事长"),
+	INVALID(10, "无效");
+
+	private OrderChangeProcess(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, OrderChangeProcess> status = new HashMap<Integer, OrderChangeProcess>();
+
+	static {
+		for (OrderChangeProcess value : OrderChangeProcess.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	public static OrderChangeProcess getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return INVALID;
+	}
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+	private Integer	code;
+	private String	desc;
+	public Integer getCode() {
+		return code;
+	}
+	public void setCode(Integer code) {
+		this.code = code;
+	}
+	public String getDesc() {
+		return desc;
+	}
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+}

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

@@ -12,7 +12,9 @@ import com.goafanti.admin.service.DepartmentService;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.model.*;
 import com.goafanti.common.utils.OrderUtils;
+import com.goafanti.order.enums.*;
 import com.goafanti.order.service.*;
+import com.goafanti.organization.bo.OrganizationListOut;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
@@ -49,10 +51,6 @@ import com.goafanti.order.bo.TChangeTaskOut;
 import com.goafanti.order.bo.TOrderLogBo;
 import com.goafanti.order.bo.TOrderNewBo;
 import com.goafanti.order.bo.TOrderTaskBo;
-import com.goafanti.order.enums.OrderChangeType;
-import com.goafanti.order.enums.OrderNewState;
-import com.goafanti.order.enums.OrderType;
-import com.goafanti.order.enums.ProcessStatus;
 import com.goafanti.techproject.enums.TaskState;
 
 @Service
@@ -107,6 +105,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	private DepartmentService departmentService;
 	@Autowired
 	private OrderProjectService orderProjectService;
+	@Autowired
+	private DepartmentMapper departmentMapper;
 
 
 
@@ -223,11 +223,11 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	public List<NewOrderChangeBo> orderChangeDetails(String orderNo) {
 		List<NewOrderChangeBo> list=newOrderChangeMapper.selectByorderNo(orderNo);
 		for (NewOrderChangeBo noc : list) {
-			List<OrderExamineBo> consultantExamine =orderExamineMapper.selectByOrderNo(noc.getOrderNo(),0);
-			List<OrderExamineBo> managerExamine=orderExamineMapper.selectByOrderNo(noc.getOrderNo(),1);
+//			List<OrderExamineBo> consultantExamine =orderExamineMapper.selectByOrderNo(noc.getOrderNo(),0);
+//			List<OrderExamineBo> managerExamine=orderExamineMapper.selectByOrderNo(noc.getOrderNo(),1);
 			int isExamine=orderExamineMapper.selectByOrderNoAndAid(noc.getOrderNo(),TokenManager.getAdminId());
-			noc.setConsultantExamine(consultantExamine);
-			noc.setManagerExamine(managerExamine);
+//			noc.setConsultantExamine(consultantExamine);
+//			noc.setManagerExamine(managerExamine);
 			if (noc.getVoucherUrl()!=null) {
 				TOrderNew t=tOrderNewMapper.selectByPrimaryKey(noc.getOrderNo());
 				noc.setVoucherUrl(pushOrderService.changeProcessStatusConstant(noc.getVoucherUrl(),t.getSalesmanId(),noc.getProcessState(),noc.getStatus()));
@@ -239,11 +239,11 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	@Override
 	public NewOrderChangeBo orderChangeDetailsById(Integer id) {
 		NewOrderChangeBo nb=newOrderChangeMapper.selectById(id);
-		List<OrderExamineBo> consultantExamine =orderExamineMapper.selectByOrderNo(nb.getOrderNo(),0);
-		List<OrderExamineBo> managerExamine=orderExamineMapper.selectByOrderNo(nb.getOrderNo(),1);
+//		List<OrderExamineBo> consultantExamine =orderExamineMapper.selectByOrderNo(nb.getOrderNo(),0);
+//		List<OrderExamineBo> managerExamine=orderExamineMapper.selectByOrderNo(nb.getOrderNo(),1);
 		int isExamine=orderExamineMapper.selectByOrderNoAndAid(nb.getOrderNo(),TokenManager.getAdminId());
-		nb.setConsultantExamine(consultantExamine);
-		nb.setManagerExamine(managerExamine);
+//		nb.setConsultantExamine(consultantExamine);
+//		nb.setManagerExamine(managerExamine);
 		nb.setIsExamine(isExamine);
 		if(nb.getProcessState()!=null){
 			TOrderNew t=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
@@ -362,6 +362,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		ocl.setStatus(status);
 		orderChangeLogMapper.insertSelective(ocl);
 		sendNotice(status,nb);
+		pushOrderCangeProcess(nb);
 		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
 		return 1;
 	}
@@ -562,6 +563,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 	public int updateOrderChange(NewOrderChangeBo t,Integer changeType,String startRemarks) {
 		NewOrderChange  noc=new NewOrderChange();
 		t.setProcessState(1);
+		noc.setOrderNo(t.getOrderNo());
 		noc.setId(t.getId());
 		if (changeType==0) {
 //			chekeChangeTaskNumber(noc);
@@ -593,10 +595,89 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			noc.setCwCost(t.getCwCost());
 			noc.setRefundableAmount(t.getRefundableAmount());
 		}
+		if(changeType!=2)pushOrderCangeProcess(noc);
 		if(changeType!=1)newOrderChangeMapper.updateByPrimaryKeySelective(noc);
 		return 1;
 	}
 
+	public  void pushOrderCangeProcess(NewOrderChange noc) {
+		if (noc.getProcessState()== OrderChangeProcess.YXY.getCode()){
+			TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
+			noc.setExamineName(ton.getSalesmanName());
+		}else if (noc.getProcessState()== OrderChangeProcess.YXGLY.getCode()){
+			TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
+			OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
+			noc.setExamineName(dep.getManagerName());
+		}else if (noc.getProcessState()== OrderChangeProcess.JSY.getCode()){
+			List<OrderExamineBo> os = orderExamineMapper.selectByOrderNo(noc.getOrderNo(), 0);
+			StringBuffer str=new StringBuffer();
+			for (OrderExamineBo o : os) {
+				if (o.getStatus()==0){
+					if (!str.toString().contains(o.getName()))str.append(o.getName()).append(",");
+				}
+			}
+			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+
+
+		}else if (noc.getProcessState()== OrderChangeProcess.JSJL.getCode()){
+			List<OrderExamineBo> os = orderExamineMapper.selectByOrderNo(noc.getOrderNo(), 1);
+			StringBuffer str=new StringBuffer();
+			for (OrderExamineBo o : os) {
+				if (o.getStatus()==0){
+					if (!str.toString().contains(o.getName()))str.append(o.getName()).append(",");
+				}
+			}
+			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+		}else if (noc.getProcessState()== OrderChangeProcess.JSZJ.getCode()){
+			StringBuffer str=new StringBuffer();
+			List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.TECH_ADMIN);
+			for (Admin a : admins) {
+				str=str.append(a.getName()).append(",");
+			}
+			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+
+		}else if (noc.getProcessState()== OrderChangeProcess.CWZY.getCode()){
+			TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
+			OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
+			noc.setExamineName(dep.getFinanceName());
+		}else if (noc.getProcessState()== OrderChangeProcess.CWZJ.getCode()){
+			StringBuffer str=new StringBuffer();
+			List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.FINANCE_ADMIN);
+			for (Admin a : admins) {
+				str=str.append(a.getName()).append(",");
+			}
+			if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+
+		}else if (noc.getProcessState()== OrderChangeProcess.ZC.getCode()){
+			if (noc.getStatus()==2){
+				TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
+				OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
+				noc.setExamineName(dep.getFinanceName());
+			}else {
+				StringBuffer str=new StringBuffer();
+				List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.CED);
+				for (Admin a : admins) {
+					str=str.append(a.getName()).append(",");
+				}
+				if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+			}
+		}else if (noc.getProcessState()== OrderChangeProcess.DSZ.getCode()){
+			if (noc.getStatus()==2){
+				TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(noc.getOrderNo());
+				OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
+				noc.setExamineName(dep.getFinanceName());
+			}else {
+				StringBuffer str=new StringBuffer();
+				List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.APPROVAL_DECISION);
+				for (Admin a : admins) {
+					str=str.append(a.getName()).append(",");
+				}
+				if (str.length()>0)noc.setExamineName(str.substring(0,str.length()-1));
+			}
+
+		}
+	}
+
 	private void chekeAmout(NewOrderChangeBo t) {
 		BigDecimal amout=t.getTotalAmount();
 		List<TChangeTaskOut> list = selectChangeTask(t.getId());
@@ -707,7 +788,15 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 		TOrderNewBo o=tOrderNewMapper.getSaleIdByOno(nob.getOrderNo());
 		List<String> alist = new ArrayList<>();
 		alist.add(o.getSalesmanId());
+		nb.setExamineName("");
 		newOrderChangeMapper.updateByPrimaryKeySelective(nb);
+		OrderChangeLog ocl=new OrderChangeLog();
+		ocl.setAuditor(TokenManager.getAdminId());
+		ocl.setOrderNo(nob.getOrderNo());
+		ocl.setRemarks("变更财务退票。");
+		ocl.setChangeId(nb.getId());
+		ocl.setStatus(2);
+		orderChangeLogMapper.insertSelective(ocl);
 		orderNewService.pushGeneralSendNoticeAndEmail(alist,NoticeStatus.ORDER_CHANGE_YES.getCode(), o, TokenManager.getAdminId(),0);
 		return 1;
 	}

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

@@ -978,26 +978,28 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		}else if (t.getProcessStatus()==ProcessStatus.YPTPSH.getCode()){
 			if(t.getApproval()==ApprovalNewState.ZCDSH.getCode()){
 				List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.CED);
-				admins.forEach(e ->{
-					str.append(e.getName()).append(",");
-				});
+				for (Admin e : admins) {
+					str=str.append(e.getName()).append(",");
+				}
+
+
 			}else if(t.getApproval()==ApprovalNewState.DSZDSH.getCode()) {
 				List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.APPROVAL_DECISION);
-				admins.forEach(e ->{
-					str.append(e.getName()).append(",");
-				});
+				for (Admin e : admins) {
+					str=str.append(e.getName()).append(",");
+				}
 			}
 
 		}else if (t.getProcessStatus()==ProcessStatus.YPZXSGLY.getCode()){
 			List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.TECH_ADMIN);
-			admins.forEach(e ->{
-				str.append(e.getName()).append(",");
-			});
+			for (Admin e : admins) {
+				str=str.append(e.getName()).append(",");
+			}
 		}else if (t.getProcessStatus()==ProcessStatus.YPZXSGLY.getCode()){
 			List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.TECH_ADMIN);
-			admins.forEach(e ->{
-				str.append(e.getName()).append(",");
-			});
+			for (Admin e : admins) {
+				str=str.append(e.getName()).append(",");
+			}
 		}else if (t.getProcessStatus()==ProcessStatus.YPYXY.getCode()){
 			t.setExamineName("");
 		} else {

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

@@ -60,7 +60,7 @@ import com.goafanti.order.enums.CommodityType;
 import com.goafanti.order.enums.LiquidationState;
 import com.goafanti.order.enums.OrderAction;
 import com.goafanti.order.enums.OrderChannel;
-import com.goafanti.order.enums.OrderStage;
+
 import com.goafanti.order.enums.OrderState;
 import com.goafanti.order.enums.PayChannel;
 import com.goafanti.order.enums.ProjectStage;
@@ -229,7 +229,11 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		if(orderAction == OrderAction.ADD_INTENTION){ //添加意向订单
 			tOrder.setOrderStatus(OrderState.WAIT_FOR_CONFIRM.getCode());
 			tOrder.setLiquidationStatus(LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode());
-			tOrder.setOrderStage(OrderStage.INTENTION.getCode());
+//			tOrder.setOrderStage(OrderStage.INTENTION.getCode());
+			/** 意向阶段 **/
+			/** 跟单阶段 **/
+			/** 合同阶段 **/
+			/** 项目阶段 **/
 			tOrder.setProjectStage(ProjectStage.NOT_SATISFY_CONDITION.getCode());
 			tOrder.setLiquidationStatus(LiquidationState.WAIT_PAY_FIRST_BALANCE.getCode());
 			tOrder.setActuallyFirstPayment(initial);
@@ -242,7 +246,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 			}
 			if (confrim) {
 				tOrder.setOrderStatus(OrderState.WAIT_FOR_SIGN.getCode()); // 卖家同意
-				tOrder.setOrderStage(OrderStage.FOLLOWING.getCode());
+//				tOrder.setOrderStage(OrderStage.FOLLOWING.getCode());
 			} else {
 				tOrder.setOrderStatus(OrderState.SELLER_REFUSE_BEFORE_SIGNL.getCode()); // 买家拒绝
 			}
@@ -958,7 +962,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		} else {
 			tOrder.setSignFirstPayment(new BigDecimal(signFirstPayment));
 			tOrder.setSignTotalAmount(new BigDecimal(signTotalAmount));
-			tOrder.setOrderStage(OrderStage.SIGNED.getCode());
+//			tOrder.setOrderStage(OrderStage.SIGNED.getCode());
 			tOrder.setOrderStatus(OrderState.ALREADY_SIGN.getCode());
 			tOrder.setProjectStage(ProjectStage.NOT_SATISFY_CONDITION.getCode());
 			tOrder.setApproval(Integer.valueOf(approval));
@@ -1574,7 +1578,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
 		if(!flag)
 			throw new BusinessException(new Error(ErrorConstants.ORDER_CAN_NOT_MODIFY, orderNo, ""));
 		tOrder.setProjectStage(ProjectStage.ALREADY_SET_UP.getCode());
-		tOrder.setOrderStage(OrderStage.PROJECT.getCode());
+//		tOrder.setOrderStage(OrderStage.PROJECT.getCode());
 		tOrder.setUpdateTime(createTime);
 		tOrder.setSetUpTime(createTime);
 		tOrderMapper.updateByPrimaryKeySelective(tOrder);