// print work orders pdf
@RequestMapping(value = "/WORKDY_WORD", method = RequestMethod.GET, produces = "application/html;charset=UTF-8")
@ResponseBody
public void WORKDY_WORD(@RequestParam(value = "V_V_ORDERGUID") String V_V_ORDERGUID,
HttpServletResponse response)
throws Exception , SQLException {
List gxlist = new ArrayList();
List mmlist=new ArrayList();
//工单基本信息
List<Map<String, Object>> workresult = (List) cjyService.PRO_PM_WORKORDER_GET(V_V_ORDERGUID).get("list");
String V_V_ORGCODE = workresult.get(0).get("V_ORGCODE").toString();//厂矿
String V_WORK_TYPE =workresult.get(0).get("V_ORDER_TYP_TXT").toString();//工单类型
String V_DEPT_CODE =workresult.get(0).get("V_DEPTCODE").toString();//作业区
//工序
List<Map<String, Object>> workgxresult = (List) zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID).get("list");
// Map<String, Object> gxdata = zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID);
// if(gxdata.size()>0){ gxlist = (List) gxdata.get("list"); }
//物料
List<Map<String, Object>> mmresult = (List) zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID).get("list");
// Map<String, Object> mmdata = zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID);
// if(mmdata.size()>0){ mmlist = (List) mmdata.get("list"); }
//Blank Document
XWPFDocument document= new XWPFDocument();
response.setContentType("application/msword;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode("工单打印导出.doc", "UTF-8"));
//Write the Document in file system
// FileOutputStream out = new FileOutputStream(new File("工单打印导出.docx"));
//添加标题
XWPFParagraph titleParagraph = document.createParagraph();
//设置段落居中
titleParagraph.setAlignment(ParagraphAlignment.CENTER);
XWPFRun titleParagraphRun = titleParagraph.createRun();
titleParagraphRun.setText("工单打印");
titleParagraphRun.setColor("000000");
titleParagraphRun.setFontSize(16);
//换行
XWPFParagraph paragraph1 = document.createParagraph();
XWPFRun paragraphRun1 = paragraph1.createRun();
paragraphRun1.setText("\r");
//基本信息表格
XWPFTable baseTable = document.createTable();
//表格第一行
XWPFTableRow baseTableRowOne = baseTable.getRow(0);
baseTableRowOne.getCell(0).setText("@基本信息栏");
//表格第二行
XWPFTableRow baseTableRowTwo = baseTable.createRow();
baseTableRowTwo.getCell(0).setText("厂矿单位");
baseTableRowTwo.getCell(1).setText(V_V_ORGCODE);
baseTableRowTwo.getCell(2).setText("工单类型");
baseTableRowTwo.getCell(3).setText(V_WORK_TYPE);
//表格第三行
XWPFTableRow baseTableRowThree = baseTable.createRow();
baseTableRowThree.getCell(0).setText("作业区");
baseTableRowThree.getCell(1).setText(V_DEPT_CODE);
baseTableRowThree.getCell(2).setText("工单号");
baseTableRowThree.getCell(3).setText(workresult.get(0).get("V_ORDERID").toString());
//表格第四行
XWPFTableRow baseTableRowfour = baseTable.createRow();
baseTableRowfour.getCell(0).setText("设备编码");
baseTableRowfour.getCell(1).setText(workresult.get(0).get("V_EQUIP_NO").toString());
//表格第五行
XWPFTableRow baseTableRowFive = baseTable.createRow();
baseTableRowFive.getCell(0).setText("功能位置");
baseTableRowFive.getCell(1).setText(workresult.get(0).get("V_EQUSITENAME").toString());
//表格第六行
XWPFTableRow baseTableRowSix = baseTable.createRow();
baseTableRowSix.setHeight(44);
baseTableRowSix.getCell(0).setText("工单描述");
baseTableRowSix.getCell(1).setText(workresult.get(0).get("V_SHORT_TXT").toString());
//表格第七行
XWPFTableRow baseTableRowSeven = baseTable.createRow();
baseTableRowSeven.getCell(0).setText("@任务信息栏");
//表格第八行
XWPFTableRow baseTableRowEight = baseTable.createRow();
baseTableRowEight.getCell(0).setText("WBS编码");
baseTableRowEight.getCell(1).setText(workresult.get(0).get("V_WBS").toString());
//表格第九行
XWPFTableRow baseTableRowNine = baseTable.createRow();
baseTableRowNine.getCell(0).setText("项目名称");
baseTableRowNine.getCell(1).setText(workresult.get(0).get("V_WBS_TXT").toString());
//表格第十行
XWPFTableRow baseTableRowTen= baseTable.createRow();
baseTableRowTen.getCell(0).setText("创建人");
baseTableRowTen.getCell(1).setText(workresult.get(0).get("V_ENTERED_BY").toString());
baseTableRowTen.getCell(2).setText("创建时间");
baseTableRowTen.getCell(3).setText(workresult.get(0).get("D_ENTER_DATE").toString());
//表格第十一行
XWPFTableRow baseTableRowEleven= baseTable.createRow();
baseTableRowEleven.getCell(0).setText("计划开始时间");
baseTableRowEleven.getCell(1).setText(workresult.get(0).get("D_START_DATE").toString());
baseTableRowEleven.getCell(2).setText("实际开始时间");
baseTableRowEleven.getCell(3).setText(workresult.get(0).get("D_FACT_START_DATE").toString());
//表格第十二行
XWPFTableRow baseTableRowTwelve= baseTable.createRow();
baseTableRowTwelve.getCell(0).setText("计划结束时间");
baseTableRowTwelve.getCell(1).setText(workresult.get(0).get("D_FINISH_DATE").toString());
baseTableRowTwelve.getCell(2).setText("实际结束时间");
baseTableRowTwelve.getCell(3).setText(workresult.get(0).get("D_FACT_FINISH_DATE").toString());
//工序表格
XWPFTable gxTable = document.createTable();
//列宽自动分割
CTTblWidth gxTableWidth = gxTable.getCTTbl().addNewTblPr().addNewTblW();
gxTableWidth.setType(STTblWidth.DXA);
gxTableWidth.setW(BigInteger.valueOf(9072));
//表格第一行
XWPFTableRow gxTableRowOne = gxTable.getRow(0);
gxTableRowOne.getCell(0).setText("工序编号");
gxTableRowOne.getCell(1).setText("工作中心");
gxTableRowOne.getCell(2).setText("工序内容");
gxTableRowOne.getCell(3).setText("定额时间");
gxTableRowOne.getCell(4).setText("定额人数");
gxTableRowOne.getCell(5).setText("实际时间");
gxTableRowOne.getCell(6).setText("实际人数");
gxTableRowOne.getCell(7).setText("机具");
gxTableRowOne.getCell(8).setText("工具");
gxTableRowOne.getCell(9).setText("技术要求");
gxTableRowOne.getCell(10).setText("安全措施");
if(workgxresult.size()>0){
for(int i=1;i<=workgxresult.size();i++)
{
XWPFTableRow gxtableRow=gxTable.createRow();
gxtableRow.getCell(0).setText(workgxresult.get(i).get("V_ACTIVITY").toString());
gxtableRow.getCell(1).setText(workgxresult.get(i).get("V_WORK_CENTER").toString());
gxtableRow.getCell(2).setText(workgxresult.get(i).get("V_DESCRIPTION").toString());
gxtableRow.getCell(3).setText(workgxresult.get(i).get("I_WORK_ACTIVITY").toString());
gxtableRow.getCell(4).setText(workgxresult.get(i).get("I_DURATION_NORMAL").toString());
gxtableRow.getCell(5).setText(workgxresult.get(i).get("I_ACTUAL_TIME").toString());
gxtableRow.getCell(6).setText(workgxresult.get(i).get("I_NUMBER_OF_PEOPLE").toString());
gxtableRow.getCell(7).setText(workgxresult.get(i).get("V_JJ_NAME").toString());
gxtableRow.getCell(8).setText(workgxresult.get(i).get("V_GJ_NAME").toString());
gxtableRow.getCell(9).setText(workgxresult.get(i).get("V_JSQY_NAME").toString());
gxtableRow.getCell(10).setText(workgxresult.get(i).get("V_AQSC_NAME").toString());
}
}
//物料表格
XWPFTable matTable = document.createTable();
//列宽自动分割
CTTblWidth matTableWidth = matTable.getCTTbl().addNewTblPr().addNewTblW();
matTableWidth.setType(STTblWidth.DXA);
matTableWidth.setW(BigInteger.valueOf(9072));
//表格第一行
XWPFTableRow mmTableRowOne = matTable.getRow(0);
mmTableRowOne.getCell(0).setText("序号");
mmTableRowOne.getCell(1).setText("工序");
mmTableRowOne.getCell(2).setText("物料编码");
mmTableRowOne.getCell(3).setText("物料描述");
mmTableRowOne.getCell(4).setText("单位");
mmTableRowOne.getCell(5).setText("计划数量");
mmTableRowOne.getCell(6).setText("计划总金额");
mmTableRowOne.getCell(7).setText("实际数量");
mmTableRowOne.getCell(8).setText("实际总金额");
mmTableRowOne.getCell(9).setText("备注");
if(mmresult.size()>0){
for(int i=1;i<=mmresult.size();i++)
{
XWPFTableRow mattableRow=matTable.createRow();
mattableRow.getCell(0).setText(mmresult.get(i).get("sid").toString());
mattableRow.getCell(1).setText(mmresult.get(i).get("V_ACTIVITY").toString());
mattableRow.getCell(2).setText(mmresult.get(i).get("V_MATERIALCODE").toString());
mattableRow.getCell(3).setText(mmresult.get(i).get("V_MATERIALNAME").toString());
mattableRow.getCell(4).setText(mmresult.get(i).get("V_UNIT").toString());
mattableRow.getCell(5).setText(mmresult.get(i).get("I_PLANAMOUNT").toString());
mattableRow.getCell(6).setText(mmresult.get(i).get("F_PLANMONEY").toString());
mattableRow.getCell(7).setText(mmresult.get(i).get("I_ACTUALAMOUNT").toString());
mattableRow.getCell(8).setText(mmresult.get(i).get("F_ACTUALMONEY").toString());
mattableRow.getCell(9).setText("> ");
}
}
try {
OutputStream out = response.getOutputStream();
document.write(out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}