Commit fbf59f31 authored by wuzhilong's avatar wuzhilong

更新交接单、封签分局查询方式;

更新选择打印机;
parent fda45ffc
...@@ -56,9 +56,9 @@ public class ReceiptApi { ...@@ -56,9 +56,9 @@ public class ReceiptApi {
//查询是否是快证 //查询是否是快证
if(receiptService.selectSpecialCardByAcceptNo(id, replaceDate(beginDate), replaceDate(expireDate)) == 1){ if(receiptService.selectSpecialCardByAcceptNo(id, replaceDate(beginDate), replaceDate(expireDate)) == 1){
//查询这个受理号是否生成了交接单 //查询这个受理号是否生成了交接单
List <Map <String, Object>> mapList=receiptService.selectCountById(id, replaceDate(beginDate), replaceDate(expireDate)); Map <String, Object> mapList=receiptService.selectCountById(id, replaceDate(beginDate), replaceDate(expireDate));
//判断是否生成了交接单 //判断是否生成了交接单
if(mapList.size() == 0){ if(mapList== null){
//特征生成交接单 //特征生成交接单
try { try {
//查询特证交接单所需数据(制证库) //查询特证交接单所需数据(制证库)
...@@ -67,20 +67,28 @@ public class ReceiptApi { ...@@ -67,20 +67,28 @@ public class ReceiptApi {
//邮寄证的单位代码设为人口大队的 //邮寄证的单位代码设为人口大队的
Long card_type=Long.valueOf((BigDecimal) resultDate.get("CARD_TYPE") + ""); Long card_type=Long.valueOf((BigDecimal) resultDate.get("CARD_TYPE") + "");
receiptListEntity.setCardTypeId(card_type); receiptListEntity.setCardTypeId(card_type);
if(card_type == 1||card_type == 2||card_type == 9){ String fjmc;
//交接单派出所代码 card_type重做返回2 快证1
if(card_type==2){//重做返回
fjmc="重做返回";
receiptListEntity.setPoliceCode("101111");
receiptListEntity.setFjdm("101111");
}else {
//分局名称
fjmc="北京市公安局";
receiptListEntity.setFjdm("110000");
receiptListEntity.setPoliceCode("110000000000"); receiptListEntity.setPoliceCode("110000000000");
} else {
receiptListEntity.setPoliceCode(resultDate.get("GAJG_DM").toString());
} }
if("null".equals(resultDate.get("OLD_CARD_TYPE") + "")){
} else {
receiptListEntity.setOldCardTypeId(Long.valueOf(resultDate.get("OLD_CARD_TYPE") + "")); receiptListEntity.setOldCardTypeId(Long.valueOf(resultDate.get("OLD_CARD_TYPE") + ""));
}
receiptListEntity.setFinishCount(Long.valueOf(resultDate.get("VALID_COUNT").toString())); receiptListEntity.setFinishCount(Long.valueOf(resultDate.get("VALID_COUNT").toString()));
receiptListEntity.setQrCode(resultDate.get("ACCEPT_NO").toString()); receiptListEntity.setQrCode(resultDate.get("ACCEPT_NO").toString());
map.put("qrCode", resultDate.get("ACCEPT_NO").toString()); map.put("qrCode", resultDate.get("ACCEPT_NO").toString());
receiptListEntity.setState((long) 0); receiptListEntity.setState(0);
receiptListEntity.setCheckName(name); receiptListEntity.setCheckName(name);
receiptListEntity.setIsPrint(0);
if (card_type==2){//重做返回直接出库无需打印
receiptListEntity.setIsPrint(1);
}
//生成特证交接单 //生成特证交接单
long S=receiptService.createReceiptList(receiptListEntity); long S=receiptService.createReceiptList(receiptListEntity);
//查询特证详单所需数据(盈信库) //查询特证详单所需数据(盈信库)
...@@ -104,6 +112,7 @@ public class ReceiptApi { ...@@ -104,6 +112,7 @@ public class ReceiptApi {
map.put("show", true); map.put("show", true);
map.put("state", 1); map.put("state", 1);
map.put("count", 1); map.put("count", 1);
map.put("fjmc", fjmc);
map.put("policeName", receiptService.selectPoliceName(gajg_dm)); map.put("policeName", receiptService.selectPoliceName(gajg_dm));
map.put("msg", "生成交接单"); map.put("msg", "生成交接单");
map.put("id", S); map.put("id", S);
...@@ -120,10 +129,11 @@ public class ReceiptApi { ...@@ -120,10 +129,11 @@ public class ReceiptApi {
map.put("msg", "已生成交接单"); map.put("msg", "已生成交接单");
List <Map <String, Object>> list=receiptService.selectQrCodeByCardID(id, beginDate, expireDate); List <Map <String, Object>> list=receiptService.selectQrCodeByCardID(id, beginDate, expireDate);
map.put("qrCode", (list.size() > 0 ? list.get(0).get("QR_CODE") : null)); map.put("qrCode", (list.size() > 0 ? list.get(0).get("QR_CODE") : null));
map.put("id", mapList.get(0).get("ID")); map.put("id", mapList.get("ID"));
map.put("checkName", mapList.get(0).get("CHECK_NAME")); map.put("checkName", mapList.get("CHECK_NAME"));
map.put("count", 1); map.put("count", 1);
map.put("policeName", mapList.get(0).get("GAJG_MC")); map.put("checkDate", mapList.get("CHECK_DATE"));
map.put("policeName", mapList.get("GAJG_MC"));
} catch (Exception e) { } catch (Exception e) {
logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate); logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate);
logger.error("Exception 已经生成特证交接单", e); logger.error("Exception 已经生成特证交接单", e);
...@@ -142,26 +152,38 @@ public class ReceiptApi { ...@@ -142,26 +152,38 @@ public class ReceiptApi {
ReceiptListEntity receiptListEntity=new ReceiptListEntity(); ReceiptListEntity receiptListEntity=new ReceiptListEntity();
Long card_type=Long.valueOf((BigDecimal) receiptListDate.get(i).get("CARD_TYPE") + ""); Long card_type=Long.valueOf((BigDecimal) receiptListDate.get(i).get("CARD_TYPE") + "");
receiptListEntity.setCardTypeId(card_type); receiptListEntity.setCardTypeId(card_type);
//个人邮寄证,单位代码保存为北京市公安局
if(card_type == 9){ if(card_type == 9){
receiptListEntity.setPoliceCode("110001580800"); receiptListEntity.setPoliceCode("110001580800");
} else { } else {
receiptListEntity.setPoliceCode(receiptListDate.get(i).get("GAJG_DM").toString()); receiptListEntity.setPoliceCode(receiptListDate.get(i).get("GAJG_DM").toString());
} }
if("null".equals(receiptListDate.get(i).get("OLD_CARD_TYPE") + "")){ //分局代码
//个人邮寄分局代码使用110001名称使异地个人邮寄
} else { //普通证通过制证包派出所单位代码获取分局
receiptListEntity.setOldCardTypeId(Long.valueOf(receiptListDate.get(i).get("OLD_CARD_TYPE") + "")); receiptListEntity.setFjdm(receiptListDate.get(0).get("FJDM").toString());
String fjmc=null;
if (card_type == 9) {
receiptListEntity.setFjdm("110001");
fjmc = "异地个人邮寄";
} else if (card_type == 5) {
fjmc=receiptListDate.get(0).get("FJMC").toString()+"(港澳)";
} else if (card_type == 7) {
fjmc=receiptListDate.get(0).get("FJMC").toString()+"(台湾)";
}else {
fjmc=receiptListDate.get(0).get("FJMC").toString();
} }
receiptListEntity.setOldCardTypeId(Long.valueOf(receiptListDate.get(i).get("OLD_CARD_TYPE") + ""));
receiptListEntity.setFinishCount((long) receiptListDate.size()); receiptListEntity.setFinishCount((long) receiptListDate.size());
receiptListEntity.setQrCode(receiptListDate.get(i).get("GROUP_NO").toString()); receiptListEntity.setQrCode(receiptListDate.get(i).get("GROUP_NO").toString());
map.put("qrCode", receiptListDate.get(i).get("GROUP_NO").toString()); map.put("qrCode", receiptListDate.get(i).get("GROUP_NO").toString());
// 状态0未复核 // 状态0未复核
receiptListEntity.setState((long) 0); receiptListEntity.setState(0);
receiptListEntity.setCheckName(name); receiptListEntity.setCheckName(name);
//查询这个组号是否生成了交接单 //查询这个组号是否生成了交接单
List <Map <String, Object>> mapList=receiptService.selectByGroupNo(receiptListDate.get(i).get("GROUP_NO").toString()); Map <String, Object> mapList=receiptService.selectByGroupNo(receiptListDate.get(i).get("GROUP_NO").toString());
//没有生成交接单 //没有生成交接单
if(mapList.size() == 0){ if(mapList== null){
try { try {
//生成交接单 //生成交接单
long receiptList=receiptService.createReceiptList(receiptListEntity); long receiptList=receiptService.createReceiptList(receiptListEntity);
...@@ -187,13 +209,12 @@ public class ReceiptApi { ...@@ -187,13 +209,12 @@ public class ReceiptApi {
if(receiptCount == 0){ if(receiptCount == 0){
//生成详单 //生成详单
receiptService.createDetailedList(uploadNo, acceptNo2, name2, receiptListDate.get(n).get("ID_NO").toString(), gajg_dm, receiptId, sex, signGovt); receiptService.createDetailedList(uploadNo, acceptNo2, name2, receiptListDate.get(n).get("ID_NO").toString(), gajg_dm, receiptId, sex, signGovt);
} else {
//不做操作
} }
} }
map.put("show", true); map.put("show", true);
map.put("state", 1); map.put("state", 1);
map.put("count", receiptListDate.size()); map.put("count", receiptListDate.size());
map.put("fjmc", fjmc);
map.put("id", receiptList); map.put("id", receiptList);
} catch (Exception e) { } catch (Exception e) {
logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate); logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate);
...@@ -206,12 +227,13 @@ public class ReceiptApi { ...@@ -206,12 +227,13 @@ public class ReceiptApi {
map.put("show", false); map.put("show", false);
map.put("msg", "已生成交接单"); map.put("msg", "已生成交接单");
map.put("state", 2); map.put("state", 2);
map.put("id", mapList.get(0).get("ID")); map.put("id", mapList.get("ID"));
List <Map <String, Object>> list=receiptService.selectQrCodeByCardID(id, beginDate, expireDate); List <Map <String, Object>> list=receiptService.selectQrCodeByCardID(id, beginDate, expireDate);
map.put("qrCode", (list.size() > 0 ? list.get(0).get("QR_CODE") : null)); map.put("qrCode", (list.size() > 0 ? list.get(0).get("QR_CODE") : null));
map.put("count", receiptListDate.size()); map.put("count", receiptListDate.size());
map.put("checkName", mapList.get(0).get("CHECK_NAME")); map.put("checkName", mapList.get("CHECK_NAME"));
map.put("policeName", mapList.get(0).get("GAJG_MC")); map.put("checkDate", mapList.get("CHECK_DATE"));
map.put("policeName", mapList.get("GAJG_MC"));
} catch (Exception e) { } catch (Exception e) {
logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate); logger.error("证件ID:" + id + "生成人姓名:" + name + "起始有效期:" + beginDate + "截止有效期" + expireDate);
logger.error("Exception 已经生成特证交接单", e); logger.error("Exception 已经生成特证交接单", e);
...@@ -283,6 +305,7 @@ public class ReceiptApi { ...@@ -283,6 +305,7 @@ public class ReceiptApi {
resultList=receiptService.selectDetailList(receiptId); resultList=receiptService.selectDetailList(receiptId);
for (int i=0; i < resultList.size(); i++) { for (int i=0; i < resultList.size(); i++) {
String acceptNo=(String) resultList.get(i).get("ACCEPT_NO"); String acceptNo=(String) resultList.get(i).get("ACCEPT_NO");
String cardType=resultList.get(i).get("CARD_TYPE_ID").toString();
Map <String, Object> map=receiptService.selectTimes(acceptNo); Map <String, Object> map=receiptService.selectTimes(acceptNo);
if (map==null){ if (map==null){
resultList.get(i).put("downloadDate","数据已迁移"); resultList.get(i).put("downloadDate","数据已迁移");
...@@ -290,6 +313,14 @@ public class ReceiptApi { ...@@ -290,6 +313,14 @@ public class ReceiptApi {
resultList.get(i).put("electricDate","数据已迁移"); resultList.get(i).put("electricDate","数据已迁移");
resultList.get(i).put("styleClass", ""); resultList.get(i).put("styleClass", "");
}else { }else {
if ("9".equals(cardType)){
resultList.get(i).put("FJMC", "异地个人邮寄");
} else if ("5".equals(cardType)) {
resultList.get(i).put("FJMC", resultList.get(i).get("FJMC")+"(港澳)");
} else if ("7".equals(cardType)) {
resultList.get(i).put("FJMC", resultList.get(i).get("FJMC")+"(台湾)");
}
resultList.get(i).put("downloadDate", map.get("DOWNLOADDATE")); resultList.get(i).put("downloadDate", map.get("DOWNLOADDATE"));
resultList.get(i).put("checkDate", map.get("CHECKDATE")); resultList.get(i).put("checkDate", map.get("CHECKDATE"));
resultList.get(i).put("electricDate", map.get("ELECTRICDATE")); resultList.get(i).put("electricDate", map.get("ELECTRICDATE"));
...@@ -554,15 +585,15 @@ public class ReceiptApi { ...@@ -554,15 +585,15 @@ public class ReceiptApi {
* @return 返回新的字符串 * @return 返回新的字符串
*/ */
private String replaceNullString(String str) { private String replaceNullString(String str) {
if (str == "") { if ("".equals(str)) {
return null; return null;
} else return str; } else return str;
} }
/** /**
* 格式化受理组号 * 格式化受理组号
* @param acceptNo * @param acceptNo 制证受理号
* @return * @return 格式受理号组号
*/ */
private String formateAcceptNo(String acceptNo){ private String formateAcceptNo(String acceptNo){
return acceptNo.replace("e", "E").replace("g", "G").replace("l","L"); return acceptNo.replace("e", "E").replace("g", "G").replace("l","L");
...@@ -570,8 +601,8 @@ public class ReceiptApi { ...@@ -570,8 +601,8 @@ public class ReceiptApi {
/** /**
* 去除字符串中中线 * 去除字符串中中线
* *
* @param str * @param str 字符串
* @return * @return 去除字符串中中线
*/ */
private String replaceDate(String str) { private String replaceDate(String str) {
return str.replace("-", "").replace(" ","").replace(":",""); return str.replace("-", "").replace(" ","").replace(":","");
......
...@@ -5,7 +5,7 @@ import java.util.Date; ...@@ -5,7 +5,7 @@ import java.util.Date;
import java.util.Objects; import java.util.Objects;
/** /**
* @auther zhangyusheng * zhangyusheng
* 2019/5/30 14:55 * 2019/5/30 14:55
*/ */
@Entity @Entity
...@@ -23,7 +23,7 @@ public class ReceiptListEntity { ...@@ -23,7 +23,7 @@ public class ReceiptListEntity {
private Long oldCardTypeId; private Long oldCardTypeId;
private long isPrint; private long isPrint;
private Date downloadDate; private Date downloadDate;
private String downloadName; private String fjdm;
@Id @Id
@Column(name = "ID") @Column(name = "ID")
...@@ -145,15 +145,6 @@ public class ReceiptListEntity { ...@@ -145,15 +145,6 @@ public class ReceiptListEntity {
this.downloadDate = downloadDate; this.downloadDate = downloadDate;
} }
@Basic
@Column(name = "DOWNLOAD_NAME")
public String getDownloadName() {
return downloadName;
}
public void setDownloadName(String downloadName) {
this.downloadName = downloadName;
}
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
...@@ -172,11 +163,19 @@ public class ReceiptListEntity { ...@@ -172,11 +163,19 @@ public class ReceiptListEntity {
Objects.equals(cardTypeId, that.cardTypeId) && Objects.equals(cardTypeId, that.cardTypeId) &&
Objects.equals(oldCardTypeId, that.oldCardTypeId) && Objects.equals(oldCardTypeId, that.oldCardTypeId) &&
Objects.equals(downloadDate, that.downloadDate) && Objects.equals(downloadDate, that.downloadDate) &&
Objects.equals(downloadName, that.downloadName); Objects.equals(fjdm, that.fjdm);
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(id, qrCode, receiptDate, policeCode, finishCount, checkDate, checkName, state, cardTypeId, oldCardTypeId, isPrint, downloadDate, downloadName); return Objects.hash(id, qrCode, receiptDate, policeCode, finishCount, checkDate, checkName, state, cardTypeId, oldCardTypeId, isPrint, downloadDate, fjdm);
}
public String getFjdm() {
return fjdm;
}
public void setFjdm(String fjdm) {
this.fjdm = fjdm;
} }
} }
...@@ -30,19 +30,22 @@ public interface ReceiptMapper { ...@@ -30,19 +30,22 @@ public interface ReceiptMapper {
//根据组号查询普通证交接单信息 //根据组号查询普通证交接单信息
@Select("select subStr(prod_card_t.accept_no,0,8) group_no,prod_card_t.accept_no,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO as GAJG_DM,\n" + @Select("select subStr(prod_card_t.accept_no,0,8) group_no,prod_card_t.accept_no,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO as GAJG_DM,\n" +
"count(prod_card_t.accept_no) valid_count,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,\n" + "count(prod_card_t.accept_no) valid_count,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,\n" +
"task.CARD_TYPE,task.OLD_CARD_TYPE,prod_card_t.id_no,prod_card_t.sex_no,prod_card_t.upload_no \n" + "task.CARD_TYPE,task.OLD_CARD_TYPE,prod_card_t.id_no,prod_card_t.sex_no,prod_card_t.upload_no" +
",POLICE_DIC.POLICE_CODE FJDM,POLICE_DIC.POLICE_NAME FJMC \n" +
"from PRODYD_DBA.prod_card_t@PRODYD_LINK \n" + "from PRODYD_DBA.prod_card_t@PRODYD_LINK \n" +
"left join group_no on group_no.group_no =subStr(prod_card_t.accept_no,0,8)\n" + "left join group_no on group_no.group_no =subStr(prod_card_t.accept_no,0,8)\n" +
"left join task on task.task_id =group_no.task_id \n" + "left join task on task.task_id =group_no.task_id \n" +
"left join PRODYD_DBA.PROD_GROUP_RELATION_T@PRODYD_LINK on subStr(prod_card_t.accept_no,0,8) = PROD_GROUP_RELATION_T.GROUP_NO \n" + "left join PRODYD_DBA.PROD_GROUP_RELATION_T@PRODYD_LINK on subStr(prod_card_t.accept_no,0,8) = PROD_GROUP_RELATION_T.GROUP_NO \n" +
"left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK ON PROD_GROUP_RELATION_T.UPLOAD_UNIT_NO=DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO \n" + "left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK ON PROD_GROUP_RELATION_T.UPLOAD_UNIT_NO=DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO " +
"left join POLICE_DIC on substr(DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO,0,6) = POLICE_DIC.POLICE_CODE \n" +
"where substr(prod_card_t.accept_no,0,8) =substr(#{groupNo},0,8) and prod_card_t.accept_no not in (select accept_no from SPECIAL_CARD where accept_no like #{groupNo} ) \n" + "where substr(prod_card_t.accept_no,0,8) =substr(#{groupNo},0,8) and prod_card_t.accept_no not in (select accept_no from SPECIAL_CARD where accept_no like #{groupNo} ) \n" +
"group by subStr(prod_card_t.accept_no,0,8), prod_card_t.accept_no, DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO, DIC_UPLOAD_UNIT_T.UNIT_NAME, task.CARD_TYPE, task.OLD_CARD_TYPE, prod_card_t.id_no, prod_card_t.sex_no, prod_card_t.upload_no ") "group by subStr(prod_card_t.accept_no,0,8), prod_card_t.accept_no, DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO, DIC_UPLOAD_UNIT_T.UNIT_NAME, task.CARD_TYPE, task.OLD_CARD_TYPE," +
" prod_card_t.id_no, prod_card_t.sex_no, prod_card_t.upload_no,POLICE_DIC.POLICE_CODE,POLICE_DIC.POLICE_NAME ")
public List<Map<String,Object>> selectReceiptListDate2(String groupNo); public List<Map<String,Object>> selectReceiptListDate2(String groupNo);
//查询这个组号是否已经生成交接单 //查询这个组号是否已经生成交接单
@Select("select id ,check_name ,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO GAJG_DM from receipt_list left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK on subStr(DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO,0,9) = receipt_list.POLICE_CODE where QR_CODE=#{groupNo}") @Select("select id ,check_name,to_char(CHECK_DATE,'yyyy-MM-dd hh24:mi:ss') CHECK_DATE ,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO GAJG_DM from receipt_list left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK on DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO = receipt_list.POLICE_CODE where QR_CODE=#{groupNo}")
public List<Map<String,Object>> selectByGroupNo(String groupNo); public Map<String,Object> selectByGroupNo(String groupNo);
//生成交接单 //生成交接单
@Insert("<script>" + @Insert("<script>" +
...@@ -50,10 +53,22 @@ public interface ReceiptMapper { ...@@ -50,10 +53,22 @@ public interface ReceiptMapper {
"<if test ='oldCardTypeId !=null'> " + "<if test ='oldCardTypeId !=null'> " +
",OLD_CARD_TYPE_ID" + ",OLD_CARD_TYPE_ID" +
"</if> " + "</if> " +
"<if test ='isPrint !=null'> " +
",IS_PRINT" +
"</if> " +
"<if test ='fjdm !=null'> " +
",FJDM" +
"</if> " +
")VALUES(#{qrCode},#{policeCode},#{finishCount},#{state},#{cardTypeId},#{checkName}" + ")VALUES(#{qrCode},#{policeCode},#{finishCount},#{state},#{cardTypeId},#{checkName}" +
"<if test ='oldCardTypeId !=null'> " + "<if test ='oldCardTypeId !=null'> " +
",#{oldCardTypeId}" + ",#{oldCardTypeId}" +
"</if> " + "</if> " +
"<if test ='isPrint !=null'> " +
",#{isPrint}" +
"</if> " +
"<if test ='fjdm !=null'> " +
",#{fjdm}" +
"</if> " +
") </script>") ") </script>")
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="ID") @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="ID")
public long createReceiptList(ReceiptListEntity receiptListEntity); public long createReceiptList(ReceiptListEntity receiptListEntity);
...@@ -149,9 +164,9 @@ public interface ReceiptMapper { ...@@ -149,9 +164,9 @@ public interface ReceiptMapper {
//根据交接单号查详单信息 //根据交接单号查详单信息
@Select("select detail_receipt_list.UPLOAD_NO,detail_receipt_list.ACCEPT_NO,detail_receipt_list.NAME,detail_receipt_list.POLICE_CODE,detail_receipt_list.CARD_ID\n" + @Select("select detail_receipt_list.UPLOAD_NO,detail_receipt_list.ACCEPT_NO,detail_receipt_list.NAME,detail_receipt_list.POLICE_CODE,detail_receipt_list.CARD_ID\n" +
",detail_receipt_list.NOTE,detail_receipt_list.SIGN_GOVT,detail_receipt_list.RECEIPT_ID,detail_receipt_list.SEX,\n" + ",detail_receipt_list.NOTE,detail_receipt_list.SIGN_GOVT,detail_receipt_list.RECEIPT_ID,detail_receipt_list.SEX,\n" +
"RECEIPT_LIST.QR_CODE,RECEIPT_LIST.RECEIPT_DATE,RECEIPT_LIST.FINISH_COUNT,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC\n" + "RECEIPT_LIST.QR_CODE,RECEIPT_LIST.RECEIPT_DATE,RECEIPT_LIST.FINISH_COUNT,POLICE_DIC.POLICE_NAME FJMC,RECEIPT_LIST.CARD_TYPE_ID \n" +
"from detail_receipt_list left join RECEIPT_LIST on detail_receipt_list.RECEIPT_ID = RECEIPT_LIST.id\n" + "from detail_receipt_list left join RECEIPT_LIST on detail_receipt_list.RECEIPT_ID = RECEIPT_LIST.id\n" +
"left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK on subStr(DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO,0,9) = RECEIPT_LIST.POLICE_CODE\n" + "left join POLICE_DIC on POLICE_DIC.POLICE_CODE = RECEIPT_LIST.FJDM \n" +
"where receipt_id= #{receiptId} order by detail_receipt_list.ACCEPT_NO") "where receipt_id= #{receiptId} order by detail_receipt_list.ACCEPT_NO")
public List<Map<String,Object>> selectDetailList(@Param("receiptId") String receiptId); public List<Map<String,Object>> selectDetailList(@Param("receiptId") String receiptId);
...@@ -186,7 +201,7 @@ public interface ReceiptMapper { ...@@ -186,7 +201,7 @@ public interface ReceiptMapper {
"where QR_CODE=(select accept_no " + "where QR_CODE=(select accept_no " +
"from PRODYD_DBA.prod_card_t@prodYD_LINK " + "from PRODYD_DBA.prod_card_t@prodYD_LINK " +
"where id_no=#{id} and BEGIN_DATE= #{beginDate} and EXPIRE_DATE = #{expireDate} and receipt_date is null ) ") "where id_no=#{id} and BEGIN_DATE= #{beginDate} and EXPIRE_DATE = #{expireDate} and receipt_date is null ) ")
public List<Map<String,Object>> selectCountById(@Param("id") String id,@Param("beginDate") String beginDate,@Param("expireDate") String expireDate); public Map<String,Object> selectCountById(@Param("id") String id,@Param("beginDate") String beginDate,@Param("expireDate") String expireDate);
//根据输入id查询是否生成详单 //根据输入id查询是否生成详单
@Select("select count(*) from DETAIL_RECEIPT_LIST where ACCEPT_NO= #{acceptNo}") @Select("select count(*) from DETAIL_RECEIPT_LIST where ACCEPT_NO= #{acceptNo}")
...@@ -253,10 +268,10 @@ public interface ReceiptMapper { ...@@ -253,10 +268,10 @@ public interface ReceiptMapper {
@Select("<script>" + @Select("<script>" +
"select RECEIPT_LIST.id,RECEIPT_LIST.QR_CODE,to_char(RECEIPT_LIST.RECEIPT_DATE,'yyyy-MM-dd') RECEIPT_DATE,RECEIPT_LIST.POLICE_CODE,decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID) CARD_TYPE_ID,\n" + "select RECEIPT_LIST.id,RECEIPT_LIST.QR_CODE,to_char(RECEIPT_LIST.RECEIPT_DATE,'yyyy-MM-dd') RECEIPT_DATE,RECEIPT_LIST.POLICE_CODE,decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID) CARD_TYPE_ID,\n" +
"RECEIPT_LIST.FINISH_COUNT,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO GAJG_DM,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,to_char(CHECK_DATE,'yyyyMMdd') CHECK_DATE,RECEIPT_LIST.CHECK_NAME\n" + "RECEIPT_LIST.FINISH_COUNT,DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO GAJG_DM,DIC_UPLOAD_UNIT_T.UNIT_NAME GAJG_MC,to_char(CHECK_DATE,'yyyyMMdd') CHECK_DATE,RECEIPT_LIST.CHECK_NAME\n" +
",CARD_TYPE_DIC.CARD_TYPE,COUNTY_DIC.COUNTY_CODE ,COUNTY_DIC.COUNTYNAME from RECEIPT_LIST \n" + ",CARD_TYPE_DIC.CARD_TYPE,CARD_TYPE_DIC.CARD_TYPE,RECEIPT_LIST.fjdm COUNTY_CODE ,POLICE_DIC.police_name COUNTYNAME from RECEIPT_LIST \n" +
"left join CARD_TYPE_DIC on CARD_TYPE_DIC.CARD_TYPE_ID = decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID)\n" + "left join CARD_TYPE_DIC on CARD_TYPE_DIC.CARD_TYPE_ID = decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID)\n" +
"left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK on DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO= RECEIPT_LIST.POLICE_CODE\n" + "left join PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK on DIC_UPLOAD_UNIT_T.UPLOAD_UNIT_NO= RECEIPT_LIST.POLICE_CODE \n" +
"left join COUNTY_DIC on substr(RECEIPT_LIST.POLICE_CODE,0,6) = COUNTY_DIC.COUNTY_CODE" + "left join POLICE_DIC on RECEIPT_LIST.fjdm= POLICE_DIC.POLICE_CODE " +
" where RECEIPT_LIST.id in (${string}) order by RECEIPT_LIST.id " + " where RECEIPT_LIST.id in (${string}) order by RECEIPT_LIST.id " +
"</script>") "</script>")
public List<Map<String,Object>> selectReceiptDate(@Param("string") String string); public List<Map<String,Object>> selectReceiptDate(@Param("string") String string);
......
...@@ -21,7 +21,7 @@ public interface ReceiptService { ...@@ -21,7 +21,7 @@ public interface ReceiptService {
// public int selectSpecialCard(String GROUP_NO); // public int selectSpecialCard(String GROUP_NO);
public List<Map<String,Object>> selectByGroupNo(String groupNo); public Map<String,Object> selectByGroupNo(String groupNo);
public int selectSpecialCardByAcceptNo(String id,String beginDate,String expireDate); public int selectSpecialCardByAcceptNo(String id,String beginDate,String expireDate);
...@@ -46,7 +46,7 @@ public interface ReceiptService { ...@@ -46,7 +46,7 @@ public interface ReceiptService {
public List<Map<String,Object>> queryPoliceName(String policeCode); public List<Map<String,Object>> queryPoliceName(String policeCode);
//特证查询是否生成交接单 //特证查询是否生成交接单
public List<Map<String, Object>> selectCountById(String id,String beginDate,String expireDate); public Map<String, Object> selectCountById(String id,String beginDate,String expireDate);
//查询是否已生成交接单详单 //查询是否已生成交接单详单
public int selectReceiptByAcceptNo(String acceptNo); public int selectReceiptByAcceptNo(String acceptNo);
......
...@@ -54,8 +54,8 @@ public class ReceiptServiceImpl implements ReceiptService { ...@@ -54,8 +54,8 @@ public class ReceiptServiceImpl implements ReceiptService {
@Override @Override
public List<Map<String,Object>> selectByGroupNo(String groupNo) { public Map<String,Object> selectByGroupNo(String groupNo) {
List<Map<String,Object>> countGroup= receiptMapper.selectByGroupNo(groupNo); Map<String,Object> countGroup= receiptMapper.selectByGroupNo(groupNo);
return countGroup; return countGroup;
} }
...@@ -109,8 +109,8 @@ public class ReceiptServiceImpl implements ReceiptService { ...@@ -109,8 +109,8 @@ public class ReceiptServiceImpl implements ReceiptService {
// } // }
@Override @Override
public List<Map<String, Object>> selectCountById(String id,String beginDate,String expireDate) { public Map<String, Object> selectCountById(String id,String beginDate,String expireDate) {
List<Map<String, Object>> mapList = receiptMapper.selectCountById(id, beginDate, expireDate); Map<String, Object> mapList = receiptMapper.selectCountById(id, beginDate, expireDate);
return mapList; return mapList;
} }
......
...@@ -926,7 +926,7 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule']) ...@@ -926,7 +926,7 @@ angular.module('AvatarCheck.http', ['ngDialog', 'LocalStorageModule'])
analyseToUpdateIfPostCard:function(uploadDate,success) { analyseToUpdateIfPostCard:function(uploadDate,success) {
$http({ $http({
method: 'GET', method: 'GET',
url: "../printReceitpDataLogApi/analysis"+urlTimeStamp(), url: "../LogApi/analysis"+urlTimeStamp(),
params:{ params:{
printDate:uploadDate printDate:uploadDate
} }
......
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
<!--身份证交接单</div>--> <!--身份证交接单</div>-->
<!--<div>交接日期:{{receitpDataToPrint.date}}</div>--> <!--<div>交接日期:{{receitpDataToPrint.date}}</div>-->
<!--<div>送至:</div>--> <!--<div>送至:</div>-->
<table cellpadding="0" cellspacing="0" width="740px" style="text-align: center;" border="1px" ng-show="true" > <table cellpadding="0" cellspacing="0" width="740px" style="text-align: center;" border="1px" ng-show="false" >
<thead> <thead>
<tr> <tr>
<th width="60"> <th width="60">
......
...@@ -153,7 +153,8 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -153,7 +153,8 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
} }
} }
}; };
//选择打印机
$scope.priterNum=100;
var iRadioValue=1; var iRadioValue=1;
$scope.printReceitp = function() { $scope.printReceitp = function() {
var typeCode =''; var typeCode ='';
...@@ -180,7 +181,6 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -180,7 +181,6 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
if(json.list.length==0){ if(json.list.length==0){
MessageService.showAlert("请选择要打印的分局或派出所") MessageService.showAlert("请选择要打印的分局或派出所")
}else{ }else{
console.log(json)
HttpService.printReceitpData(json,function (data) { HttpService.printReceitpData(json,function (data) {
if($scope.isHistory==0){ if($scope.isHistory==0){
$scope.doSearchReceitp(); $scope.doSearchReceitp();
...@@ -190,7 +190,6 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -190,7 +190,6 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
getData(); getData();
} }
$scope.receitpDataToPrint = data; $scope.receitpDataToPrint = data;
console.log($scope.receitpDataToPrint)
for(var i=0;i<$scope.receitpDataToPrint.list[0].countyList.length;i++){ for(var i=0;i<$scope.receitpDataToPrint.list[0].countyList.length;i++){
for (var j=0;j<$scope.receitpDataToPrint.list[0].countyList[i].policeList.length;j++){ for (var j=0;j<$scope.receitpDataToPrint.list[0].countyList[i].policeList.length;j++){
$scope.receitpDataToPrint.list[0].countyList[i].policeList[j].id=j+1; $scope.receitpDataToPrint.list[0].countyList[i].policeList[j].id=j+1;
...@@ -212,6 +211,7 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -212,6 +211,7 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
} }
} }
console.log("result",$scope.result); console.log("result",$scope.result);
$timeout(function () { $timeout(function () {
for (var i=0;i<$scope.result.length;i++){ for (var i=0;i<$scope.result.length;i++){
var LODOP = getLodop(); var LODOP = getLodop();
...@@ -223,7 +223,7 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -223,7 +223,7 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
// LODOP.SET_PRINT_STYLEA(1, "Bold", 1); // LODOP.SET_PRINT_STYLEA(1, "Bold", 1);
LODOP.SET_PRINT_STYLEA(1, "Alignment", 2); LODOP.SET_PRINT_STYLEA(1, "Alignment", 2);
LODOP.SET_PRINT_STYLEA(1, "FontSize", 16); LODOP.SET_PRINT_STYLEA(1, "FontSize", 16);
LODOP.ADD_PRINT_TEXT(35, 0, "100%", 20, $scope.result[0].county +" 证件交接单"); LODOP.ADD_PRINT_TEXT(35, 0, "100%", 20, $scope.result[i].county +" 证件交接单");
// LODOP.SET_PRINT_STYLEA(2, "Bold", 1); // LODOP.SET_PRINT_STYLEA(2, "Bold", 1);
LODOP.SET_PRINT_STYLEA(2, "Alignment", 2); LODOP.SET_PRINT_STYLEA(2, "Alignment", 2);
LODOP.SET_PRINT_STYLEA(2, "FontSize", 16); LODOP.SET_PRINT_STYLEA(2, "FontSize", 16);
...@@ -236,8 +236,10 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http']) ...@@ -236,8 +236,10 @@ angular.module('AvatarCheck.receitp', ['ngRoute', 'AvatarCheck.http'])
// LODOP.SET_PRINT_STYLEA(5, "Bold", 0); // LODOP.SET_PRINT_STYLEA(5, "Bold", 0);
LODOP.SET_PRINT_STYLEA(5, "HOrient", 2); LODOP.SET_PRINT_STYLEA(5, "HOrient", 2);
LODOP.SET_PRINT_STYLEA(5, "Vorient", 3); LODOP.SET_PRINT_STYLEA(5, "Vorient", 3);
LODOP.SET_PRINTER_INDEXA(-1); if( $scope.priterNum==100){
// LODOP.PREVIEW(); $scope.priterNum=LODOP.SELECT_PRINTER();
}
// LODOP.PREVIEW();
LODOP.PRINT(); LODOP.PRINT();
} }
}) })
......
...@@ -54,7 +54,6 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -54,7 +54,6 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
$scope.tagPrintData[i].styleClass = "bg-info"; $scope.tagPrintData[i].styleClass = "bg-info";
} }
} }
console.log(id)
HttpService.getPoliceCardsList(id,function(data) { HttpService.getPoliceCardsList(id,function(data) {
$scope.json.policeCardsList = data; $scope.json.policeCardsList = data;
for (var i=0;i<$scope.json.policeCardsList.length;i++){ for (var i=0;i<$scope.json.policeCardsList.length;i++){
...@@ -62,11 +61,10 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -62,11 +61,10 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
$scope.json.policeCardsList[i].styleClass = "bg-danger" $scope.json.policeCardsList[i].styleClass = "bg-danger"
} }
} }
if($scope.json.policeCardsList.length==1){ // if($scope.json.policeCardsList.length==1){
$scope.PreviewMytableRotate(); // $scope.PreviewMytableRotate();
} // }
$scope.json.id = id; $scope.json.id = id;
console.log($scope.json)
}) })
} }
...@@ -123,18 +121,8 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -123,18 +121,8 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
} }
} }
}else if(data.state===2){ }else if(data.state===2){
if(data.checkName===$rootScope.loginData.name){ MessageService.showAlert(data.msg+"复核人:"+data.checkName+" 复核时间:"+data.checkDate)
$scope.json.isShow=true;
getDetailListById(data.id)
for(var i=0;i<$scope.tagPrintData.length;i++){
if($scope.tagPrintData[i].ID===data.id){
$scope.tagPrintData[i].styleClass="bg-info";
}
}
}else{
$scope.json.isShow=false;
MessageService.showAlert($rootScope.loginData.name+" 已生成 "+data.policeName+" 的交接单")
}
}else{ }else{
MessageService.showAlert("无该证件的制证记录"); MessageService.showAlert("无该证件的制证记录");
$scope.json.isShow=false; $scope.json.isShow=false;
...@@ -144,7 +132,6 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -144,7 +132,6 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
$scope.doQueryByIdCard = function(idcard,startDate,endDate){ $scope.doQueryByIdCard = function(idcard,startDate,endDate){
console.log(idcard,startDate,endDate);
if($scope.json.policeCardsList.length>0&&$scope.json.isShow===true){ if($scope.json.policeCardsList.length>0&&$scope.json.isShow===true){
var count=0; var count=0;
for (var i=0;i<$scope.json.policeCardsList.length;i++){ for (var i=0;i<$scope.json.policeCardsList.length;i++){
...@@ -271,11 +258,10 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -271,11 +258,10 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
// }) // })
// }; // };
//选择打印机
$scope.priterNum=100;
$scope.PreviewMytableRotate = function(){ $scope.PreviewMytableRotate = function(){
HttpService.getPoliceName($scope.json.policeCode,function(data) { console.log($scope.json)
$scope.json.policeData = data[0].POLICE_NAME;
console.log($scope.json.policeData)
$timeout(function () { $timeout(function () {
var LODOP = getLodop(); var LODOP = getLodop();
LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
...@@ -291,16 +277,13 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -291,16 +277,13 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
LODOP.ADD_PRINT_BARCODE(24,12, "78mm", "20mm", "128A", $scope.json.policeCardsList[0].ACCEPT_NO.toString()); LODOP.ADD_PRINT_BARCODE(24,12, "78mm", "20mm", "128A", $scope.json.policeCardsList[0].ACCEPT_NO.toString());
LODOP.SET_PRINT_STYLEA(0, "FontSize", 14); LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
//设定该打印项在纸张内的位置和区域大小【Top,Left,Width,Height,strHtmlContent】 //设定该打印项在纸张内的位置和区域大小【Top,Left,Width,Height,strHtmlContent】
// LODOP.ADD_PRINT_HTM("24mm", "0", "80mm", "24mm", document.getElementById("tagDiv").innerHTML); // LODOP.ADD_PRINT_HTM("24mm", "0", "80mm", "24mm", document.getElementById("tagDiv").innerHTML);
LODOP.ADD_PRINT_TEXT(107, 0, "100%", 20,$scope.json.policeCardsList[0].FJMC.toString());
LODOP.ADD_PRINT_TEXT(107, 0, "100%", 20,"异地居民身份证");
LODOP.SET_PRINT_STYLEA(0, "Bold", 1); LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 15); LODOP.SET_PRINT_STYLEA(0, "FontSize", 15);
// LODOP.ADD_PRINT_TEXT(137, 0, "100%", 20, $scope.json.policeName.toString()+($scope.json.machineNum==null?"":"("+$scope.json.machineNum+")")); LODOP.ADD_PRINT_TEXT(137, 0, "100%", 20, $scope.json.policeName);
LODOP.ADD_PRINT_TEXT(137, 0, "100%", 20, $scope.json.policeName.toString());
LODOP.SET_PRINT_STYLEA(0, "Bold", 1); LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.SET_PRINT_STYLEA(0, "VOrient", 0); LODOP.SET_PRINT_STYLEA(0, "VOrient", 0);
...@@ -309,11 +292,12 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin ...@@ -309,11 +292,12 @@ angular.module('AvatarCheck.tagPrint', ['ngRoute', 'AvatarCheck.http', 'tm.pagin
LODOP.SET_PRINT_STYLEA(0, "Bold", 1); LODOP.SET_PRINT_STYLEA(0, "Bold", 1);
LODOP.SET_PRINT_STYLEA(0, "Alignment", 2); LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
LODOP.SET_PRINT_STYLEA(0, "FontSize", 15); LODOP.SET_PRINT_STYLEA(0, "FontSize", 15);
if( $scope.priterNum==100){
// LODOP.PREVIEW(); $scope.priterNum=LODOP.SELECT_PRINTER();
}
// LODOP.PREVIEW();
LODOP.PRINT(); LODOP.PRINT();
}) })
})
}; };
}); });
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