|
|
@@ -1,5 +1,7 @@
|
|
|
package com.goafanti.order.service.impl;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -10,8 +12,13 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.UUID;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.record.EOFRecord;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
@@ -52,12 +59,16 @@ import com.goafanti.common.utils.ExportExcelUtil;
|
|
|
import com.goafanti.core.mybatis.BaseMybatisDao;
|
|
|
import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
+import com.goafanti.order.bo.NewOderCahngeListBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskDetailBo;
|
|
|
import com.goafanti.order.bo.TOrderTaskListBo;
|
|
|
import com.goafanti.order.bo.TaskLogBo;
|
|
|
import com.goafanti.order.bo.TaskProgressBo;
|
|
|
import com.goafanti.order.enums.BonusSubject;
|
|
|
+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.order.enums.ProjectNewStage;
|
|
|
import com.goafanti.order.service.OrderNewService;
|
|
|
@@ -379,12 +390,13 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
- public Pagination<TOrderTaskListBo> taskHoursList(String name, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
|
|
|
+ public Pagination<TOrderTaskListBo> taskHoursList(String name,String orderNo, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
|
|
|
Integer pageSize) {
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
if(pageSize==null||pageSize<0)pageSize=10;
|
|
|
if(pageNo==null||pageNo<0)pageNo=1;
|
|
|
if (StringUtils.isNotBlank(name)) params.put("name", name);
|
|
|
+ if (StringUtils.isNotBlank(orderNo)) params.put("orderNo", orderNo);
|
|
|
if (StringUtils.isNotBlank(taskId)) params.put("taskId", taskId);
|
|
|
if (StringUtils.isNotBlank(starTime)) params.put("starTime", starTime);
|
|
|
if (StringUtils.isNotBlank(endTime)) params.put("endTime", endTime+" 23:59:59");
|
|
|
@@ -462,20 +474,71 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
}
|
|
|
return l;
|
|
|
}
|
|
|
- @Override
|
|
|
- public XSSFWorkbook exportMyTaskList() {
|
|
|
- List<TOrderTaskListBo> list=taskProgressMapper.selectMyTaskList(TokenManager.getAdminId());
|
|
|
- if (list==null || list.size()==0) return null;
|
|
|
- String[] comment = {"任务编号","任务名称","订单编号","业务别类","客户名称(软著数/下证数)","任务状态","项目状态","分配时间","订单部门"};
|
|
|
- String filePath = uploadPath + "/MyTaskList";
|
|
|
- XSSFWorkbook wb = ExportExcelUtil.exportSelectMyTaskList(list, comment, filePath);
|
|
|
- return wb;
|
|
|
- }
|
|
|
+
|
|
|
@Override
|
|
|
public List<TTaskHours> taskHoursDetailsList(String taskId) {
|
|
|
String aid=TokenManager.getAdminId();
|
|
|
return tTaskHoursMapper.taskHoursDetailsList(taskId,aid);
|
|
|
}
|
|
|
+ @Override
|
|
|
+ public void exportMyTaskList(HttpServletResponse response,String name,String orderNo, String taskId, String starTime,String endTime ,Integer type, Integer pageNo,
|
|
|
+ Integer pageSize) throws IOException {
|
|
|
+ OutputStream out = response.getOutputStream();
|
|
|
+ try {
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ List<TOrderTaskListBo> list=(List<TOrderTaskListBo>) taskHoursList( name, orderNo, taskId, starTime, endTime , type, 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 (TOrderTaskListBo ob : (List<TOrderTaskListBo>)list) {
|
|
|
+ //新增一行
|
|
|
+ XSSFRow r = sheet.createRow(sheet.getLastRowNum()+1);
|
|
|
+ for (int i = 0; i < comment.length; i++) {
|
|
|
+ //当前列的只
|
|
|
+ String o = "";
|
|
|
+ switch (comment[i]) {
|
|
|
+// String[] comment = {"合同编号 ","订单编号","客户名称","项目负责人 ","业务别类","项目别类","项目名称","项目状态 工时","分配时间","完成时间"};
|
|
|
+ case "合同编号": o = ob.getContractNo(); break;
|
|
|
+ case "订单编号": o = ob.getOrderNo().toString(); break;
|
|
|
+ case "客户名称": o = ob.getUserName(); break;
|
|
|
+ case "订单部门": o = ob.getDepName(); break;
|
|
|
+ case "项目负责人": o = ob.getReceiverName(); break;
|
|
|
+ case "业务别类": o = ob.getCname(); break;
|
|
|
+ /* case "项目别类": o = ob.getCname(); break;
|
|
|
+ case "订单类型": o = OrderType.getValueByCode(ob.getOrderType()); break;
|
|
|
+ case "下单时间": o = ob.getEstablishTimes(); break;
|
|
|
+ case "订单状态": o = OrderNewState.getValueByCode(ob.getOrderStatus()); break;
|
|
|
+ case "合同额(万元)": o = ob.getTotalAmount(); break;
|
|
|
+ case "已付额(万元)": o = ob.getSettlementAmount(); break;
|
|
|
+ case "欠款(万元)": o = ob.getArrears(); break;
|
|
|
+ case "订单负责人": o = ob.getSalesmanName(); break;
|
|
|
+ case "变更类型": o = OrderChangeType.getValueByCode(ob.getType()); break;
|
|
|
+ case "变更审核状态": o = getProcessState(ob.getProcessState(),ob.getStatus()); break;
|
|
|
+ case "变更提交时间": o = ob.getCreateTimes(); break;*/
|
|
|
+ default: o = ""; break;
|
|
|
+ }
|
|
|
+ XSSFCell c = r.createCell(i);
|
|
|
+ c.setCellValue(o);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //返回名称及参数
|
|
|
+ response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1"));
|
|
|
+ response.setContentType("application/octet-stream;charset=utf-8");
|
|
|
+ // 返回数据流
|
|
|
+ wb.write(out);
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BusinessException(new Error("表格生成错误。"));
|
|
|
+ }finally {
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|