Browse Source

订单开票审核负责人开发

anderx 3 years ago
parent
commit
e37639dd81

+ 33 - 18
src/main/java/com/goafanti/order/service/impl/OrderInvoiceServiceImpl.java

@@ -55,44 +55,56 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 		//前端直接会直接调取上一个发起数据给新开票,防止前一个数据为审核后
 		if (o.getApproval()==2)o.setApproval(1);
 		if (o.getStatus()!=1)o.setStatus(1);
-		pushOrderInvoiceExamine(o);
+		pushOrderInvoiceExamine(o,null);
 		 Integer i=tOrderInvoiceMapper.insertSelective(o);
 		addInvoiceLog(o.getId(),0);
 		return i;
 	}
 
-	private void pushOrderInvoiceExamine(TOrderInvoice o) {
+	private void pushOrderInvoiceExamine(TOrderInvoice o,Integer examine) {
+		//新增与修改
 		List<Admin> admins =new ArrayList<>();
 		StringBuffer str=new StringBuffer();
+		TOrderNewBo t = tOrderNewMapper.getSaleIdByOno(o.getOrderNo());
 		if (o.getType()==0){
-			if (o.getApproval()==0){
-				TOrderNewBo ton = tOrderNewMapper.getSaleIdByOno(o.getOrderNo());
-				OrganizationListOut dep = departmentMapper.selectAllById(ton.getOrderDep());
-				o.setExamineName(dep.getFinanceName());
-			}else {
-				 admins = adminMapper.getAdminRoleTypeList(AFTConstants.HN_APPROVED);
-				for (Admin a : admins) {
-					str=str.append(a.getName()).append(",");
+			if (examine==null){
+				if (o.getApproval()==0){
+					addExamineFinance(o, t);
+				}else {
+					admins = adminMapper.getAdminRoleTypeList(AFTConstants.HN_APPROVED);
 				}
-				if (str.length()>0)o.setExamineName(str.substring(0,str.length()-1));
+			}else if (examine==2){
+				addExamineFinance(o, t);
+			}else if (examine==3){
+				o.setExamineName("");
 			}
+
 		}else if (o.getType()==1){
-			TOrderNewBo t = tOrderNewMapper.getSaleIdByOno(o.getOrderNo());
-			if(o.getApproval()==0) {
+			if (examine==null){
+				if(o.getApproval()==0) {
+					admins = adminMapper.listAdminBydepIdAndRoleType(t.getOrderDep(), AFTConstants.SALESMAN_ADMIN);
+				}else {
+					admins = adminMapper.listAdminBydepIdAndRoleType(t.getOrderDep(), AFTConstants.COMPANY_MANAGER);
+				}
+			}else if (examine==2){
 				admins = adminMapper.listAdminBydepIdAndRoleType(t.getOrderDep(), AFTConstants.SALESMAN_ADMIN);
-			}else {
-				admins = adminMapper.listAdminBydepIdAndRoleType(t.getOrderDep(), AFTConstants.COMPANY_MANAGER);
+			}else if (examine==3){
+				o.setExamineName("");
 			}
-
 		}
 		if (!admins.isEmpty()){
 			for (Admin a : admins) {
-				str=str.append(a.getName()).append(",");
+				if (!str.toString().contains(a.getName()))str=str.append(a.getName()).append(",");
 			}
 			if (str.length()>0)o.setExamineName(str.substring(0,str.length()-1));
 		}
 	}
 
+	private void addExamineFinance(TOrderInvoice o, TOrderNewBo t) {
+		OrganizationListOut dep = departmentMapper.selectAllById(t.getOrderDep());
+		o.setExamineName(dep.getFinanceName());
+	}
+
 	/**
 	 *
 	 * @param id 开票编号
@@ -108,7 +120,9 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 		sendNoticeAndEmail(o);
 		addInvoiceLog(o.getId(),5);
 		o.setStatus(1);
-		return tOrderInvoiceMapper.updateByPrimaryKeySelective(o);
+		int i=tOrderInvoiceMapper.updateByPrimaryKeySelective(o);
+		pushOrderInvoiceExamine(o,null);
+		return i;
 	}
 	/**
 	 * 	开票提交发送站内消息及邮件
@@ -317,6 +331,7 @@ public class OrderInvoiceServiceImpl extends BaseMybatisDao<TOrderInvoiceMapper>
 			}else if(o.getType()==1) {
 				aids.addAll(adminMapper.listNameByDepAndName(ts.getOrderDep(), AFTConstants.SALESMAN_ADMIN));
 			}
+			pushOrderInvoiceExamine(o,examine);
 
 		}
 		TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(o.getOrderNo());