Commit a8938764 authored by suichenguang's avatar suichenguang

Merge remote-tracking branch 'origin/dev' into dev

parents cb0a3685 e3bf1212
......@@ -54,7 +54,11 @@
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......@@ -65,11 +69,6 @@
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
......
......@@ -6,6 +6,9 @@ import com.yxproject.start.service.PersonPostService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -14,6 +17,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.DefaultValue;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
......@@ -95,13 +104,45 @@ public class PersonPostApi {
String orderNumber = jsonObject.getString("orderNumber");
String state = jsonObject.getString("state");
String latticeMouthInformation = jsonObject.getString("latticeMouthInformation");
List<String> getToCounty = new ArrayList<>();
getToCounty.add(jsonObject.getString("getToCounty"));
JSONArray jsonArray =(JSONArray)jsonObject.get("getToCounty");
String uploadDate = jsonObject.getString("uploadDate");
personPostService.deletePersonalData(applicantName,orderNumber,state,latticeMouthInformation,getToCounty,uploadDate);
personPostService.deletePersonalData(applicantName,orderNumber,state,latticeMouthInformation,jsonArray,uploadDate);
return true;
}
/**
* 根据导入日期删除未打印的邮政信息
* @param importDate
* @return
*/
@RequestMapping("recordsHaveNotPrinted")
public boolean deletePersonalDataByImportDate(@RequestParam("importDate")String importDate){
personPostService.deletePersonalDataByImportDate(replaceDate(importDate));
return true;
}
/**
* 根据导入日期删除未打印的邮政信息数量
* @param importDate
* @return
*/
@RequestMapping("findPersonalDataCountByImportDate")
public int findPersonalDataCountByImportDate(@RequestParam("importDate")String importDate){
int count = personPostService.findPersonalDataCountByImportDate(replaceDate(importDate));
return count;
}
@RequestMapping("download")
public void exportExcel(HttpServletRequest request,HttpServletResponse response,
@RequestParam("uploadDate") String uploadDate, @RequestParam("hasPrinted") String hasPrinted,
@RequestParam("djx") List<String> djx, @RequestParam("gkxx") String gkxx, @RequestParam("ddh") String ddh,
@RequestParam("sequence")String sequence, @RequestParam("sqrxm") String sqrxm) throws Exception {
JSONArray jsonArray = JSONArray.fromObject(djx);
List<PersonPostEntity> list = personPostService.downLoadReportForm(request,response,sqrxm,ddh,hasPrinted,gkxx,jsonArray,replaceDate(uploadDate));
exportExcel(request, response, list);
}
/**
*刷身份证查询邮寄单信息详情
*/
......@@ -138,4 +179,117 @@ public class PersonPostApi {
private String replaceDate(String str){
return str.replace("-","");
}
/**
* 创建报表
*
*/
private void exportExcel(HttpServletRequest request, HttpServletResponse response, List<PersonPostEntity> records) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("模板明细");
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
HSSFRow firstRow = sheet.createRow(0);
String []rowTitle = {"订单号", "寄件人姓名", "寄件人电话2", "寄件人详细地址", "收件人姓名", "收件人电话2",
"收件人邮编", "邮件号", "内件性质", "重量", "长", "宽", "高", "收件人城市","收件人区县", "收件人详细地址",
"回单标识", "回单运单号", "商品名称", "内件号", "内件名称"};
for (int i = 0; i < rowTitle.length; i++) {
HSSFCell cell = firstRow.createCell(i);
cell.setCellValue(rowTitle[i]);
cell.setCellStyle(style);
}
sheet.setColumnWidth(0, (int)((6.67 + 0.72) * 256));
sheet.setColumnWidth(1, (int)((12.36 + 0.72) * 256));
sheet.setColumnWidth(2, (int)((12.36 + 0.72) * 256));
sheet.setColumnWidth(3, (int)((27.83 + 0.72) * 256));
sheet.setColumnWidth(4, (int)((10.55 + 0.72) * 256));
sheet.setColumnWidth(5, (int)((12.36 + 0.72) * 256));
sheet.setColumnWidth(6, (int)((10.55 + 0.72) * 256));
sheet.setColumnWidth(7, (int)((14.64 + 0.72) * 256));
sheet.setColumnWidth(8, (int)((8.55 + 0.72) * 256));
sheet.setColumnWidth(9, (int)((4.82 + 0.72) * 256));
sheet.setColumnWidth(10, (int)((2.91 + 0.72) * 256));
sheet.setColumnWidth(11, (int)((2.91 + 0.72) * 256));
sheet.setColumnWidth(12, (int)((2.91 + 0.72) * 256));
sheet.setColumnWidth(13, (int)((10.55 + 0.72) * 256));
sheet.setColumnWidth(14, (int)((10.55 + 0.72) * 256));
sheet.setColumnWidth(15, (int)((74.64 + 0.72) * 256));
sheet.setColumnWidth(16, (int)((14.09 + 0.72) * 256));
sheet.setColumnWidth(17, (int)((14.64 + 0.72) * 256));
sheet.setColumnWidth(18, (int)((8.55 + 0.72) * 256));
sheet.setColumnWidth(19, (int)((6.64 + 0.72) * 256));
sheet.setColumnWidth(20, (int)((8.55 + 0.72) * 256));
for (int i = 0; i < records.size(); i++) {
HSSFRow row = sheet.createRow(i + 1);
PersonPostEntity personPostEntity = records.get(i);
HSSFCell cell = row.createCell(0);
cell.setCellValue(personPostEntity.getId());
cell = row.createCell(1);
cell.setCellValue("人口管理总队");
cell = row.createCell(2);
cell.setCellValue("010-87682315");
cell = row.createCell(3);
cell.setCellValue("北京市丰台区成寿寺路甲19号");
cell = row.createCell(4);
cell.setCellValue(personPostEntity.getRecipientName());
cell = row.createCell(5);
cell.setCellValue(personPostEntity.getRecipientPhone());
cell = row.createCell(7);
cell.setCellValue(personPostEntity.getWaybillNumber());
cell = row.createCell(8);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(1);
cell = row.createCell(9);
cell.setCellType(CellType.NUMERIC);
cell.setCellValue(100);
cell = row.createCell(13);
cell.setCellValue(personPostEntity.getGetToCity());
cell = row.createCell(14);
cell.setCellValue(personPostEntity.getGetToProvince());
cell = row.createCell(15);
cell.setCellValue(personPostEntity.getRecipientAddress());
cell = row.createCell(16);
cell.setCellValue("6");
cell = row.createCell(17);
cell.setCellValue(personPostEntity.getBackWaybillNumber());
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日生产导出");
String fileName = simpleDateFormat.format(new Date()) + ".xls";
String rtn = "";
fileName = URLEncoder.encode(fileName, "UTF8");
String userAgent = request.getHeader("User-Agent");
/*针对IE或者以IE为内核的浏览器:*/
if (userAgent != null) {
userAgent = userAgent.toLowerCase();
/*IE浏览器,只能采用URLEncoder编码*/
if (userAgent.contains("msie")) {
rtn = "filename=\"" + fileName + "\"";
}
/*Opera浏览器只能采用filename**/
else if (userAgent.contains("opera")) {
rtn = "filename*=UTF-8''" + fileName;
}
/*Safari浏览器,只能采用ISO编码的中文输出*/
else if (userAgent.contains("safari")) {
rtn = "filename=\"" + new String(fileName.getBytes(StandardCharsets.UTF_8), "ISO8859-1") + "\"";
}
/*Chrome浏览器,只能采用MimeUtility编码或ISO编码的中文输出*/
// else if (userAgent.indexOf("applewebkit") != -1) {
// fileName = MimeUtility.encodeText(fileName, "UTF8", "B");
// rtn = "filename=\"" + fileName + "\"";
// }
/* FireFox浏览器,可以使用MimeUtility或filename*或ISO编码的中文输出*/
else if (userAgent.contains("mozilla")) {
rtn = "filename*=UTF-8''" + fileName;
}
}
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;" + rtn);
response.setCharacterEncoding("UTF-8");
OutputStream outputStream = response.getOutputStream();
wb.write(outputStream);
outputStream.flush();
outputStream.close();
}
}
......@@ -86,4 +86,28 @@ public interface PersonPostMapper {
@Update("update PERSON_POST SET PRINT_DATE=#{printDateTime} where id=#{id}")
void updateIsPrint(@Param("id") int id, @Param("printDateTime") Date printDateTime);
@Delete("DELETE FROM PERSON_POST WHERE FILE_ID = #{fileId} and PRINT_DATE IS NULL")
public void deleteNoPrintPersonPostByFileId(@Param("fileId")String fileId);
@Select("SELECT FILE_ID FROM FILE_NAME_DIC WHERE substr(UPLOAD_DATE,0,8)=#{date}")
public int selectFileIdByImportDate(@Param("date")String date);
@Select("SELECT count(*) FROM FILE_NAME_DIC a LEFT JOIN PERSON_POST b on a.FILE_ID=b.FILE_ID WHERE substr(a.UPLOAD_DATE,0,8)=#{date} AND b.PRINT_DATE IS NULL")
public int selectPersonalDataCountByImportDate(@Param("date")String date);
@Select("<script> " +
"SELECT PERSON_POST.*" +
" FROM PERSON_POST " +
" LEFT JOIN FILE_NAME_DIC ON FILE_NAME_DIC.FILE_ID=PERSON_POST.FILE_ID " +
" WHERE 1=1" +
" <when test='sqrxm!=\"\"'> and PERSON_POST.APPLICANT_NAME = #{sqrxm} </when>" +
" <when test='ddh!=\"\"'> and PERSON_POST.ORDER_NUMBER=#{ddh} </when>" +
" <when test='hasPrinted!=\"\"'> and PERSON_POST.STATE=#{hasPrinted} </when>" +
" <when test='gkxx!=\"\"'> and PERSON_POST.LATTICE_MOUTH_INFORMATION=#{gkxx} </when>" +
" <when test='str!=null'> and PERSON_POST.GET_TO_COUNTY in ( #{str} ) </when>" +
" <when test='uploadDate!=\"\"'> and subStr(FILE_NAME_DIC.UPLOAD_DATE,0,8)=#{uploadDate} </when>"+
"</script>")
public List<PersonPostEntity> findAllPersonalDataNoPage(@Param("sqrxm") String sqrxm, @Param("ddh")String ddh, @Param("hasPrinted")String hasPrinted,
@Param("gkxx")String gkxx, @Param("str")String str, @Param("uploadDate")String uploadDate);
}
......@@ -3,8 +3,11 @@ package com.yxproject.start.service;
import com.yxproject.start.dto.ReadCardDto;
import com.yxproject.start.entity.FileNameDicEntity;
import com.yxproject.start.entity.PersonPostEntity;
import net.sf.json.JSONArray;
import org.apache.ibatis.annotations.Param;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
......@@ -28,9 +31,15 @@ public interface PersonPostService {
public boolean deletePersonalData(String applicantName,String orderNumber,String state,String latticeMouthInformation,List<String> getToCounty,String uploadDate);
public boolean deletePersonalDataByImportDate(String date);
public List<PersonPostEntity> getPostInfo(ReadCardDto readCardDto);
public boolean printPostList(int id, Date printDateTime);
public int findPersonalDataCount(String applicantName, String orderNumber, String state, String latticeMouthInformation, List<String> getToCounty, String uploadDate);
public int findPersonalDataCountByImportDate(String importDate);
public List<PersonPostEntity> downLoadReportForm(HttpServletRequest request,HttpServletResponse response,String sqrxm, String ddh, String hasPrinted, String gkxx, JSONArray jsonArray, String uploadDate);
}
......@@ -46,8 +46,8 @@ public class FileNameDicServiceImpl implements FileNameDicService {
@Override
@Transactional
public void deleteFileByFileId(String fileId) {
fileNameDicMapper.deleteFileAndPostData(fileId);
personPostMapper.deletePersonPostByFileId(fileId);
fileNameDicMapper.deleteFileAndPostData(fileId);
}
}
......@@ -7,13 +7,23 @@ import com.yxproject.start.mapper.FileNameDicMapper;
import com.yxproject.start.mapper.PersonPostMapper;
import com.yxproject.start.mapper.PreproPersonMapper;
import com.yxproject.start.service.PersonPostService;
import net.sf.json.JSONArray;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.crypto.Data;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
......@@ -74,6 +84,14 @@ public class PersonPostServiceImpl implements PersonPostService {
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deletePersonalDataByImportDate(String date) {
int id = personPostMapper.selectFileIdByImportDate(date);
personPostMapper.deleteNoPrintPersonPostByFileId(id+"");
return true;
}
@Override
public List<PersonPostEntity> getPostInfo(ReadCardDto readCardDto) {
String idCard = readCardDto.getIdCard();
......@@ -103,6 +121,26 @@ public class PersonPostServiceImpl implements PersonPostService {
return count;
}
@Override
public int findPersonalDataCountByImportDate(String importDate) {
int count = personPostMapper.selectPersonalDataCountByImportDate(importDate);
return count;
}
@Override
public List<PersonPostEntity> downLoadReportForm(HttpServletRequest request,HttpServletResponse response,String sqrxm, String ddh, String hasPrinted, String gkxx, JSONArray jsonArray, String uploadDate) {
String str = null;
for (int i = 0;i<jsonArray.size();i++){
if (i==jsonArray.size()-1){
str+="'"+jsonArray.get(i)+"'";
}else {
str+="'"+jsonArray.get(i)+"',";
}
}
List<PersonPostEntity> list = personPostMapper.findAllPersonalDataNoPage(sqrxm,ddh,hasPrinted,gkxx,str,uploadDate);
return list;
}
// /**
// * 查询个人邮寄信息
// * @param fileName 文件名
......
......@@ -121,10 +121,22 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
},
deleteRecordsNotPrinted: function (date, success) {
$http({
method: 'delete',
url: "../api/idCard/recordsHaveNotPrinted" + urlTimeStamp(),
method: 'GET',
url: "../personPostApi/recordsHaveNotPrinted" + urlTimeStamp(),
params: {
gmtCreat: date
importDate:date
}
}).then(function successCallback(response) {
success(response.data)
})
},
getChooseDateRecordsCount:function (date, success) {
console.log(date)
$http({
method: 'GET',
url: "../personPostApi/findPersonalDataCountByImportDate",
params:{
importDate:date
}
}).then(function successCallback(response) {
success(response.data)
......@@ -223,6 +235,10 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
if(angular.isUndefined(state)){
state=-1;
}
if(date==''){
date=$filter("date")(new Date(), "yyyy-MM-dd");
}
console.log(fileName,state,date)
$http({
method: 'GET',
url: "../ReadExcel/queryPersonPostCount"+urlTimeStamp(),
......@@ -242,6 +258,10 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
if(angular.isUndefined(state)){
state=-1;
}
if(date==''){
date=$filter("date")(new Date(), "yyyy-MM-dd");
}
console.log(fileName,state,currentPage,itemsPerPage,date)
$http({
method: 'GET',
url: "../ReadExcel/queryPersonPost"+urlTimeStamp(),
......@@ -463,6 +483,19 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
success(response.data)
})
},
getFjHistoryTask:function(date,success){
console.log(date)
$http({
method: 'GET',
url: "../TaskList/queryHistoryTaskAtAuxiliary2"+urlTimeStamp(),
params:{
process:$rootScope.loginData.roleList[0].process,
date:date
}
}).then(function successCallback(response) {
success(response.data)
})
},
getGroupListData:function(saveDate,countyCode,typeCode,currPage,pageSize,success){
$http({
method: 'GET',
......
......@@ -140,7 +140,7 @@
</tr>
</tbody>
</table>
<div style="padding-left: 27%;" ng-if="postPackageData>0">
<div style="padding-left: 27%;" ng-if="postPackageData.length>0">
<tm-pagination conf="paginationConf" class="ul"></tm-pagination>
</div>
<div class="box-body" ng-if="postPackageData.length==0"><h4>暂无记录</h4></div>
......
......@@ -360,7 +360,6 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
$scope.goes = function(){
var checks = $(".checkOneBox:checked");
if(checks.length>0){
var arr = [];
for (var i=0;i<checks.length;i++){
if(!checks[i].disabled){
......@@ -369,6 +368,7 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
continue;
}
}
if(arr.length>0){
var json={
process:$rootScope.loginData.roleList[0].process,
name:$rootScope.loginData.name,
......@@ -383,6 +383,7 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
MessageService.showAlert("请选择转出的任务单")
}
}
})
......@@ -400,7 +401,9 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
$scope.choseDate = $filter("date")(new Date(), "yyyy-MM-dd");
$scope.isHistory=0;
$scope.searchTaskList = function(){
$scope.isHistory=0;
HttpService.getFjTaskListByProcess(function(data){
$scope.cycleSheetData = data;
for(var i=0;i<$scope.cycleSheetData.length;i++){
......@@ -415,6 +418,21 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
}
$scope.searchTaskList();
$scope.searchHistory = function(){
$scope.isHistory=1;
HttpService.getFjHistoryTask($('#datepicker').val(),function(data){
$scope.cycleSheetData = data;
for(var i=0;i<$scope.cycleSheetData.length;i++){
if(i==$scope.currentTab){
$scope.cycleSheetData[i].isActive=true;
}else{
$scope.cycleSheetData[i].isActive=false;
}
}
console.log("历史:",$scope.cycleSheetData)
})
}
//创建变量用来保存选中结果
$scope.selected = [];
var updateSelected = function (action, task) {
......@@ -531,7 +549,7 @@ angular.module('AvatarCheck.task', ['ngRoute', 'AvatarCheck.http'])
console.log(json)
HttpService.updateTaskListProcess(json,function(data){
$scope.searchTaskList();
MessageService.showAlert("下发完成")
MessageService.showAlert("转出完成")
})
}else{
MessageService.showAlert("请选择转出的任务单");
......
......@@ -132,7 +132,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</tr>
</thead>
......@@ -146,8 +145,6 @@
<td class="mailbox-subject">{{task.countyValidCount}}</td>
<td class="mailbox-subject">{{task.countyValidCount-task.specialCount}}</td>
<td class="mailbox-attachment">{{task.specialCount}}</td>
<td ng-if="task.faileCount!=0" class="mailbox-subject" style="color: red;">{{task.faileCount}}</td>
<td ng-if="task.faileCount==0" class="mailbox-subject">{{task.faileCount}}</td>
<td class="mailbox-date"><a ng-click="getPoliceList(task.groupList,task.taskId)">组号列表</a></td>
</tr>
<tr ng-if="task.taskId==taskId">
......@@ -159,7 +156,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</thead>
<tbody>
......@@ -168,7 +164,6 @@
<td>{{item.VALID_COUNT}}</td>
<td>{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.FAILECOUNT}}</td>
<td><a ng-click="getSpecialCardsInfo(item.GROUP_NO,item.SPECIAL_CARD_COUNT)">特殊证件详情</a></td>
</tr>
</tbody>
......
......@@ -141,7 +141,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</tr>
</thead>
......@@ -155,8 +154,6 @@
<td class="mailbox-subject">{{task.countyValidCount}}</td>
<td class="mailbox-subject">{{task.countyValidCount-task.specialCount}}</td>
<td class="mailbox-attachment">{{task.specialCount}}</td>
<td ng-if="task.faileCount!=0" class="mailbox-subject" style="color: red;">{{task.faileCount}}</td>
<td ng-if="task.faileCount==0" class="mailbox-subject">{{task.faileCount}}</td>
<td class="mailbox-date"><a ng-click="getPoliceList(task.groupList,task.taskId)">组号列表</a></td>
</tr>
<tr ng-if="task.taskId==taskId">
......@@ -168,7 +165,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</thead>
<tbody>
......@@ -177,7 +173,6 @@
<td>{{item.VALID_COUNT}}</td>
<td>{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.FAILECOUNT}}</td>
<td><a ng-click="getSpecialCardsInfo(item.GROUP_NO,item.SPECIAL_CARD_COUNT)">特殊证件详情</a></td>
</tr>
</tbody>
......
......@@ -132,7 +132,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</tr>
</thead>
......@@ -146,8 +145,6 @@
<td class="mailbox-subject">{{task.countyValidCount}}</td>
<td class="mailbox-subject">{{task.countyValidCount-task.specialCount}}</td>
<td class="mailbox-attachment">{{task.specialCount}}</td>
<td ng-if="task.faileCount!=0" class="mailbox-subject" style="color: red;">{{task.faileCount}}</td>
<td ng-if="task.faileCount==0" class="mailbox-subject">{{task.faileCount}}</td>
<td class="mailbox-date"><a ng-click="getPoliceList(task.groupList,task.taskId)">组号列表</a></td>
</tr>
<tr ng-if="task.taskId==taskId">
......@@ -159,7 +156,6 @@
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>废证数量</th>
<th></th>
</thead>
<tbody>
......@@ -168,15 +164,11 @@
<td>{{item.VALID_COUNT}}</td>
<td>{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.FAILECOUNT}}</td>
<td><a ng-click="getSpecialCardsInfo(item.GROUP_NO,item.SPECIAL_CARD_COUNT)">特殊证件详情</a></td>
</tr>
</tbody>
</table>
</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
......
......@@ -6,13 +6,13 @@
<strong>任务单详情</strong>
<div class="box-tools pull-right">
<input type="text" style="height: 30px;margin-right: 10px;border-radius: 4px;background-color: #eee;cursor: not-allowed;border: 1px solid #ccc;" ng-model="choseDate" id="datepicker" readonly/>
<button type="button" class="btn btn-primary pull-right" style="height: 30px;line-height: 17px;margin-left: 10px;" ng-click="searchToday()">当前</button>
<button type="button" class="btn btn-primary pull-right" style="height: 30px;line-height: 17px;margin-left: 10px;" ng-click="searchTaskList()">当前</button>
<button type="button" class="btn btn-primary pull-right" style="height: 30px;line-height: 17px;" ng-click="searchHistory()">查询历史</button>
</div>
<!-- /.box-tools -->
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="box-body" ng-if="isHistory==0">
<div ng-if="cycleSheetData.length>0">
<div class="nav-tabs-custom clearfix" style="margin-bottom: 0;">
<ul class="nav nav-tabs">
......@@ -70,6 +70,7 @@
<td colspan="10">
<table class="table">
<thead>
<th>组号</th>
<th>派出所名称</th>
<th>核验数量</th>
<th>证件数量</th>
......@@ -80,6 +81,7 @@
</thead>
<tbody>
<tr ng-repeat="item in policeList">
<td>{{item.GROUP_NO}}</td>
<td>{{item.GAJG_MC}}</td>
<td>{{item.VALID_COUNT}}</td>
<td>{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}</td>
......@@ -108,6 +110,85 @@
<h4>暂无数据</h4>
</div>
</div>
<div class="box-body" ng-if="isHistory==1">
<div ng-if="cycleSheetData.length>0">
<div class="nav-tabs-custom clearfix" style="margin-bottom: 0;">
<ul class="nav nav-tabs">
<li ng-class="{true: 'active', false: 'inactive'}[tab.isActive]"
ng-repeat="tab in cycleSheetData track by $index">
<a ng-click="func($index,tab.typeCode)">
<ul style="margin: 0;padding: 0;">
<li style="font-size: 16px;">{{tab.typeName}}</li>
<li style="text-align: center;">{{tab.typeSum}}</li>
</ul>
</a>
</li>
</ul>
</div>
<div ng-repeat="type in cycleSheetData track by $index" class="table-responsive mailbox-messages" ng-show="currentTab==$index">
<table class="table table-hover table-striped">
<thead>
<tr>
<th>任务单编号</th>
<th>核验日期</th>
<th>地区</th>
<th>组数</th>
<th>组号</th>
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th>复核数量</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody ng-repeat="task in type.countyList">
<tr>
<td class="mailbox-star"><b>{{task.taskId}}</b></td>
<td class="mailbox-subject">{{task.saveDate| date:'yyyy-MM-dd'}}</td>
<td class="mailbox-subject"><a>{{task.countyName}}</a></td>
<td class="mailbox-subject">{{task.policeList.length}}</td>
<td class="mailbox-subject"></td>
<td class="mailbox-subject">{{task.countyValidCount}}</td>
<td class="mailbox-subject">{{task.task.countyValidCount-task.specialCount}}</td>
<td class="mailbox-subject">{{task.specialCount}}</td>
<td class="mailbox-subject">{{task.checkCount}}</td>
<td class="mailbox-date"><a ng-click="getPoliceList(task.groupList,task.taskId)">组号列表</a></td>
<td class="mailbox-subject"><button class="btn btn-primary">打印封条</button></td>
</tr>
<tr ng-if="task.taskId==taskId">
<td></td>
<td colspan="10">
<table class="table">
<thead>
<th>组号</th>
<th>核验数量</th>
<th>证件数量</th>
<th>特殊证件数量</th>
<th></th>
</thead>
<tbody>
<tr ng-repeat="item in policeList">
<td>{{item.GROUP_NO}}</td>
<td>{{item.VALID_COUNT}}</td>
<td>{{item.VALID_COUNT-item.SPECIAL_CARD_COUNT}}</td>
<td>{{item.SPECIAL_CARD_COUNT}}</td>
<td><a ng-click="getSpecialCardsInfo(item.GROUP_NO,item.SPECIAL_CARD_COUNT)">特殊证件详情</a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<!-- /.table -->
</div>
<!-- /.mail-box-messages -->
</div>
<div ng-if="cycleSheetData.length==0">
<h4>暂无数据</h4>
</div>
</div>
<!-- /.box-body -->
</div>
<!-- /. box -->
......
......@@ -57,7 +57,7 @@
<td style="text-align: left;">
<select class="form-control select2" id="county" multiple="multiple" data-placeholder="--请选择区县--"
style="width: 100%;" ng-model="currentCounty">
<option value="{{county.countyCode}}" ng-repeat="county in countyList">{{county.countyName}}</option>
<option value="{{county.countyCode}}" ng-repeat="county in countyList">{{county.countyname}}</option>
</select>
</td>
</tr>
......
......@@ -127,29 +127,42 @@ angular.module('AvatarCheck.uploadExcelAndSearch', ['ngRoute', 'AvatarCheck.http
if (angular.isDefined($scope.applicantName)) {
url = url + 'sqrxm=' + $scope.applicantName + '&';
}else{
url = url + 'sqrxm=&';
}
if (angular.isDefined($scope.orderNo)) {
url = url + 'ddh=' + $scope.orderNo + '&';
}else{
url = url + 'ddh=&';
}
if (angular.isDefined($scope.number)) {
url = url + 'sequence=' + $scope.number + '&';
}else{
url = url + 'sequence=&';
}
if ($("#print").val() == 1 || $("#print").val() == -1) {
url = url + 'hasPrinted=' + $("#print").val() + '&';
}else{
url = url + 'hasPrinted=&';
}
if (angular.isDefined($scope.gkxx)) {
url = url + 'gkxx=' + $scope.gkxx + '&';
}else{
url = url + 'gkxx=&';
}
if ($("#county").val() != null) {
for (var i = 0; i < $("#county").val().length; i++) {
url = url + 'djx=' + ($("#county").val())[i] + '&';
}
// for (var i = 0; i < $("#county").val().length; i++) {
// url = url + 'djx=' + ($("#county").val())[i] + '&';
// }
url = url + 'djx=' + ($("#county").val()) + '&';
}else{
url = url + 'djx=&';
}
if ($("#datepicker").val() == '') {
url = url + 'gmtCreat=' + $scope.choseDate + '&';
url = url + 'uploadDate=' + $scope.choseDate + '&';
}
if ($("#datepicker").val() != '') {
url = url + 'gmtCreat=' + $("#datepicker").val() + '&';
url = url + 'uploadDate=' + $("#datepicker").val() + '&';
}
return url + 't=' + Math.floor(Date.now());
}
......@@ -241,6 +254,7 @@ angular.module('AvatarCheck.uploadExcelAndSearch', ['ngRoute', 'AvatarCheck.http
});
}
var getPost = $scope.doQuery;
$scope.deleteRecords = function () {
var importDate = $("#datepicker").val();
ngDialog.open({
......@@ -250,14 +264,15 @@ angular.module('AvatarCheck.uploadExcelAndSearch', ['ngRoute', 'AvatarCheck.http
closeByDocument: false,
controller: ['$scope', 'HttpService', 'MessageService', function ($scope, HttpService, MessageService) {
$scope.importDate = importDate;
var getCountUrl = '../api/idCard/recordCount?';
HttpService.getRecordsCount(encodeURI(getCountAndDownloadUrl(getCountUrl)), function (data) {
HttpService.getChooseDateRecordsCount(importDate, function (data) {
$scope.total = data;
console.log($scope.total)
})
$scope.confirmDelete = function () {
HttpService.deleteRecordsNotPrinted(importDate, function (data) {
$scope.closeThisDialog();
MessageService.showAlert("删除成功。")
getPost();
})
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment