chenc 2 年 前
コミット
5eb7259301
17 ファイル変更619 行追加11 行削除
  1. 1 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java
  2. 1 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java
  3. 73 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/InterfaceConnUtils.java
  4. 3 3
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/MybatisPlusConfig.java
  5. 1 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java
  6. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdScheduleController.java
  7. 2 2
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/CdScheduleMapper.xml
  8. 202 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/controller/ProjectManageArchivesController.java
  9. 171 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/entity/ProjectManageArchives.java
  10. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/mapper/ProjectManageArchivesMapper.java
  11. 8 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/mapper/xml/ProjectManageArchivesMapper.xml
  12. 15 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/service/IProjectManageArchivesService.java
  13. 46 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/service/impl/ProjectManageArchivesServiceImpl.java
  14. 58 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  15. 7 6
      jeecg-boot/jeecg-boot-module-system/src/main/resources/application-dev.yml
  16. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/jeecg_database.properties
  17. 5 0
      jeecg-boot/pom.xml

+ 1 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -303,6 +303,7 @@ public class ActBusinessController {
             actBusiness.setTableName(act.getTableName());
             actBusiness.setPkOrg("4adf2baae8d644e7be6ead18bdf2ff2f");//公司id
             actBusiness.setExternalUsername(act.getExternalUsername());
+            actBusiness.setRouteName(act.getTableName());
             actBusinessService.save(actBusiness);
             submit(actBusiness,node);
             result.success("操作成功");

+ 1 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java

@@ -22,6 +22,7 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
         org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class
 ,org.activiti.spring.boot.SecurityAutoConfiguration.class
 })
