|
|
@@ -12,9 +12,9 @@ import java.util.Arrays;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
-import java.util.TimeZone;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
import javax.mail.MessagingException;
|
|
|
@@ -279,7 +279,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
tl.setOrderNo(t.getOrderNo());
|
|
|
tl.setProcess(OrderLogProcess.TJ.getCode());
|
|
|
tl.setAid(TokenManager.getAdminId());
|
|
|
- addOrderLog(tl);
|
|
|
+ addOrderLog(tl,null);
|
|
|
System.out.println(""+t2.getContractNo());
|
|
|
if (StringUtils.isBlank(t2.getContractNo())) {
|
|
|
//没有合同编号则生成
|
|
|
@@ -295,7 +295,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
AdminListBo a = adminMapper.getDeptNameByAid(TokenManager.getAdminId());
|
|
|
aids.addAll(adminMapper.listNameByDepAndName(a.getDepartmentId(), "营销管理员"));
|
|
|
type=NoticeStatus.ORDER_START.getCode();
|
|
|
- pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
|
|
|
+ pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId(),t.getApproval());
|
|
|
}
|
|
|
if (t2.getApproval()==ApprovalNewState.BH.getCode()||
|
|
|
t2.getOrderStatus()==OrderNewState.QDSHJJ.getCode()||
|
|
|
@@ -353,19 +353,20 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
private void createContractNo(TOrderNew t) {
|
|
|
//根据订单部门或许合同编号前缀
|
|
|
OrganizationManagement dep=organizationManagementMapper.selectByPrimaryKey(t.getOrderDep());
|
|
|
+ //获取日期年份
|
|
|
+ Calendar c=Calendar.getInstance();
|
|
|
+ int y=c.get(Calendar.YEAR);
|
|
|
if (dep==null||StringUtils.isBlank(dep.getAbbreviation())) {
|
|
|
throw new BusinessException(new Error( "该部门缩写不存在","该部门缩写不存在"));
|
|
|
}
|
|
|
- IdleContractNo i=idleContractNoMapper.selectByAbbreviation(dep.getAbbreviation());
|
|
|
+ IdleContractNo i=idleContractNoMapper.selectByAbbreviation(dep.getAbbreviation(),y);
|
|
|
if (i!=null&&i.getContractNo()!=null) {
|
|
|
t.setContractNo(i.getContractNo());
|
|
|
idleContractNoMapper.deleteByPrimaryKey(i.getId());
|
|
|
}else {
|
|
|
//根据前缀查询最大编号
|
|
|
String max=organizationManagementMapper.getMaxAbbreviation(dep.getAbbreviation()+"-");
|
|
|
- //获取日期年份
|
|
|
- Calendar c=Calendar.getInstance();
|
|
|
- int y=c.get(Calendar.YEAR);
|
|
|
+
|
|
|
String sno=null;
|
|
|
if (StringUtils.isBlank(max)||max.length()<13) {
|
|
|
String cn=""+dep.getAbbreviation()+"-"+y+"0001";
|
|
|
@@ -418,8 +419,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void addOrderLog(TOrderLog tl) {
|
|
|
+ public void addOrderLog(TOrderLog tl, String reason) {
|
|
|
tl.setAid(TokenManager.getAdminId());
|
|
|
+ if(reason!=null)tl.setRemarks(reason);
|
|
|
tOrderLogMapper.insertSelective(tl);
|
|
|
|
|
|
}
|
|
|
@@ -478,7 +480,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
- public Pagination<TOrderNewBo> orderNewList(String name, String orderNo, String starTime, String endTime,Integer specially,
|
|
|
+ public Pagination<TOrderNewBo> orderNewList(String name, String orderNo, String starTime, String endTime,Integer specially,Integer approval,
|
|
|
Integer distribution,String depId,String contractNo,Integer outsource,Integer liquidationStatus, Integer pageNo, Integer pageSize) {
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
if(pageSize==null||pageSize<0)pageSize=10;
|
|
|
@@ -498,6 +500,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
if (StringUtils.isNotBlank(depId)) params.put("depId", depId);
|
|
|
if (StringUtils.isNotBlank(contractNo)) params.put("contractNo", contractNo);
|
|
|
if (null!=liquidationStatus) params.put("liquidationStatus", liquidationStatus);
|
|
|
+ if (null==approval)params.put("approval", 0);
|
|
|
+ else params.put("approval", approval);
|
|
|
if (StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
|
|
|
if (StringUtils.isNotBlank(starTime)) params.put("starTime", starTime);
|
|
|
if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
|
|
|
@@ -532,8 +536,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
t.setProcessStatus(ProcessStatus.YPWBSH.getCode());
|
|
|
tl.setOrderNo(orderNo);
|
|
|
tl.setProcess(OrderLogProcess.FQWB.getCode());
|
|
|
- addOrderLog(tl);
|
|
|
-
|
|
|
+ addOrderLog(tl,null);
|
|
|
|
|
|
}
|
|
|
}else {
|
|
|
@@ -546,7 +549,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
tl.setOrderNo(orderNo);
|
|
|
tl.setProcess(OrderLogProcess.SH.getCode());
|
|
|
//增加日志
|
|
|
- addOrderLog(tl);
|
|
|
+ addOrderLog(tl,null);
|
|
|
//非特批增加催款信息
|
|
|
//外包
|
|
|
if(outsource==1) {
|
|
|
@@ -565,14 +568,14 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
addBackOrder(orderNo, reason);
|
|
|
tl.setOrderNo(orderNo);
|
|
|
tl.setProcess(OrderLogProcess.SH.getCode());
|
|
|
- addOrderLog(tl);
|
|
|
+ addOrderLog(tl,null);
|
|
|
}
|
|
|
aids.add(t2.getSalesmanId());
|
|
|
type=NoticeStatus.ORDER_NO.getCode();
|
|
|
}
|
|
|
t.setOrderStatus(orderStatus);
|
|
|
tOrderNewMapper.updateByPrimaryKeySelective(t);
|
|
|
- pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
|
|
|
+ pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId(),t2.getApproval());
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@@ -628,7 +631,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
//发送驳回邮件
|
|
|
if(SendEmailUtil.isEmail(b.getEmail())) {
|
|
|
EmailBo bo = new EmailBo("催收通知", b.getEmail(), a.getDepartmentName(), a.getName(),
|
|
|
- "", orderNo,new SimpleDateFormat("yyyy-MM-dd").format(ob.getCreateTime()),dunTypeName,a2.getName(),b.getUserName(),1);
|
|
|
+ "", orderNo,new SimpleDateFormat("yyyy-MM-dd").format(ob.getCreateTime()),dunTypeName,a2.getName(),b.getUserName(),1,0);
|
|
|
if(StringUtils.isNotBlank(b.getEmail())) {
|
|
|
SendEmailUtil.getInstance().patentSend(bo);
|
|
|
}
|
|
|
@@ -733,7 +736,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
TOrderLog tl=new TOrderLog();
|
|
|
tl.setOrderNo(t.getOrderNo());
|
|
|
tl.setProcess(OrderLogProcess.FQTD.getCode());
|
|
|
- addOrderLog(tl);
|
|
|
+ addOrderLog(tl,null);
|
|
|
return tOrderRefundMapper.insertSelective(t);
|
|
|
}
|
|
|
|
|
|
@@ -770,8 +773,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
aids.add(t2.getSalesmanId());
|
|
|
type=NoticeStatus.ORDER_APPROVA_NO.getCode();
|
|
|
}
|
|
|
- addOrderLog(tl);
|
|
|
- pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId());
|
|
|
+ addOrderLog(tl,reason);
|
|
|
+ pushGeneralSendNoticeAndEmail(aids, type,t2.getOrderNo(), TokenManager.getAdminId(),t2.getApproval());
|
|
|
//新增特批催款信息
|
|
|
|
|
|
return tOrderNewMapper.updateByPrimaryKeySelective(t);
|
|
|
@@ -860,6 +863,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
i.setAid(TokenManager.getAdminId());
|
|
|
i.setContractNo(contractNo);
|
|
|
i.setUsedOrderNo(orderNo);
|
|
|
+ i.setYear(y);
|
|
|
//如果找不到订单部门,则取订单编号-前面的缩写
|
|
|
if(StringUtils.isNotBlank(orderDep)) {
|
|
|
OrganizationManagement o=organizationManagementMapper.selectByPrimaryKey(orderDep);
|
|
|
@@ -931,19 +935,21 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
*/
|
|
|
@Override
|
|
|
public void exportOrderDunData(String name,String orderNo,String starTime,String endTime,Integer specially,String adminName,
|
|
|
- String depId,Integer newStatus,Integer pageNo,Integer pageSize,HttpServletResponse response) throws IOException {
|
|
|
+ String depId,Integer newStatus,Integer pageNo,Integer pageSize,HttpServletResponse response) throws Exception {
|
|
|
OutputStream out = response.getOutputStream();
|
|
|
try {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
- List<TOrderNewBo> list=(List<TOrderNewBo>) dunOrderNewList( name, orderNo, starTime, endTime,
|
|
|
+ List<outOrderDunListBo> list=(List<outOrderDunListBo>) dunOrderNewList( name, orderNo, starTime, endTime,
|
|
|
specially, adminName, depId,newStatus, pageNo, pageSize).getList();
|
|
|
+
|
|
|
String[] comment = {"合同编号","订单编号","客户名称","订单负责人","订单部门","订单状态","签单金额","结算状态","应收款","已收款","未收款","项目状态","催收科目","催款状态","催款启动时间","签单时间"};
|
|
|
String fileName ="催款信息记录表" + new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) + ".xls";
|
|
|
//type 0 变更
|
|
|
XSSFWorkbook wb =ExportExcelUtil.exportTemplateInfoS(comment,"催款信息");
|
|
|
//根据列表编写文档
|
|
|
XSSFSheet sheet =wb.getSheetAt(0);
|
|
|
- for (TOrderNewBo ob : list) {
|
|
|
+ System.out.println(list.get(0).getAccountsReceivable());
|
|
|
+ for (outOrderDunListBo ob : list) {
|
|
|
//新增一行
|
|
|
XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
for (int i = 0; i < comment.length; i++) {
|
|
|
@@ -984,7 +990,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
throw new BusinessException(new Error("表格生成错误。"));
|
|
|
}finally {
|
|
|
out.flush();
|
|
|
- out.close();
|
|
|
+ out.close();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -1036,7 +1042,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
addBackOrder(orderNo, reason);
|
|
|
List<String> aids = new ArrayList<>();
|
|
|
aids.add(t.getSalesmanId());
|
|
|
- pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_NO.getCode(),t.getOrderNo(), TokenManager.getAdminId());
|
|
|
+ pushGeneralSendNoticeAndEmail(aids, NoticeStatus.ORDER_NO.getCode(),t.getOrderNo(), TokenManager.getAdminId(),t.getApproval());
|
|
|
return tOrderNewMapper.updateByPrimaryKeySelective(t);
|
|
|
}
|
|
|
|
|
|
@@ -1128,9 +1134,11 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
|
|
|
|
|
|
@Async
|
|
|
- public void pushGeneralSendNoticeAndEmail(List<String> alist, Integer type,String OrderNo,String adminId) {
|
|
|
+ public void pushGeneralSendNoticeAndEmail(List<String> alist, Integer type,String orderNo,String adminId,Integer approval) {
|
|
|
AdminListBo a = adminMapper.getDeptNameByAid(adminId);
|
|
|
- String str=NoticeStatus.getValueByCode(type)+": 订单编号 -"+OrderNo+", 操作人:"+a.getDepartmentName()+"-"+a.getName()+"。";
|
|
|
+ String approvalType="";
|
|
|
+ if (approval!=ApprovalNewState.FTP.getCode()) approvalType="[特批]";
|
|
|
+ String str=approvalType+NoticeStatus.getValueByCode(type)+": 订单编号 -"+orderNo+", 操作人:"+a.getDepartmentName()+"-"+a.getName()+"。";
|
|
|
String adminIds="";
|
|
|
List<Notice> nlist=new ArrayList<>();
|
|
|
for (String string : alist) {
|
|
|
@@ -1149,7 +1157,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
if(StringUtils.isNotBlank(adminIds)) {
|
|
|
adminIds=adminIds.substring(0, adminIds.length()-1);
|
|
|
EmailBo bo = new EmailBo(NoticeStatus.getValueByCode(type), adminIds, a.getDepartmentName(), a.getName(), "请登录查看"
|
|
|
- ,null,null,null,null,null,0);
|
|
|
+ ,null,null,null,null,null,0,approval);
|
|
|
try {
|
|
|
//使用专利邮件模板
|
|
|
SendEmailUtil.getInstance().patentSend(bo);
|
|
|
@@ -1225,5 +1233,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|