Selaa lähdekoodia

试验过滤没有的key值,计量撤回和废除删除假电签

chenr 4 kuukautta sitten
vanhempi
commit
71a4898593

+ 9 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/EntrustInfoServiceImpl.java

@@ -128,6 +128,10 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
             }else{
                 sampleId = dataInfo.getString("sampleId");
             }
+        }else {
+            if(dataInfo.containsKey("sampleId")){
+                sampleId = dataInfo.getString("sampleId");
+            }
         }
 		if(!dataInfo.containsKey("contractId")){
 			return R.fail("取样信息为contractId不存在");
@@ -142,7 +146,11 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
         if(!dataInfo.containsKey("sampleId")){
             entrustInfo.setSampleStatus("0");
         }else {
-             entrustInfo = baseMapper.selectOne(Wrappers.<EntrustInfo>query().lambda().eq(EntrustInfo::getSampleId, sampleId).eq(EntrustInfo::getContractId,contractId));
+            if(!nodeName.equals("回弹法检测混凝土抗压强度")&&!nodeName.equals("路基压实度")&&!nodeName.equals("地基承载力")&&!nodeName.equals("路基路面弯沉")&&!nodeName.equals("锚杆")){
+                entrustInfo = baseMapper.selectOne(Wrappers.<EntrustInfo>query().lambda().eq(EntrustInfo::getSampleId, sampleId).eq(EntrustInfo::getContractId,contractId));
+            }else {
+                entrustInfo = baseMapper.selectOne(Wrappers.<EntrustInfo>query().lambda().eq(EntrustInfo::getId,dataInfo.get("id")).eq(EntrustInfo::getContractId,contractId));
+            }
             if(entrustInfo==null && Func.isEmpty(entrustInfo)){
                 entrustInfo = new EntrustInfo();
                 //委托单未上报不进入样品流转 状态设置为0

+ 37 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -2582,7 +2582,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         //实体数据
         String querySql = "select * from " + wbsTreePrivate.getInitTableName() + " where p_key_id=" + pkeyId + " and group_id = " + groupId;
         List<Map<String, Object>> dataIn = jdbcTemplate.queryForList(querySql);
-
+        String keyNames="";
         //匹配关联
         try {
             String fileUrl = wbsTreePrivate.getHtmlUrl();
@@ -2598,6 +2598,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             htmlString = htmlString.replaceAll("placeholder", "placeholderxx");
             htmlString = htmlString.replaceAll("title", "titlexx");
             Document doc = Jsoup.parse(htmlString);
+            keyNames= getKeyNameList(doc);
             if(entrustId != null){
                 //有委托单信息是从实验报告关联委托单进来的 通过委托单查询到具体的样品id
                 String sql = "select * from u_entrust_info where id ="+entrustId;
@@ -2842,10 +2843,40 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 }
             }
         }
+        if(reData.size()>0){
+            //处理key重复导致pdf数据错位
+            for (Iterator<Map.Entry<String, Object>> iterator = reData.entrySet().iterator(); iterator.hasNext(); ) {
+                Map.Entry<String, Object> entry = iterator.next();
+                if (!keyNames.equals("") && keyNames.indexOf(entry.getKey()) <= 0) {
+                    iterator.remove();
+                }
+            }
+        }
         list.add(reData);
         return list;
     }
 
+    /**
+     * 拿到html里面所有的keyName
+     * @param doc
+     * @return
+     */
+    public String getKeyNameList(Document doc){
+        StringBuilder allKeyName=new StringBuilder();
+        Elements select = doc.getElementsByAttributeValueContaining("keyname","key_");
+        if(!select.isEmpty()){
+            for (Element element : select) {
+                String keyName = element.attr("keyname");
+                allKeyName.append(keyName+",");
+            }
+        }
+        String allKeyNames = allKeyName.toString();
+        if(allKeyNames.endsWith(",")){
+            allKeyNames = allKeyNames.substring(0, allKeyNames.length() - 1);
+        }
+        return allKeyNames;
+    }
+
     private void chart(Map<String, Object> reData, WbsTreePrivate wtp) {
         try {
             if (reData.size() > 0 && wtp != null) {
@@ -3136,7 +3167,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         }
 
         if (ObjectUtil.isNotEmpty(DataInfo)) {
-            DataInfo.remove("key_46__26_1");
+            //DataInfo.remove("key_46__26_1");
             for (String val : Objects.requireNonNull(DataInfo).keySet()) {
                 if (val.contains("__")) {
                     String[] DataVal = val.split("__");
@@ -3258,7 +3289,10 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                                 }
                                             }
                                         } else {
-                                            Row row = sheet.getRow(y1);
+                                            if(y1==23&&x1==9){
+                                                System.out.println("");
+                                            }
+                                            Row row = sheet.getRow(y1-1);
                                             if (row != null) {
                                                 Cell cell = row.getCell(x1 - 1);
                                                 if (cell != null) {

+ 4 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -927,7 +927,8 @@ public class TaskController extends BladeController {
                             /*删除业务复制数据taskVO*/
                             jdbcTemplate.execute("DELETE FROM s_middle_meter_apply_task WHERE contract_period_id = '" + periodId + "' AND task_id = " + taskRepealDTO.getTaskId());
                             jdbcTemplate.execute("DELETE FROM s_inventory_form_apply_task WHERE contract_period_id = '" + periodId + "' AND task_id = " + taskRepealDTO.getTaskId());
-
+                            //修改假电签
+                            jdbcTemplate.update("UPDATE s_interim_pay_certificate SET pre_pdf_url=NULL  where contract_period_id="+periodId+" and is_deleted=0");
                             middleMeterApplyServiceTask.saveBatch(meterApplyTaskList);
                             inventoryFormApplyServiceTask.saveBatch(taskList);
                         } catch (Exception e) {
@@ -3815,7 +3816,8 @@ public class TaskController extends BladeController {
                 String updta = "UPDATE s_middle_meter_apply set approve_status=0 where contract_period_id='" + periodId + "' ";
 
                 String delete = "UPDATE s_inventory_form_apply c set approve_status=0 where middle_meter_id in(SELECT id from  s_middle_meter_apply a  where a.contract_period_id=" + periodId + ") and contract_period_id='" + periodId + "'";
-                String upData = "UPDATE s_interim_pay_certificate c set approve_status=0,raw_url='',file_url_list='' where contract_period_id='"+periodId+"'";
+                String upData = "UPDATE s_interim_pay_certificate c set approve_status=0,raw_url='',pre_pdf_url=NULL,file_url_list='' where contract_period_id='"+periodId+"'";
+
                 jdbcTemplate.execute(delete);
                 jdbcTemplate.execute(uptPeriod);
                 jdbcTemplate.execute(updta);