|
|
@@ -52,7 +52,6 @@ import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.customer.bo.LockingReleaseBo;
|
|
|
import com.goafanti.order.service.OrderNewService;
|
|
|
-import com.goafanti.order.service.OrderService;
|
|
|
import com.goafanti.patent.service.PatentNewService;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -86,7 +85,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
@Autowired
|
|
|
private TOrderLogMapper tOrderLogMapper;
|
|
|
@Autowired
|
|
|
- private OrderService orderService;
|
|
|
+ private TOrderExamineMapper tOrderExamineMapper;
|
|
|
@Autowired
|
|
|
private IdleContractNoMapper idleContractNoMapper;
|
|
|
@Autowired
|
|
|
@@ -181,9 +180,24 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
te.setOrderNo(orderNo);
|
|
|
te.setServiceStatus(0);
|
|
|
tOrderExtendMapper.insertSelective(te);
|
|
|
+ addOrderExamine(t);
|
|
|
return tOrderNewMapper.insertSelective(t);
|
|
|
}
|
|
|
|
|
|
+ private void addOrderExamine(TOrderNew o) {
|
|
|
+ List<TOrderExamine> tOrderExamines = tOrderExamineMapper.selectByOrderNo(o.getOrderNo());
|
|
|
+ if (tOrderExamines.isEmpty()){
|
|
|
+ OrganizationListOut dep = departmentMapper.selectAllById(o.getOrderDep());
|
|
|
+ List<TOrderExamine> list =new ArrayList<>();
|
|
|
+ list.add(new TOrderExamine(o.getOrderNo(),dep.getFinanceId(),dep.getFinanceName()));
|
|
|
+ List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.TECH_ADMIN);
|
|
|
+ for (Admin admin : admins) {
|
|
|
+ list.add(new TOrderExamine(o.getOrderNo(),admin.getId(),admin.getName()));
|
|
|
+ }
|
|
|
+ tOrderExamineMapper.insertBatch(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public InputAddTask addOrderTask(InputAddTask t) {
|
|
|
TOrderNew order=tOrderNewMapper.selectByPrimaryKey(t.getOrderNo());
|
|
|
@@ -484,7 +498,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
}else {
|
|
|
if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
|
|
|
addOrderLog(t2.getOrderNo(),OrderLogProcess.SH.getCode(), "管理员跳过自己审核");
|
|
|
- t.setProcessStatus(ProcessStatus.YPCWZY.getCode());
|
|
|
+ t.setProcessStatus(ProcessStatus.YPCW_JSZJ.getCode());
|
|
|
orderStatus=OrderNewState.QDSHTG.getCode();
|
|
|
}else {
|
|
|
addOrderLog(t2.getOrderNo(),OrderLogProcess.YXJLTT.getCode(), "无经理跳过审核");
|
|
|
@@ -535,7 +549,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
if (!str.toString().contains(admin.getName()))str.append(admin.getName()).append(",");
|
|
|
}
|
|
|
}
|
|
|
- }else if (t.getProcessStatus()==ProcessStatus.YPCWZY.getCode()){
|
|
|
+ }else if (t.getProcessStatus()==ProcessStatus.YPCW_JSZJ.getCode()){
|
|
|
type=NoticeStatus.ORDER_YES.getCode();
|
|
|
Department dep = departmentMapper.selectByPrimaryKey(t.getOrderDep());
|
|
|
aids.add(dep.getFinanceId());
|
|
|
@@ -718,6 +732,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
TOrderNewBo tOrder= tOrderNewMapper.getOrderNewDetail(orderNo);
|
|
|
String url=pushOrderService.processStatusConstant(tOrder);
|
|
|
tOrder.setContractPictureUrl(url);
|
|
|
+ pushMyExamine(orderNo, tOrder);
|
|
|
if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.CUSTOMER_SERVICE)||
|
|
|
tOrder.getSalesmanId().equals(TokenManager.getAdminId())) {
|
|
|
|
|
|
@@ -730,6 +745,14 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
return tOrder;
|
|
|
}
|
|
|
|
|
|
+ private void pushMyExamine(String orderNo, TOrderNewBo tOrder) {
|
|
|
+ if (TokenManager.hasRole(AFTConstants.FINANCE)||TokenManager.hasRole(AFTConstants.TECH_ADMIN)){
|
|
|
+ int i = tOrderExamineMapper.selectByOrderNoAndAid(orderNo, TokenManager.getAdminId());
|
|
|
+ if (i==0) tOrder.setMyExamine(1);
|
|
|
+ else tOrder.setMyExamine(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public int createOrderDun(String orderDun,String orderNo) {
|
|
|
List<TOrderDun> l= JSON.parseArray(orderDun, TOrderDun.class);
|
|
|
@@ -777,6 +800,15 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
Pagination<TOrderNewBo> x = addParams(in, params);
|
|
|
if (x != null) return x;
|
|
|
Pagination<TOrderNewBo> p = (Pagination<TOrderNewBo>)findPage("selectOrderNewListByPage", "selectOrderNewListCount", params, in.getPageNo(), in.getPageSize());
|
|
|
+ if (TokenManager.hasRole(AFTConstants.TECH_ADMIN)){
|
|
|
+ List<TOrderNewBo> list = (List<TOrderNewBo>) p.getList();
|
|
|
+ for (TOrderNewBo o : list) {
|
|
|
+ int i = tOrderExamineMapper.selectByOrderNoAndAid(o.getOrderNo(), TokenManager.getAdminId());
|
|
|
+ if (i==0) o.setMyExamine(1);
|
|
|
+ else o.setMyExamine(0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return p;
|
|
|
}
|
|
|
|
|
|
@@ -971,8 +1003,27 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
aids.addAll(adminMapper.listNameByDepAndName(t2.getOrderDep(), AFTConstants.SALESMAN_ADMIN));
|
|
|
}else if (t2.getProcessStatus()==ProcessStatus.YPYXGLY.getCode()){
|
|
|
tl.setProcess(OrderLogProcess.SH.getCode());
|
|
|
- t.setProcessStatus(ProcessStatus.YPCWZY.getCode());
|
|
|
- aids.add(departmentMapper.selectByPrimaryKey(t2.getOrderDep()).getFinanceId());
|
|
|
+ t.setProcessStatus(ProcessStatus.YPCW_JSZJ.getCode());
|
|
|
+ //设置财务与技术总监通知
|
|
|
+ //为了处理旧数据,后期可以去掉新增
|
|
|
+ List<TOrderExamine> tOrderExamines = tOrderExamineMapper.selectByOrderNo(orderNo);
|
|
|
+ if (tOrderExamines.isEmpty()){
|
|
|
+ OrganizationListOut dep = departmentMapper.selectAllById(t.getOrderDep());
|
|
|
+ List<TOrderExamine> list =new ArrayList<>();
|
|
|
+ list.add(new TOrderExamine(orderNo,dep.getFinanceId(),dep.getFinanceName()));
|
|
|
+ aids.add(dep.getFinanceId());
|
|
|
+ List<Admin> admins = adminMapper.selectAdminByRoleType(AFTConstants.TECH_ADMIN);
|
|
|
+ for (Admin admin : admins) {
|
|
|
+ aids.add(admin.getId());
|
|
|
+ list.add(new TOrderExamine(orderNo,admin.getId(),admin.getName()));
|
|
|
+ }
|
|
|
+ tOrderExamineMapper.insertBatch(list);
|
|
|
+ }else {
|
|
|
+ tOrderExamineMapper.updateStatusByOrderNo(orderNo,null,0);
|
|
|
+ for (TOrderExamine e : tOrderExamines) {
|
|
|
+ aids.add(e.getAid());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
type=NoticeStatus.ORDER_YES.getCode();
|
|
|
@@ -997,6 +1048,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
pushGeneralSendNoticeAndEmail(aids, type,order, TokenManager.getAdminId(),t2.getApproval());
|
|
|
return 1;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void pushExamineName(TOrderNew t){
|
|
|
StringBuffer str =new StringBuffer();
|
|
|
@@ -1009,18 +1063,19 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
t.setExamineName(admin.getName());
|
|
|
}else if (t.getProcessStatus()==ProcessStatus.YPYXGLY.getCode()){
|
|
|
if (t.getOrderDep()!=null){
|
|
|
- OrganizationListOut dep = departmentMapper.selectAllById(t.getOrderDep());
|
|
|
- t.setExamineName(dep.getManagerName());
|
|
|
+ List<Admin> admins = adminMapper.listAdminBydepIdAndRoleType(t.getOrderDep(), AFTConstants.SALESMAN_ADMIN);
|
|
|
+ for (Admin admin : admins) {
|
|
|
+ str=str.append(admin.getName()).append(",");
|
|
|
+ }
|
|
|
}
|
|
|
- }else if (t.getProcessStatus()==ProcessStatus.YPCWZY.getCode()){
|
|
|
+ }else if (t.getProcessStatus()==ProcessStatus.YPCW_JSZJ.getCode()){
|
|
|
if (t.getOrderDep()!=null){
|
|
|
OrganizationListOut dep = departmentMapper.selectAllById(t.getOrderDep());
|
|
|
- t.setExamineName(dep.getFinanceName());
|
|
|
- }
|
|
|
- }else if (t.getProcessStatus()==ProcessStatus.YPZXSGLY.getCode()){
|
|
|
- List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.TECH_ADMIN);
|
|
|
- for (Admin e : admins) {
|
|
|
- str=str.append(e.getName()).append(",");
|
|
|
+ str=str.append(dep.getFinanceName()).append(",");
|
|
|
+ List<Admin> admins = adminMapper.getAdminRoleTypeList(AFTConstants.TECH_ADMIN);
|
|
|
+ for (Admin admin : admins) {
|
|
|
+ str=str.append(admin.getName()).append(",");
|
|
|
+ }
|
|
|
}
|
|
|
}else if (t.getProcessStatus()==ProcessStatus.YPYXY.getCode()){
|
|
|
t.setExamineName("");
|
|
|
@@ -1348,6 +1403,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
addBackOrder(orderNo, reason);
|
|
|
}
|
|
|
TOrderNewBo order = tOrderNewMapper.getSaleIdByOno(orderNo);
|
|
|
+ order.setProcessStatus(t.getProcessStatus());
|
|
|
pushGeneralSendNoticeAndEmail(aids, type,order, TokenManager.getAdminId(),t2.getApproval());
|
|
|
//新增特批催款信息
|
|
|
return tOrderNewMapper.updateByPrimaryKeySelective(t);
|
|
|
@@ -1616,19 +1672,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- public void
|
|
|
- sendEmail(String dunId,AdminListBo a,TOrderNewBo b){
|
|
|
+ public void sendEmail(String dunId,AdminListBo a,TOrderNewBo b){
|
|
|
LoggerUtils.debug(logger, "======================邮件信息发送===================");
|
|
|
String content = "<div>客户名称: "+ b.getUserName() +"</div><div>订单编号: " + b.getOrderNo() + "</div><div>合同编号: " + b.getContractNo() + "</div>";
|
|
|
String tite="订单驳回";
|
|
|
@@ -1668,12 +1712,19 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
@Override
|
|
|
public void pushGeneralSendNoticeAndEmail(List<String> alist, Integer type, TOrderNewBo order, String adminId, Integer approval, Integer tid) {
|
|
|
AdminListBo a = adminMapper.getDeptNameByAid(adminId);
|
|
|
+ StringBuffer str=new StringBuffer();
|
|
|
String approvalType="";
|
|
|
String noticeTypeName = NoticeStatus.getValueByCode(type);
|
|
|
if (!approval.equals(ApprovalNewState.FTP.getCode())) {
|
|
|
approvalType="[特批]";
|
|
|
}
|
|
|
- StringBuffer str=new StringBuffer(approvalType).append(noticeTypeName).append(":");
|
|
|
+ //只有到技术总监是派单,其他都是审核
|
|
|
+ if (order.getProcessStatus()==null||(!order.getProcessStatus().equals(ProcessStatus.YPZXSGLY.getCode()))){
|
|
|
+ str=str.append("[审核]");
|
|
|
+ }else if (order.getProcessStatus().equals(ProcessStatus.YPZXSGLY.getCode())){
|
|
|
+ str=str.append("[派单]");
|
|
|
+ }
|
|
|
+ str=str.append(approvalType).append(noticeTypeName).append(":");
|
|
|
if (tid != null) {str=str.append("项目编号[").append(tid).append("],");}
|
|
|
str=str.append("客户名称[") .append(order.getUserName()).append("],");
|
|
|
if(StringUtils.isNotBlank(order.getContractNo())) {
|