+
 public class JeecgApplication {
 
   public static void main(String[] args) throws UnknownHostException {

+ 73 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/InterfaceConnUtils.java

@@ -0,0 +1,73 @@
+package org.jeecg.config;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.util.EntityUtils;
+
+import javax.xml.bind.DatatypeConverter;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * 功能描述:
+ *
+ * @Author: chenchuang
+ * @Date: 2022/4/6 15:22
+ */
+public class InterfaceConnUtils {
+    /**
+     * post请求-推数据
+     */
+    public static JSONObject doPost(JSONObject json, String url) {
+        //定义测试返回JSON
+        JSONObject onejb = new JSONObject();
+        HttpClient httpClient = new DefaultHttpClient();
+//        HttpPost httpPost=new HttpPost("http://erpdev01.saplogin.freshhema.com:8000/sap/bc/zapi_inbound?sap-client=300");
+//        HttpPost httpPost=new HttpPost("http://139.196.226.160:8000/sap/bc/zapi_inbound?sap-client=710");
+        HttpPost httpPost=new HttpPost("http://localhost:8088/fangda"+url);
+//        HttpPost httpPost=new HttpPost("http://106.15.206.14:8086/fangda"+url);
+        httpPost.setHeader("Content-Type", "application/json");
+        String tokenCode = "sap:Cwa1QJrhfhtXbzSGZi94ydBPNQCPbmz7";
+        //使用base64进行加密
+        byte[] tokenByte = Base64.encodeBase64((tokenCode).getBytes());
+        //将加密的信息转换为string
+        String tokenStr = new String(tokenByte);
+        //Basic
+        String token = "Basic "+tokenStr;
+        String encoding="";
+        try {
+//            encoding = DatatypeConverter.printBase64Binary("ZKANB01:Aa12345678".getBytes("UTF-8"));
+            encoding = DatatypeConverter.printBase64Binary("ZKANB01:Kb6a5553ec90a".getBytes("UTF-8"));
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        //把认证信息发到header中
+//        httpPost.setHeader("Authorization", "Basic "+token);
+        httpPost.setHeader("Authorization", "Basic "+encoding);
+
+        //result
+        //JSONObject  backjson=new JSONObject();
+        //backjson.put("data", json);
+        StringEntity entity;
+        entity = new StringEntity(json.toString(),"utf-8");
+        entity.setContentEncoding("utf-8");
+        entity.setContentType("application/json");
+        httpPost.setEntity(entity);
+        try {
+            //调用接口
+            HttpResponse response = httpClient.execute(httpPost);
+            //返回信息
+            String resultStr = EntityUtils.toString(response.getEntity(),"UTF-8");
+            onejb=JSONObject.parseObject(resultStr);
+            System.out.println("返回消息内容:"+onejb);
+            // jf.put("head",JsonChangeUtils.testJson(mapList));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return onejb;
+    }
+}

+ 3 - 3
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/MybatisPlusConfig.java

@@ -23,7 +23,7 @@ public class MybatisPlusConfig {
         // 设置sql的limit为无限制,默认是500
         return new PaginationInterceptor().setLimit(-1);
     }
-    
+
 //    /**
 //     * mybatis-plus SQL执行效率插件【生产环境可以关闭】
 //     */
@@ -31,6 +31,6 @@ public class MybatisPlusConfig {
 //    public PerformanceInterceptor performanceInterceptor() {
 //        return new PerformanceInterceptor();
 //    }
-    
-   
+
+
 }

+ 1 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -104,6 +104,7 @@ public class ShiroConfig {
 		filterChainDefinitionMap.put("/**/*.jpg", "anon");
 		filterChainDefinitionMap.put("/**/*.png", "anon");
 		filterChainDefinitionMap.put("/**/*.ico", "anon");
+		filterChainDefinitionMap.put("/sys/automaticLogin", "anon"); //免登录接口排除
 
 		// update-begin--Author:sunjianlei Date:20190813 for:排除字体格式的后缀
 		filterChainDefinitionMap.put("/**/*.ttf", "anon");

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CdScheduleController.java

@@ -208,6 +208,8 @@ public class CdScheduleController extends JeecgController<CdSchedule, ICdSchedul
   public Result getLastMonth(CdSchedule cdSchedule){
   	Result result = new Result();
 	  try {
+		  LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		  cdSchedule.setPkOrg(user.getOrgCode());
 		  Integer count=cdScheduleService.getLastMonth(cdSchedule);
 		  if(count==null){
               count=0;

+ 2 - 2
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/CdScheduleMapper.xml

@@ -21,10 +21,10 @@
 
     <select id="getLastMonth" parameterType="org.jeecg.modules.oa.entity.CdSchedule" resultType="java.lang.Integer">
         select count(*) from cd_schedule where del_flag='0' AND pk_org=#{cdSchedule.pkOrg}
-        <if test="cdSchedule.whereTimeType=='1'">
+        <if test='cdSchedule.whereTimeType=="1"'>
             AND PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( start_time, '%Y%m' ) ) =1
         </if>
-        <if test="cdSchedule.whereTimeType=='2'">
+        <if test='cdSchedule.whereTimeType=="2"'>
             AND DATE_FORMAT( start_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
         </if>
         <if test="cdSchedule.createBy!=null and cdSchedule.createBy!=''">

+ 202 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/controller/ProjectManageArchivesController.java

@@ -0,0 +1,202 @@
+package org.jeecg.modules.projectManagement.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.config.InterfaceConnUtils;
+import org.jeecg.modules.projectManagement.entity.ProjectManageArchives;
+import org.jeecg.modules.projectManagement.service.IProjectManageArchivesService;
+import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 项目档案
+ * @Author: jeecg-boot
+ * @Date:   2022-03-24
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="项目档案")
+@RestController
+@RequestMapping("/projectManagement/projectManageArchives")
+public class ProjectManageArchivesController extends JeecgController<ProjectManageArchives, IProjectManageArchivesService> {
+	@Autowired
+	private IProjectManageArchivesService projectManageArchivesService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param projectManageArchives
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-分页列表查询")
+	@ApiOperation(value="项目档案-分页列表查询", notes="项目档案-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(ProjectManageArchives projectManageArchives,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ProjectManageArchives> queryWrapper = QueryGenerator.initQueryWrapper(projectManageArchives, req.getParameterMap());
+		Page<ProjectManageArchives> page = new Page<ProjectManageArchives>(pageNo, pageSize);
+		IPage<ProjectManageArchives> pageList = projectManageArchivesService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param projectManageArchives
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-添加")
+	@ApiOperation(value="项目档案-添加", notes="项目档案-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody ProjectManageArchives projectManageArchives) {
+		projectManageArchivesService.save(projectManageArchives);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param projectManageArchives
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-编辑")
+	@ApiOperation(value="项目档案-编辑", notes="项目档案-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody ProjectManageArchives projectManageArchives) {
+		projectManageArchivesService.updateById(projectManageArchives);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-通过id删除")
+	@ApiOperation(value="项目档案-通过id删除", notes="项目档案-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		projectManageArchivesService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-批量删除")
+	@ApiOperation(value="项目档案-批量删除", notes="项目档案-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.projectManageArchivesService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "项目档案-通过id查询")
+	@ApiOperation(value="项目档案-通过id查询", notes="项目档案-通过id查询")
+	@GetMapping(value = "/getById")
+	public Result<?> getById(@RequestParam(name="id",required=true) String id) {
+		ProjectManageArchives projectManageArchives = projectManageArchivesService.getById(id);
+		return Result.ok(projectManageArchives);
+	}
+
+	 /**
+	  * 通过id查询
+	  *
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "项目档案-通过id查询")
+	 @ApiOperation(value="项目档案-通过id查询", notes="项目档案-通过id查询")
+	 @GetMapping(value = "/queryById")
+	 public Result<JSONObject> queryById(@RequestParam(name="id",required=true) String id) {
+		 Result<JSONObject> result=new Result<>();
+		 JSONObject projectManageArchives = null;
+		 try {
+//			 projectManageArchives = projectManageArchivesService.queryById(id);
+			 String jsonSting ="{\"id\":\""+id+"\"}";
+			 JSONObject jsonObjectP=JSONObject.parseObject(JSONObject.parse(jsonSting).toString());
+			 //获取接收数据
+			 JSONObject jsonObjectResults= InterfaceConnUtils.doPost(jsonObjectP,"/archives/projectManageArchives/queryByIdAPI");
+			 if(jsonObjectResults.get("success").toString().equals("true")){
+				 projectManageArchives=jsonObjectResults.getJSONObject("result");
+				 result.success("操作成功");
+				 result.setResult(projectManageArchives);
+			 }else{
+				 result.error500("操作失败:"+jsonObjectResults.get("message").toString());
+			 }
+		 } catch (Exception e) {
+			 e.printStackTrace();
+			 result.error500("操作失败:"+e.getMessage());
+		 }
+		 return result;
+	 }
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param projectManageArchives
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, ProjectManageArchives projectManageArchives) {
+      return super.exportXls(request, projectManageArchives, ProjectManageArchives.class, "项目档案");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, ProjectManageArchives.class);
+  }
+
+}

+ 171 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/entity/ProjectManageArchives.java

@@ -0,0 +1,171 @@
+package org.jeecg.modules.projectManagement.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 项目档案
+ * @Author: jeecg-boot
+ * @Date:   2022-03-24
+ * @Version: V1.0
+ */
+@Data
+@TableName("project_manage_archives")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="project_manage_archives对象", description="项目档案")
+public class ProjectManageArchives {
+    
+	/**id*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "id")
+	private String id;
+	/**项目立项档案id*/
+	@Excel(name = "项目立项档案id", width = 15)
+    @ApiModelProperty(value = "项目立项档案id")
+	private String proId;
+	/**项目编码(来自项目立项)*/
+	@Excel(name = "项目编码(来自项目立项)", width = 15)
+    @ApiModelProperty(value = "项目编码(来自项目立项)")
+	private String proCode;
+	/**项目名称(来自项目立项)*/
+	@Excel(name = "项目名称(来自项目立项)", width = 15)
+    @ApiModelProperty(value = "项目名称(来自项目立项)")
+	private String proName;
+	/**客户档案id*/
+	@Excel(name = "客户档案id", width = 15)
+    @ApiModelProperty(value = "客户档案id")
+	private String cusId;
+	/**客户编码(来自客户档案)*/
+	@Excel(name = "客户编码(来自客户档案)", width = 15)
+    @ApiModelProperty(value = "客户编码(来自客户档案)")
+	private String cusCode;
+	/**客户名称(来自客户档案)*/
+	@Excel(name = "客户名称(来自客户档案)", width = 15)
+    @ApiModelProperty(value = "客户名称(来自客户档案)")
+	private String cusName;
+	/**项目总金额*/
+	@Excel(name = "项目总金额", width = 15)
+    @ApiModelProperty(value = "项目总金额")
+	private java.math.BigDecimal totalPrice;
+	/**已回款金额*/
+	@Excel(name = "已回款金额", width = 15)
+    @ApiModelProperty(value = "已回款金额")
+	private java.math.BigDecimal received;
+	/**销售经理id*/
+	@Excel(name = "销售经理id", width = 15)
+    @ApiModelProperty(value = "销售经理id")
+	private String saleManagerId;
+	/**销售经理*/
+	@Excel(name = "销售经理", width = 15)
+    @ApiModelProperty(value = "销售经理")
+	private String saleManager;
+	/**业务员id*/
+	@Excel(name = "业务员id", width = 15)
+    @ApiModelProperty(value = "业务员id")
+	private String saleManId;
+	/**业务员*/
+	@Excel(name = "业务员", width = 15)
+    @ApiModelProperty(value = "业务员")
+	private String saleMan;
+	/**实施项目经理id*/
+	@Excel(name = "实施项目经理id", width = 15)
+    @ApiModelProperty(value = "实施项目经理id")
+	private String impManagerId;
+	/**实施项目经理*/
+	@Excel(name = "实施项目经理", width = 15)
+    @ApiModelProperty(value = "实施项目经理")
+	private String impManager;
+	/**实施顾问id*/
+	@Excel(name = "实施顾问id", width = 15)
+    @ApiModelProperty(value = "实施顾问id")
+	private String impConsultantId;
+	/**实施顾问*/
+	@Excel(name = "实施顾问", width = 15)
+    @ApiModelProperty(value = "实施顾问")
+	private String impConsultant;
+	/**开发项目经理id*/
+	@Excel(name = "开发项目经理id", width = 15)
+    @ApiModelProperty(value = "开发项目经理id")
+	private String deManagerId;
+	/**开发项目经理*/
+	@Excel(name = "开发项目经理", width = 15)
+    @ApiModelProperty(value = "开发项目经理")
+	private String deManager;
+	/**开发工程师id*/
+	@Excel(name = "开发工程师id", width = 15)
+    @ApiModelProperty(value = "开发工程师id")
+	private String deEngineerId;
+	/**开发工程师*/
+	@Excel(name = "开发工程师", width = 15)
+    @ApiModelProperty(value = "开发工程师")
+	private String deEngineer;
+	/**服务经理id*/
+	@Excel(name = "服务经理id", width = 15)
+    @ApiModelProperty(value = "服务经理id")
+	private String seManagerId;
+	/**服务经理*/
+	@Excel(name = "服务经理", width = 15)
+    @ApiModelProperty(value = "服务经理")
+	private String seManager;
+	/**服务工程师id*/
+	@Excel(name = "服务工程师id", width = 15)
+    @ApiModelProperty(value = "服务工程师id")
+	private String seEngineerId;
+	/**服务工程师*/
+	@Excel(name = "服务工程师", width = 15)
+    @ApiModelProperty(value = "服务工程师")
+	private String seEngineer;
+	/**里程碑档案id*/
+	@Excel(name = "里程碑档案id", width = 15)
+    @ApiModelProperty(value = "里程碑档案id")
+	private String milestoneId;
+	/**里程碑档案类型*/
+	@Excel(name = "里程碑档案类型", width = 15)
+    @ApiModelProperty(value = "里程碑档案类型")
+	private String milestoneType;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private String createBy;
+	/**修改时间*/
+	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改时间")
+	private Date updateTime;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+    @ApiModelProperty(value = "修改人")
+	private String updateBy;
+	/**删除状态(0,正常,1已删除)*/
+	@Excel(name = "删除状态(0,正常,1已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0,正常,1已删除)")
+	private String delFlag;
+	/**组织*/
+	@Excel(name = "组织", width = 15)
+    @ApiModelProperty(value = "组织")
+	private String pkOrg;
+	/**合同档案id*/
+	@Excel(name = "合同档案id", width = 15)
+    @ApiModelProperty(value = "合同档案id")
+	private String contractFileId;
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/mapper/ProjectManageArchivesMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.projectManagement.mapper;
+
+import java.util.List;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.projectManagement.entity.ProjectManageArchives;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 项目档案
+ * @Author: jeecg-boot
+ * @Date:   2022-03-24
+ * @Version: V1.0
+ */
+
+public interface ProjectManageArchivesMapper extends BaseMapper<ProjectManageArchives> {
+    ProjectManageArchives queryById(@Param("id") String id);
+}

+ 8 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/mapper/xml/ProjectManageArchivesMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.projectManagement.mapper.ProjectManageArchivesMapper">
+
+    <select id="queryById" resultType="org.jeecg.modules.projectManagement.entity.ProjectManageArchives">
+        select * from project_manage_archives where id=#{id}
+    </select>
+</mapper>

+ 15 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/service/IProjectManageArchivesService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.projectManagement.service;
+
+import org.jeecg.modules.projectManagement.entity.ProjectManageArchives;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 项目档案
+ * @Author: jeecg-boot
+ * @Date:   2022-03-24
+ * @Version: V1.0
+ */
+public interface IProjectManageArchivesService extends IService<ProjectManageArchives> {
+
+    ProjectManageArchives queryById(String id);
+}

+ 46 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/projectManagement/service/impl/ProjectManageArchivesServiceImpl.java

@@ -0,0 +1,46 @@
+package org.jeecg.modules.projectManagement.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import org.jeecg.config.InterfaceConnUtils;
+import org.jeecg.modules.projectManagement.entity.ProjectManageArchives;
+import org.jeecg.modules.projectManagement.mapper.ProjectManageArchivesMapper;
+import org.jeecg.modules.projectManagement.service.IProjectManageArchivesService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+/**
+ * @Description: 项目档案
+ * @Author: jeecg-boot
+ * @Date:   2022-03-24
+ * @Version: V1.0
+ */
+@Service
+@DS("master2")
+public class ProjectManageArchivesServiceImpl extends ServiceImpl<ProjectManageArchivesMapper, ProjectManageArchives> implements IProjectManageArchivesService {
+
+    @Resource
+    private ProjectManageArchivesMapper projectManageArchivesMapper;
+
+    @Override
+    @DS("master2")
+//    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public ProjectManageArchives queryById(String id) {
+        String jsonSting ="{\"id\":\""+id+"\"}";
+        JSONObject jsonObjectP=JSONObject.parseObject(JSONObject.parse(jsonSting).toString());
+        //获取接收数据
+        JSONObject jsonObjectResults= InterfaceConnUtils.doPost(jsonObjectP,"");
+        if(jsonObjectResults.get("success").toString().equals("true")){
+
+        }else{
+
+        }
+
+        return projectManageArchivesMapper.queryById(id);
+    }
+}

+ 58 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -117,6 +117,64 @@ public class LoginController {
 
 		return result;
 	}
+
+	@ApiOperation("自动登录接口")
+	@RequestMapping(value = "/automaticLogin", method = RequestMethod.POST)
+	public Result<JSONObject> automaticLogin(@RequestBody SysLoginModel sysLoginModel){
+		Result<JSONObject> result = new Result<JSONObject>();
+		String username = sysLoginModel.getUsername();
+		String password = sysLoginModel.getPassword();
+		password="66666";
+		//update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
+		//前端密码加密,后端进行密码解密
+		//password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
+		//update-begin--Author:scott  Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
+
+		//update-begin-author:taoyan date:20190828 for:校验验证码
+		Boolean slidered = sysLoginModel.getSlidered();
+		if (slidered!=null){ //update-begin-author:pmc 滑块验证
+			if (!slidered){
+				result.error500("滑块验证失败");
+				return result;
+			}
+		}else {
+			String captcha = sysLoginModel.getCaptcha();
+			if(captcha==null){
+				result.error500("验证码无效");
+				return result;
+			}
+			String lowerCaseCaptcha = captcha.toLowerCase();
+			String realKey = MD5Util.MD5Encode(lowerCaseCaptcha+sysLoginModel.getCheckKey(), "utf-8");
+			Object checkCode = redisUtil.get(realKey);
+			if(checkCode==null || !checkCode.equals(lowerCaseCaptcha)) {
+				result.error500("验证码错误");
+				return result;
+			}
+			//update-end-author:taoyan date:20190828 for:校验验证码
+		}
+
+
+		//1. 校验用户是否有效
+		SysUser sysUser = sysUserService.getUserByName(username);
+		result = sysUserService.checkUserIsEffective(sysUser);
+		if(!result.isSuccess()) {
+			return result;
+		}
+
+		//2. 校验用户名或密码是否正确
+		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
+		String syspassword = sysUser.getPassword();
+//		if (!syspassword.equals(userpassword)) {
+//			result.error500("用户名或密码错误");
+//			return result;
+//		}
+
+		//用户登录信息
+		userInfo(sysUser, result);
+		sysBaseAPI.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
+
+		return result;
+	}
 	
 	/**
 	 * 退出登录

+ 7 - 6
jeecg-boot/jeecg-boot-module-system/src/main/resources/application-dev.yml

@@ -101,11 +101,11 @@ spring:
           password: root
           driver-class-name: com.mysql.jdbc.Driver
           # 多数据源配置
-          #multi-datasource1:
-          #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
-          #username: root
-          #password: root
-          #driver-class-name: com.mysql.jdbc.Driver
+        master2:
+          url: jdbc:mysql://127.0.0.1:3306/cd_project_management?characterEncoding=UTF-8&useUnicode=true&useSSL=false&allowMultiQueries=true&failOverReadOnly=false&allowPublicKeyRetrieval=true
+          username: root
+          password: root
+          driver-class-name: com.mysql.jdbc.Driver
   #redis 配置
   redis:
     database: 11
@@ -127,7 +127,7 @@ spring:
     job-executor-activate: true # asyncExecutorEnabled属性设置设置true后将代替那些老的Job executor
     history-level: full
     db-history-used: true
-    #async-executor-activate: true
+#    async-executor-activate: true
     check-process-definitions: false # 自动部署验证设置:true-开启(默认)、false-关闭
 #mybatis plus 设置
 mybatis-plus:
@@ -192,6 +192,7 @@ dingtalk:
 logging:
   level:
     org.jeecg.modules : debug
+    org.activiti.engine.impl.persistence.entity: debug
 #cas单点登录
 cas:
   prefixUrl: http://cas.example.org:8443/cas

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/resources/jeecg/jeecg_database.properties

@@ -4,6 +4,11 @@ url=jdbc:mysql://localhost:3306/cd_work_flow_dev?useUnicode=true&characterEncodi
 username=root
 password=root
 database_name=cd_work_flow_dev
+#diver_name=com.mysql.jdbc.Driver
+#url=jdbc:mysql://127.0.0.1:3306/cd_project_management?useUnicode=true&characterEncoding=UTF-8
+#username=root
+#password=root
+#database_name=cd_project_management
 
 #oracle11g
 #diver_name=oracle.jdbc.driver.OracleDriver

+ 5 - 0
jeecg-boot/pom.xml

@@ -94,6 +94,11 @@
 			<artifactId>spring-boot-devtools</artifactId>
 			<optional>true</optional>
 		</dependency> -->
+		<!--<dependency>-->
+			<!--<groupId>org.springframework.boot</groupId>-->
+			<!--<artifactId>spring-boot-devtools</artifactId>-->
+			<!--<optional>true</optional>-->
+		<!--</dependency>-->
 		
 		<!-- commons -->
 		<dependency>