From bf845740735f9f024cabb6fbaa556e4fecf8fe98 Mon Sep 17 00:00:00 2001 From: WenShiJun Date: Mon, 25 Mar 2024 11:46:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=9D=E9=99=A9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E8=BF=90=E8=90=A5=E7=AE=A1=E7=90=86=EF=BC=8C=E7=BB=B4?= =?UTF-8?q?=E4=BF=9D=E7=AE=A1=E7=90=86=EF=BC=8C=E5=8C=97=E6=96=97=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/insure/InsureController.java | 1 - .../datasource/beidou/BeidouMapper.xml | 2 + .../datasource/insure/InsureMapper.xml | 104 +++++++++--------- .../maintenance/MaintenanceMapper.xml | 2 + 4 files changed, 54 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/zcloud/controller/insure/InsureController.java b/src/main/java/com/zcloud/controller/insure/InsureController.java index b6bf351..a09f8bf 100644 --- a/src/main/java/com/zcloud/controller/insure/InsureController.java +++ b/src/main/java/com/zcloud/controller/insure/InsureController.java @@ -52,7 +52,6 @@ public class InsureController extends BaseController { pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("ISDELETE", "0"); //是否删除(0:有效 1:删除) pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID - pd.put("ARCHIVES_TYPE", "正常"); //档案状态 insureService.save(pd); map.put("pd", pd); diff --git a/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml b/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml index 8f156c1..2b33edd 100644 --- a/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml +++ b/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml @@ -39,6 +39,7 @@ REMINDER_STATUS, BEIDOUINFO, NOTES, + NUM, ISDELETE, CREATOR, CREATORNAME, @@ -82,6 +83,7 @@ #{REMINDER_STATUS}, #{BEIDOUINFO}, #{NOTES}, + #{NUM}, #{ISDELETE}, #{CREATOR}, #{CREATORNAME}, diff --git a/src/main/resources/mybatis/datasource/insure/InsureMapper.xml b/src/main/resources/mybatis/datasource/insure/InsureMapper.xml index ded5c6c..0dd2fbd 100644 --- a/src/main/resources/mybatis/datasource/insure/InsureMapper.xml +++ b/src/main/resources/mybatis/datasource/insure/InsureMapper.xml @@ -10,62 +10,60 @@ -INSURE_ID, -CORPINFO_ID, -NUM, -VEHICLE_MODEL, -VEHICLE, -CAR_OWNERS, -TELEPHONE, -REGISTRANT, -INSURANCE_COMPANY, -INSURANCE_COVERAGE, -PROCESSING_DATE, -EFFECTIVE_DATE, -DUE_DATE, -ALL_FEES, -ACTUAL_COLLECTION, -REMINDER_DAYS, -REMINDER_DATE, -REMINDER_STATUS, -ATTACHMENT_UPLOAD, -INSUREINFO, -NOTES, -ARCHIVES_TYPE, -ISDELETE, -CREATOR, -CREATORNAME, -CREATTIME + INSURE_ID, + CORPINFO_ID, + NUM, + VEHICLE_MODEL, + VEHICLE, + CAR_OWNERS, + TELEPHONE, + REGISTRANT, + INSURANCE_COMPANY, + INSURANCE_COVERAGE, + PROCESSING_DATE, + EFFECTIVE_DATE, + DUE_DATE, + ALL_FEES, + ACTUAL_COLLECTION, + REMINDER_DAYS, + REMINDER_DATE, + REMINDER_STATUS, + ATTACHMENT_UPLOAD, + INSUREINFO, + NOTES, + ISDELETE, + CREATOR, + CREATORNAME, + CREATTIME -#{INSURE_ID}, -#{CORPINFO_ID}, -#{NUM}, -#{VEHICLE_MODEL}, -#{VEHICLE}, -#{CAR_OWNERS}, -#{TELEPHONE}, -#{REGISTRANT}, -#{INSURANCE_COMPANY}, -#{INSURANCE_COVERAGE}, -#{PROCESSING_DATE}, -#{EFFECTIVE_DATE}, -#{DUE_DATE}, -#{ALL_FEES}, -#{ACTUAL_COLLECTION}, -#{REMINDER_DAYS}, -#{REMINDER_DATE}, -#{REMINDER_STATUS}, -#{ATTACHMENT_UPLOAD}, -#{INSUREINFO}, -#{NOTES}, -#{ARCHIVES_TYPE}, -#{ISDELETE}, -#{CREATOR}, -#{CREATORNAME}, -#{CREATTIME} + #{INSURE_ID}, + #{CORPINFO_ID}, + #{NUM}, + #{VEHICLE_MODEL}, + #{VEHICLE}, + #{CAR_OWNERS}, + #{TELEPHONE}, + #{REGISTRANT}, + #{INSURANCE_COMPANY}, + #{INSURANCE_COVERAGE}, + #{PROCESSING_DATE}, + #{EFFECTIVE_DATE}, + #{DUE_DATE}, + #{ALL_FEES}, + #{ACTUAL_COLLECTION}, + #{REMINDER_DAYS}, + #{REMINDER_DATE}, + #{REMINDER_STATUS}, + #{ATTACHMENT_UPLOAD}, + #{INSUREINFO}, + #{NOTES}, + #{ISDELETE}, + #{CREATOR}, + #{CREATORNAME}, + #{CREATTIME} @@ -116,7 +114,6 @@ CREATTIME ATTACHMENT_UPLOAD = #{ATTACHMENT_UPLOAD}, INSUREINFO = #{INSUREINFO}, NOTES = #{NOTES}, - ARCHIVES_TYPE = #{ARCHIVES_TYPE}, OPERATOR = #{OPERATOR}, OPERATORNAME = #{OPERATORNAME}, OPERATTIME = #{OPERATTIME} @@ -164,7 +161,6 @@ CREATTIME f.ATTACHMENT_UPLOAD, f.INSUREINFO, f.NOTES, - f.ARCHIVES_TYPE, f.ISDELETE, f.CREATOR, f.CREATORNAME, diff --git a/src/main/resources/mybatis/datasource/maintenance/MaintenanceMapper.xml b/src/main/resources/mybatis/datasource/maintenance/MaintenanceMapper.xml index 0b1f659..d49d5e2 100644 --- a/src/main/resources/mybatis/datasource/maintenance/MaintenanceMapper.xml +++ b/src/main/resources/mybatis/datasource/maintenance/MaintenanceMapper.xml @@ -41,6 +41,7 @@ REMINDER_STATUS, MAINTENANCEINFO, NOTES, + NUM, ISDELETE, CREATOR, CREATORNAME, @@ -86,6 +87,7 @@ #{REMINDER_STATUS}, #{MAINTENANCEINFO}, #{NOTES}, + #{NUM}, #{ISDELETE}, #{CREATOR}, #{CREATORNAME}, From 2e121cfabc368f8a25ffa93b2eebebb089feee68 Mon Sep 17 00:00:00 2001 From: WenShiJun Date: Tue, 26 Mar 2024 18:01:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?bug=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/beidou/BeidouController.java | 26 +++++- ...icSafetyOccupationalHazardsController.java | 6 +- ...TrafficSafetyResponsibilityController.java | 6 +- .../TrafficSecurityCommitmentController.java | 6 +- ...rafficSecurityLaborContractController.java | 6 +- .../FreighttTrailerController.java | 51 +++++++++++ .../freighttrailer/FreightTrailerMapper.java | 2 + .../freighttrailer/FreightTrailerService.java | 1 + .../impl/FreightTrailerServiceImpl.java | 5 ++ .../datasource/beidou/BeidouMapper.xml | 8 ++ ...TrafficSafetyOccupationalHazardsMapper.xml | 15 ++-- .../TrafficSafetyProductionMapper.xml | 20 +---- .../TrafficSafetyResponsibilityMapper.xml | 11 ++- .../TrafficSecurityCommitmentMapper.xml | 80 ++++++++---------- .../TrafficSecurityLaborContractMapper.xml | 34 +++----- .../freighttrailer/FreightTrailerMapper.xml | 12 +++ .../uploadFiles/file/truckExcelTemplate.xls | Bin 0 -> 22016 bytes 17 files changed, 184 insertions(+), 105 deletions(-) create mode 100644 src/main/webapp/TrafficFile/uploadFiles/file/truckExcelTemplate.xls diff --git a/src/main/java/com/zcloud/controller/beidou/BeidouController.java b/src/main/java/com/zcloud/controller/beidou/BeidouController.java index 4350e08..67fabb8 100644 --- a/src/main/java/com/zcloud/controller/beidou/BeidouController.java +++ b/src/main/java/com/zcloud/controller/beidou/BeidouController.java @@ -7,12 +7,17 @@ import com.zcloud.logs.LogAnno; import com.zcloud.service.beidou.BeidouService; import com.zcloud.service.maintenance.MaintenanceService; import com.zcloud.service.system.ImgFilesService; +import com.zcloud.util.Const; import com.zcloud.util.DateUtil; import com.zcloud.util.Jurisdiction; +import com.zcloud.util.Smb; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.multipart.MultipartFile; import java.util.Date; import java.util.HashMap; @@ -30,6 +35,8 @@ public class BeidouController extends BaseController { private BeidouService beidouService; @Autowired private ImgFilesService imgfilesService; + @Autowired + private Smb smb; /** * 新增 @@ -41,7 +48,7 @@ public class BeidouController extends BaseController { // @RequiresPermissions( value = {"question:add" , "courseware:add"}, logical = Logical.OR) @ResponseBody @LogAnno(menuType = "机务档案", menuServer = "北斗管理", instructionsOperate = "北斗管理", instructionsType = "新增") - public Object add() throws Exception { + public Object add(@RequestParam(value="FFILE",required=false) MultipartFile file) throws Exception { Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); @@ -52,8 +59,25 @@ public class BeidouController extends BaseController { pd.put("CREATTIME", DateUtil.date2Str(new Date())); //添加时间 pd.put("ISDELETE", "0"); //是否删除(0:有效 1:删除) pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业ID + pd.put("TRANSPORTATIONCOMPANY", Jurisdiction.getCORPINFO_ID()); // 运输企业 pd.put("ARCHIVES_TYPE", "正常"); //档案状态 + String ffile = DateUtil.getDays(); + if (file != null && StringUtils.isNotBlank(pd.getString("CREATORNAME"))){ + String suffixName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1).toLowerCase(); + if (!"pdf".equals(suffixName) && !"jpg".equals(suffixName) && !"jpeg".equals(suffixName) && !"png".equals(suffixName)) { + errInfo = "fail"; + map.put("result", errInfo); + map.put("msg", "文件格式不正确!"); + return map; + } + String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("TRANSPORTATIONCOMPANY") + "/" + ffile); + pd.put("CONTRACT", Const.FILEPATHFILE + pd.getString("TRANSPORTATIONCOMPANY") + "/" + ffile + "/" + fileName); + pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); + pd.put("CONFIRM_MESSAGE_TIME",DateUtil.date2Str(new Date())); + } + beidouService.save(pd); map.put("pd", pd); map.put("result", errInfo); diff --git a/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyOccupationalHazardsController.java b/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyOccupationalHazardsController.java index be2e47e..f94c8f0 100644 --- a/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyOccupationalHazardsController.java +++ b/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyOccupationalHazardsController.java @@ -60,7 +60,8 @@ public class TrafficSafetyOccupationalHazardsController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); @@ -109,7 +110,8 @@ public class TrafficSafetyOccupationalHazardsController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); diff --git a/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyResponsibilityController.java b/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyResponsibilityController.java index c691ccc..2c3ccd0 100644 --- a/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyResponsibilityController.java +++ b/src/main/java/com/zcloud/controller/comprehensive/TrafficSafetyResponsibilityController.java @@ -59,7 +59,8 @@ public class TrafficSafetyResponsibilityController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); @@ -103,7 +104,8 @@ public class TrafficSafetyResponsibilityController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); diff --git a/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityCommitmentController.java b/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityCommitmentController.java index 4b29b3a..5fdfde0 100644 --- a/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityCommitmentController.java +++ b/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityCommitmentController.java @@ -59,7 +59,8 @@ public class TrafficSecurityCommitmentController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); @@ -102,7 +103,8 @@ public class TrafficSecurityCommitmentController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); diff --git a/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityLaborContractController.java b/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityLaborContractController.java index e38ce8a..f576042 100644 --- a/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityLaborContractController.java +++ b/src/main/java/com/zcloud/controller/comprehensive/TrafficSecurityLaborContractController.java @@ -58,7 +58,8 @@ public class TrafficSecurityLaborContractController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName = file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); @@ -107,7 +108,8 @@ public class TrafficSecurityLaborContractController extends BaseController { map.put("msg", "文件格式不正确!"); return map; } - String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); +// String fileName = this.get32UUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); + String fileName =file.getOriginalFilename(); smb.sshSftp(file, fileName, Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile); pd.put("ATTACHMENT_ROUTE", Const.FILEPATHFILE + pd.getString("OPERATINGCOMPANY") + "/" + ffile + "/" + fileName); pd.put("ATTACHMENT_NAME",pd.getString("CREATORNAME")); diff --git a/src/main/java/com/zcloud/controller/freighttrailer/FreighttTrailerController.java b/src/main/java/com/zcloud/controller/freighttrailer/FreighttTrailerController.java index f6c1a78..cddfea7 100644 --- a/src/main/java/com/zcloud/controller/freighttrailer/FreighttTrailerController.java +++ b/src/main/java/com/zcloud/controller/freighttrailer/FreighttTrailerController.java @@ -14,7 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletResponse; import java.util.*; /** @@ -154,6 +156,18 @@ public class FreighttTrailerController extends BaseController { return map; } + /** + * 下载模版 + * + * @param response + * @throws Exception + */ + @RequestMapping(value = "/downExcel") + public void downExcel(HttpServletResponse response) throws Exception { + FileDownload.fileDownload(response, PathUtil.getProjectpath() + Const.FILEPATHFILE + "truckExcelTemplate.xls", "货车挂车导入模板.xls"); + } + + /** * 列表 * @@ -214,6 +228,43 @@ public class FreighttTrailerController extends BaseController { return map; } + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/excel") +// // @RequiresPermissions("toExcel") + public ModelAndView exportExcel() throws Exception{ + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + String DATA_IDS = pd.getString("DATA_IDS"); + if(Tools.notEmpty(DATA_IDS)){ + String[] ArrayDATA_IDS = DATA_IDS.split(","); + pd.put("ArrayDATA_IDS",ArrayDATA_IDS); + } + pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("所属企业"); //1 + titles.add("风险点(单元)名称"); //2 + titles.add("所属部门"); //3 + dataMap.put("titles", titles); + List varOList = freightTrailerService.listOut(pd); + List varList = new ArrayList(); + for(int i=0;i vehicleList(PageData pd); + + List listOut(PageData pd); } diff --git a/src/main/java/com/zcloud/service/freighttrailer/FreightTrailerService.java b/src/main/java/com/zcloud/service/freighttrailer/FreightTrailerService.java index be1428d..5be0879 100644 --- a/src/main/java/com/zcloud/service/freighttrailer/FreightTrailerService.java +++ b/src/main/java/com/zcloud/service/freighttrailer/FreightTrailerService.java @@ -75,5 +75,6 @@ public interface FreightTrailerService { */ public List vehicleList(PageData pd) throws Exception; + List listOut(PageData pd); } diff --git a/src/main/java/com/zcloud/service/freighttrailer/impl/FreightTrailerServiceImpl.java b/src/main/java/com/zcloud/service/freighttrailer/impl/FreightTrailerServiceImpl.java index 3d0d7bb..60bca84 100644 --- a/src/main/java/com/zcloud/service/freighttrailer/impl/FreightTrailerServiceImpl.java +++ b/src/main/java/com/zcloud/service/freighttrailer/impl/FreightTrailerServiceImpl.java @@ -103,5 +103,10 @@ public class FreightTrailerServiceImpl implements FreightTrailerService { return freightTrailerMapper.vehicleList(pd); } + @Override + public List listOut(PageData pd) { + return freightTrailerMapper.listOut(pd); + } + } diff --git a/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml b/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml index 2b33edd..d380f02 100644 --- a/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml +++ b/src/main/resources/mybatis/datasource/beidou/BeidouMapper.xml @@ -40,6 +40,9 @@ BEIDOUINFO, NOTES, NUM, + CONTRACT, + CERTIFICATE, + TRANSPORTATIONCOMPANY, ISDELETE, CREATOR, CREATORNAME, @@ -84,6 +87,9 @@ #{BEIDOUINFO}, #{NOTES}, #{NUM}, + #{CONTRACT}, + #{CERTIFICATE}, + #{TRANSPORTATIONCOMPANY}, #{ISDELETE}, #{CREATOR}, #{CREATORNAME}, @@ -182,7 +188,9 @@ f.REMINDER_DAYS, f.REMINDER_DATE, f.REMINDER_STATUS, + f.CERTIFICATE, (select t.FILEPATH from bus_imgfiles t where t.TYPE = 128 and t.FOREIGN_KEY = f.BEIDOU_ID limit 1) as BEIDOUINFO, + (select t.FILEPATH from bus_imgfiles t where t.TYPE = 129 and t.FOREIGN_KEY = f.BEIDOU_ID limit 1) as CONTRACTINFO, -- 新增合同图片路径 f.NOTES, f.ARCHIVES_TYPE, f.ISDELETE, diff --git a/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyOccupationalHazardsMapper.xml b/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyOccupationalHazardsMapper.xml index ed167ba..bc4c11c 100644 --- a/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyOccupationalHazardsMapper.xml +++ b/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyOccupationalHazardsMapper.xml @@ -21,6 +21,7 @@ f.EXPIRYDATE, f.ATTACHMENT_ROUTE, f.USER_ID, + f.CONTENT, f.ISDELETE, f.DELETOR, f.DELETORNAME, @@ -43,6 +44,7 @@ EXPIRYDATE, ATTACHMENT_ROUTE, USER_ID, + CONTENT, ISDELETE, DELETOR, DELETORNAME, @@ -65,6 +67,7 @@ #{EXPIRYDATE}, #{ATTACHMENT_ROUTE}, #{USER_ID}, + #{CONTENT}, #{ISDELETE}, #{DELETOR}, #{DELETORNAME}, @@ -97,6 +100,7 @@ OPERATORNAME = #{OPERATORNAME}, OPERATTIME = #{OPERATTIME}, EXPIRYDATE = #{EXPIRYDATE}, + CONTENT = #{CONTENT}, ATTACHMENT_ROUTE=#{ATTACHMENT_ROUTE} , VALIDSTATUS = #{VALIDSTATUS} @@ -127,24 +131,25 @@ c.COMPLETIONSTATUS, c.VALIDSTATUS, c.EXPIRYDATE, + c.CONTENT, c.CREATETIME, c.OPERATTIME, c.OCCUPATIONALHAZARDS_ID from sys_user u left join bus_corp_info i on u.CORPINFO_ID = i.CORPINFO_ID - left join BUS_TRAFFIC_OCCUPATIONAL_HAZARDS c on u.USER_ID = c.USER_ID + left join BUS_TRAFFIC_OCCUPATIONAL_HAZARDS c on u.USER_ID = c.USER_ID and c.ISDELETE !='1' where u.ISDELETE = '0' and u.ISMAIN != '1' and (c.VALIDSTATUS != '2' or c.VALIDSTATUS is null) and c.OCCUPATIONALNAME like CONCAT('%',#{pd.OCCUPATIONALNAME},'%') - - and c.COMPLETIONSTATUS = #{pd.COMPLETIONSTATUS} + + and COALESCE(c.COMPLETIONSTATUS, '0') = #{pd.COMPLETIONSTATUS} - - and c.VALIDSTATUS = #{pd.VALIDSTATUS} + + and COALESCE(c.VALIDSTATUS, '0') = #{pd.VALIDSTATUS} diff --git a/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyProductionMapper.xml b/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyProductionMapper.xml index 4462090..34c2ccd 100644 --- a/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyProductionMapper.xml +++ b/src/main/resources/mybatis/datasource/comprehensive/TrafficSafetyProductionMapper.xml @@ -131,26 +131,8 @@ and f.VALIDSTATUS = #{pd.VALIDSTATUS} + ORDER BY f.CREATETIME DESC - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/mybatis/datasource/comprehensive/TrafficSecurityCommitmentMapper.xml b/src/main/resources/mybatis/datasource/comprehensive/TrafficSecurityCommitmentMapper.xml index 98202c8..512ca30 100644 --- a/src/main/resources/mybatis/datasource/comprehensive/TrafficSecurityCommitmentMapper.xml +++ b/src/main/resources/mybatis/datasource/comprehensive/TrafficSecurityCommitmentMapper.xml @@ -23,6 +23,7 @@ f.PRACTITIONER, f.ATTACHMENT_ROUTE, f.USER_ID, + f.CONTENT, f.ISDELETE, f.DELETOR, f.DELETORNAME, @@ -47,6 +48,7 @@ PRACTITIONER, ATTACHMENT_ROUTE, USER_ID, + CONTENT, ISDELETE, DELETOR, DELETORNAME, @@ -71,6 +73,7 @@ #{PRACTITIONER}, #{ATTACHMENT_ROUTE}, #{USER_ID}, + #{CONTENT}, #{ISDELETE}, #{DELETOR}, #{DELETORNAME}, @@ -103,6 +106,7 @@ OPERATORNAME = #{OPERATORNAME}, OPERATTIME = #{OPERATTIME}, EXPIRYDATE = #{EXPIRYDATE}, + CONTENT = #{CONTENT}, ATTACHMENT_ROUTE=#{ATTACHMENT_ROUTE} , VALIDSTATUS = #{VALIDSTATUS} @@ -123,52 +127,38 @@ - - - - - - - - - - - - - - - - select u.NAME, @@ -149,24 +134,25 @@ c.COMPLETIONSTATUS, c.VALIDSTATUS, c.EXPIRYDATE, + c.CONTENT, c.CREATETIME, c.OPERATTIME, c.LABORCONTRACT_ID from sys_user u left join bus_corp_info i on u.CORPINFO_ID = i.CORPINFO_ID - left join BUS_TRAFFIC_LABOR_CONTRACT c on u.USER_ID = c.USER_ID + left join BUS_TRAFFIC_LABOR_CONTRACT c on u.USER_ID = c.USER_ID and c.ISDELETE !='1' where u.ISDELETE = '0' and u.ISMAIN != '1' and (c.VALIDSTATUS != '2' or c.VALIDSTATUS is null) and c.CONTRACTNAME like CONCAT('%',#{pd.CONTRACTNAME},'%') - - and c.COMPLETIONSTATUS = #{pd.COMPLETIONSTATUS} + + and COALESCE(c.COMPLETIONSTATUS, '0') = #{pd.COMPLETIONSTATUS} - - and c.VALIDSTATUS = #{pd.VALIDSTATUS} + + and COALESCE(c.VALIDSTATUS, '0') = #{pd.VALIDSTATUS} diff --git a/src/main/resources/mybatis/datasource/freighttrailer/FreightTrailerMapper.xml b/src/main/resources/mybatis/datasource/freighttrailer/FreightTrailerMapper.xml index 700f454..ffdbda3 100644 --- a/src/main/resources/mybatis/datasource/freighttrailer/FreightTrailerMapper.xml +++ b/src/main/resources/mybatis/datasource/freighttrailer/FreightTrailerMapper.xml @@ -240,4 +240,16 @@ + + diff --git a/src/main/webapp/TrafficFile/uploadFiles/file/truckExcelTemplate.xls b/src/main/webapp/TrafficFile/uploadFiles/file/truckExcelTemplate.xls new file mode 100644 index 0000000000000000000000000000000000000000..3cce609e42f7ae9dcc0ec42d4eb83e5ece9d515d GIT binary patch literal 22016 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 O1c-is^H2C=5Bwh;*AxE$ literal 0 HcmV?d00001