Browse Source

订单流程通知开发

anderx 6 years ago
parent
commit
efc4caa965

+ 7 - 0
src/main/java/com/goafanti/common/enums/NoticeStatus.java

@@ -36,6 +36,13 @@ public enum NoticeStatus {
 	ORDER_INVPICE_APPROVA_YES(26,"订单开票特批通过"),
 	ORDER_INVPICE_APPROVA_NO(27,"订单开票特批驳回"),
 	ORDER_INVPICE_END(28,"订单开票完成"),
+	ORDER_START(29,"订单审核发起"),
+	ORDER_APPROVA_YES(30,"订单特批通过"),
+	ORDER_APPROVA_NO(31,"订单特批驳回"),
+	ORDER_OUTSOURCE_YES(32,"订单特批通过"),
+	ORDER_OUTSOURCE_NO(33,"订单特批驳回"),
+	ORDER_YES(34,"订单审核通过"),
+	ORDER_NO(35,"订单审核驳回"),
 	OTHER(0, "其他");
 
 	private NoticeStatus(Integer code, String desc) {

+ 40 - 16
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -248,6 +248,12 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 				contractNoReplace(t.getOrderNo(), t2.getContractNo(),t2.getOrderDep());
 				createContractNo(t);
 			}
+			List<String> aids = new ArrayList<>();
+			Integer type=null;
+			AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
+			aids.addAll(adminMapper.listNameByDepAndName(a.getDepartmentId(), "营销管理员"));
+			type=NoticeStatus.ORDER_START.getCode();
+			generalSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
 		}
 		if (t2.getApproval()==ApprovalNewState.BH.getCode()||
 				t2.getOrderStatus()==OrderNewState.QDSHJJ.getCode()||
@@ -444,35 +450,53 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		TOrderNew t= new TOrderNew();
 		TOrderNew t2= checkDeleteSign(orderNo);
 		t.setOrderNo(orderNo);
+		List<String> aids = new ArrayList<>();
+		Integer type=null;
 		if (orderStatus==OrderNewState.QDSHTG.getCode()) {
-			if (t2.getApproval()==ApprovalNewState.FTP.getCode()||t2.getApproval()==ApprovalNewState.TG.getCode()) {//如果通过分配给财务管理员
+			if (t2.getApproval()==ApprovalNewState.FTP.getCode()||
+					t2.getApproval()==ApprovalNewState.TG.getCode()) {//如果通过分配给财务管理员
 				t.setProcessStatus(ProcessStatus.YPCWZY.getCode());
+				if(outsource==0) {
+					aids.add(organizationManagementMapper.selectByPrimaryKey(t2.getOrderDep()).getFinanceId());
+				} else if(outsource==1) {
+					for (Admin admin : adminMapper.getAdminRoleList("外包审核员")) {
+						aids.add(admin.getId());
+					}
+				}
+				aids.add(organizationManagementMapper.selectByPrimaryKey(t2.getOrderDep()).getFinanceId());
 			}else {
 				t.setProcessStatus(ProcessStatus.YPTPSH.getCode());
+				for (Admin admin : adminMapper.getAdminRoleList("总裁")) {
+					aids.add(admin.getId());
+				}
 			}
-			if(outsource!=null&&outsource==1) {
+			type=NoticeStatus.ORDER_YES.getCode();
+			if(outsource!=null&&outsource==1) {//通过外包
 				t.setOutsource(outsource);
 				addOrderLog(orderNo, OrderLogProcess.FQWB.getCode());
 			}else {
 				addOrderLog(orderNo, OrderLogProcess.SH.getCode());
 			}
-		}
-		if (outsource==0) {//非外包
-			if (orderStatus==OrderNewState.QDSHJJ.getCode()) {//如果不通过新增驳回
+			
+		}else if (orderStatus==OrderNewState.QDSHJJ.getCode()) {//如果不通过新增驳回
+				if (outsource==0) {//非外包
 				t.setProcessStatus(ProcessStatus.YPYXY.getCode());
 				addBackOrder(orderNo, reason);
 				addOrderLog(orderNo, OrderLogProcess.BH.getCode());
-			}
 			
-		}else if (outsource==1) {//外包
-			o.setRefundStatus(0);
-			if(o.getId()==null) {
-				o.setCreateTime(new Date());
-				tOrderOutsourceMapper.insertSelective(o);
-			}else {
-				tOrderOutsourceMapper.updateByPrimaryKeySelective(o);
-			}
+				}else if (outsource==1) {//外包
+					o.setRefundStatus(0);
+					if(o.getId()==null) {
+						o.setCreateTime(new Date());
+						tOrderOutsourceMapper.insertSelective(o);
+					}else {
+						tOrderOutsourceMapper.updateByPrimaryKeySelective(o);
+					}
+				}
+				aids.add(t2.getSalesmanId());
+				type=NoticeStatus.ORDER_NO.getCode();
 		}
+		generalSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
 		t.setOrderStatus(orderStatus);
 		return tOrderNewMapper.updateByPrimaryKeySelective(t);
 	}
@@ -488,11 +512,11 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 		ob.setBackStatus(0);//待处理
 		ob.setInitiate(TokenManager.getAdminId()==null?"1":TokenManager.getAdminId());
 		ob.setAccept(tOrder.getSalesmanId());
-		try {
+		/*try {
 			addNoticAndSendEmail(orderNo, null, NoticeStatus.ORDER_BACK.getCode());
 		} catch (UnsupportedEncodingException | MessagingException e) {
 			LoggerUtils.error(getClass(), "发送邮件失败", e);
-		}
+		}*/
 		tOrderBackMapper.insertSelective(ob);
 	}
 

+ 17 - 0
src/main/java/com/goafanti/order/service/impl/OutsourceOrgServiceImpl.java

@@ -1,5 +1,6 @@
 package com.goafanti.order.service.impl;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -10,11 +11,14 @@ import org.hibernate.validator.constraints.Mod11Check.ProcessingDirection;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.goafanti.admin.bo.AdminListBo;
+import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.OrganizationManagementMapper;
 import com.goafanti.common.dao.OutsourceOrganizationMapper;
 import com.goafanti.common.dao.TOrderLogMapper;
 import com.goafanti.common.dao.TOrderNewMapper;
 import com.goafanti.common.dao.TOrderOutsourceMapper;
+import com.goafanti.common.enums.NoticeStatus;
 import com.goafanti.common.enums.OrderLogProcess;
 import com.goafanti.common.model.OutsourceOrganization;
 import com.goafanti.common.model.TOrderLog;
@@ -26,6 +30,7 @@ import com.goafanti.order.bo.OrderOutsourceBo;
 import com.goafanti.order.bo.OrderOutsourceDtails;
 import com.goafanti.order.bo.OutsourceOrganizationBo;
 import com.goafanti.order.enums.ProcessStatus;
+import com.goafanti.order.service.OrderNewService;
 import com.goafanti.order.service.OrderService;
 import com.goafanti.order.service.OutsourceOrgService;
 import com.goafanti.organization.bo.OrganizationListOut;
@@ -43,6 +48,10 @@ public class OutsourceOrgServiceImpl  extends BaseMybatisDao<TOrderOutsourceMapp
 	private OrderService	orderService;
 	@Autowired
 	private TOrderLogMapper	tOrderLogMapper;
+	@Autowired
+	private OrderNewService	orderNewService;
+	@Autowired
+	private AdminMapper	adminMapper;
 	@Override
 	public int addOutsourceOrg(OutsourceOrganization o) {
 		return outsourceOrganizationMapper.insertSelective(o);
@@ -95,16 +104,24 @@ public class OutsourceOrgServiceImpl  extends BaseMybatisDao<TOrderOutsourceMapp
 	public int updateAuditOutsource(OrderOutsourceDtails o) {
 		o.setAuditTime(new Date());
 		TOrderNew t=new TOrderNew();
+		TOrderNew t2=tOrderNewMapper.selectByPrimaryKey(o.getOrderNo());
+		List<String> aids = new ArrayList<>();
+		Integer type=null;
 		if (o.getRefundStatus()==1) {
 			t.setOrderNo(o.getOrderNo());
 			t.setOrderStatus(2);//订单审核标记通过
 			t.setProcessStatus(ProcessStatus.YPCWZY.getCode());
 			addOrderLog(o.getOrderNo(),OrderLogProcess.WBSH.getCode());
 			tOrderNewMapper.updateByPrimaryKeySelective(t);
+			aids.add(organizationManagementMapper.selectByPrimaryKey(t2.getOrderDep()).getFinanceId());
+			type=NoticeStatus.ORDER_OUTSOURCE_YES.getCode();
 		}else {
 			t.setOrderStatus(3);
 			addOrderLog(o.getOrderNo(),OrderLogProcess.WBBH.getCode());
+			aids.addAll(adminMapper.listNameByDepAndName(adminMapper.getDeptNameByAid(t2.getSalesmanId()).getDepartmentId(), "营销管理员"));
+			type=NoticeStatus.ORDER_OUTSOURCE_NO.getCode();
 		}
+		orderNewService.generalSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
 		return tOrderOutsourceMapper.updateByPrimaryKeySelective(o);
 	}
 	

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

@@ -60,12 +60,12 @@ template.cacheable=false
 portal.host=//sf.jishutao.com/portal/2.0.6
 avatar.upload.host=//sb.jishutao.com/upload
 #连接开发
-#static.host=//sb.jishutao.com/1.1.24
-#avatar.host=//sb.jishutao.com
+static.host=//sb.jishutao.com/1.1.24
+avatar.host=//sb.jishutao.com
 
 #连测试
-avatar.host=//static.jishutao.com
-static.host=//static.jishutao.com/1.1.24
+#avatar.host=//static.jishutao.com
+#static.host=//static.jishutao.com/1.1.24
 
 upload.path=F:/data/public/upload
 upload.private.path=F:/data/private/upload