Commit 14d27f54 by 邓实川

Merge branch 'develop' of http://120.24.24.239:8082/8timerv2/8timerapiv200.git into dsc

parents 6033b2e6 8fbf7b01
...@@ -102,11 +102,11 @@ ...@@ -102,11 +102,11 @@
</dependency> </dependency>
<!-- optional这个需要为 true 热部署才有效 --> <!-- optional这个需要为 true 热部署才有效 -->
<dependency> <!-- <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId> <artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency> -->
<!-- swagger2 --> <!-- swagger2 -->
<dependency> <dependency>
...@@ -272,7 +272,7 @@ ...@@ -272,7 +272,7 @@
<version>1.1.10</version> <version>1.1.10</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --> <!-- mybatis-plus -->
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
......
...@@ -37,28 +37,34 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> { ...@@ -37,28 +37,34 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@Id @Id
@GeneratedValue @GeneratedValue
@TableId (type = IdType.AUTO) @TableId (type = IdType.AUTO)
@ApiModelProperty(value="组织机构代码 组织机构代码",example="101") @ApiModelProperty(value="组织机构代码 组织机构代码",example="4")
private Integer id; private Integer id;
@ApiModelProperty(value="企业名称 ",example="企业名称") @ApiModelProperty(value="企业名称 ",example="优领人才")
private String name; private String name;
@ApiModelProperty(value="认证名 ",example="广东优领人才科技服务有限公司")
private String attestName;
@ApiModelProperty(value="企业简介 企业简介",example="101") @ApiModelProperty(value="简介",example="公司福利好")
private String intro; private String intro;
@ApiModelProperty(value="法人 ",example="刘德华") @ApiModelProperty(value="法人 ",example="刘德华")
private String operName; private String operName;
@ApiModelProperty(value="企业规模 10人以下、10-19人、20-99人、100-500人、500人以上",example="101") @ApiModelProperty(value="企业规模 10人以下、10-19人、20-99人、100-500人、500人以上",example="3")
private Integer size; private Integer size;
@ApiModelProperty(value="电话号码 ",example="18712345678") @ApiModelProperty(value="电话号码 ",example="18712345678")
private String phone; private String phone;
@ApiModelProperty(value="所在地区",example="440111")
private Integer area;
@ApiModelProperty(value="办公地址 ",example=" 省/市/区 例:广东省/广州市/白云区") @ApiModelProperty(value="办公地址 ",example="广从一路5号柏曼酒店3楼")
private String workAddress; private String workAddress;
@ApiModelProperty(value="企业编码 ",example=" 例:YLZYCS(YL:优领简写;ZY:版本;CS:账户公司简称)") @ApiModelProperty(value="企业简写 ",example=" 例:YLZYCS(YL:优领简写;ZY:版本;CS:账户公司简称)")
private String codes; private String codes;
@ApiModelProperty(value="企业LOGO ",example="企业LOGO") @ApiModelProperty(value="企业LOGO ",example="企业LOGO")
...@@ -70,13 +76,13 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> { ...@@ -70,13 +76,13 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@ApiModelProperty(value="开通渠道 1直属、2总代理、3独家代理、4一般代理商、5区域代理商",example="101") @ApiModelProperty(value="开通渠道 1直属、2总代理、3独家代理、4一般代理商、5区域代理商",example="101")
private Integer openChannel; private Integer openChannel;
@ApiModelProperty(value="联系人 ",example="刘德华") @ApiModelProperty(value="联系人",example="刘德华")
private String linkMan; private String linkMan;
@ApiModelProperty(value="联系人电话 ",example="18712345678") @ApiModelProperty(value="联系人电话 ",example="18712345678")
private String linkManPhone; private String linkManPhone;
@ApiModelProperty(value="统一社会信用代码 ",example=" 统一社会信用代码") @ApiModelProperty(value="统一社会信用代码 ",example="统一社会信用代码")
private String creditCode; private String creditCode;
@ApiModelProperty(value="是否上市 0:否 1:是",example="101") @ApiModelProperty(value="是否上市 0:否 1:是",example="101")
...@@ -86,7 +92,16 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> { ...@@ -86,7 +92,16 @@ public class QyzxEntInfoM extends Model<QyzxEntInfoM> {
@ApiModelProperty(value="企业注册时间 ",example="企业注册时间") @ApiModelProperty(value="企业注册时间 ",example="企业注册时间")
private Date registerTime; private Date registerTime;
@ApiModelProperty(value="到期时间 ",example="到期时间") @ApiModelProperty(value="营业执照 ",example="营业执照url ")
private String licenseUrl;
@ApiModelProperty(value="认证状态 ",example="0未认证,1 认证中,2认证成功,3认证失败 ")
private Integer attestStatus;
@ApiModelProperty(value="认证时间 ",example="2019-12-12 08:00:00")
private Date attestTime;
@ApiModelProperty(value="到期时间 ",example="2039-12-12 08:00:00")
private Date endTime; private Date endTime;
@ApiModelProperty(value="企业版本,0试用,1标准,2专业, ",example="0") @ApiModelProperty(value="企业版本,0试用,1标准,2专业, ",example="0")
......
package cn.timer.api.bean.qyzx; package cn.timer.api.bean.qyzx;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.annotation.FieldFill; import javax.persistence.Entity;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import cn.timer.api.bean.qyzx.QyzxEmpLogin.QyzxEmpLoginBuilder;
import cn.timer.api.dto.login.QysDto; import cn.timer.api.dto.login.QysDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -21,10 +25,12 @@ import lombok.NoArgsConstructor; ...@@ -21,10 +25,12 @@ import lombok.NoArgsConstructor;
/** /**
* @author Tang 2019-11-11 * @author Tang 2019-11-11
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder(toBuilder=true) @Builder(toBuilder=true)
@Table(name="qyzx_feeback_accessory")
@ApiModel("反馈附件表") @ApiModel("反馈附件表")
public class QyzxFeebackAccessory extends Model<QyzxFeebackAccessory> { public class QyzxFeebackAccessory extends Model<QyzxFeebackAccessory> {
......
/**
* <p>Title: QyzxInvoiceData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
package cn.timer.api.bean.qyzx;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>Title: QyzxInvoiceData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
@Entity
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name="qyzx_invoice_data")
@ApiModel("发票资料表")
public class QyzxInvoiceUsual extends Model<QyzxInvoiceUsual>{
private static final long serialVersionUID = 2890357568571822258L;
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="主键",example="1")
private Integer id;
@ApiModelProperty(value="发票抬头",example="广东优领")
private String invoiceTitle;
@ApiModelProperty(value="税号",example="915345164")
private String dutyParagraph;
@ApiModelProperty(value="公司地址",example="广东省")
private String companyAddress;
@ApiModelProperty(value="电话号码",example="18152456464")
private String companyPhone;
@ApiModelProperty(value="开户行",example="中信银行广州白云支行")
private String bankName;
@ApiModelProperty(value="银行账号",example="8110901011900785029")
private String bankAccount;
@ApiModelProperty(value="发票类型",example="0-普通 1-专用")
private Integer invoiceType;
@ApiModelProperty(value="收货人",example="翁🐻")
private String consignee;
@ApiModelProperty(value="收货人电话",example="13144400255")
private String consigneePhone;
@ApiModelProperty(value="邮箱",example="13144400255@163.com")
private String email;
@ApiModelProperty(value="收货地址",example="白云东平伯曼酒店")
private String shippingAddress;
@ApiModelProperty(value="邮编",example="510080")
private String zipCode;
@ApiModelProperty(value="企业",example="117")
private Integer orgCode;
@ApiModelProperty(value="模块状态",example="默认0-开启,1-关闭")
private Integer status;
@ApiModelProperty(value="是否删除",example="默认0-未删除,1-删除")
private Integer isDelete;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value="创建时间 ",example="")
private Date createTime;
@ApiModelProperty(value="创建人 ",example="")
private Integer createUser;
@TableField(fill = FieldFill.UPDATE)
@ApiModelProperty(value="修改时间 ",example="")
private Date modifyTime;
@ApiModelProperty(value="修改人 ",example="")
private Integer modifyUser;
}
package cn.timer.api.bean.qyzx; package cn.timer.api.bean.qyzx;
import java.util.Date; import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -16,10 +19,12 @@ import lombok.NoArgsConstructor; ...@@ -16,10 +19,12 @@ import lombok.NoArgsConstructor;
/** /**
* @author Tang 2019-11-11 * @author Tang 2019-11-11
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Builder(toBuilder=true) @Builder(toBuilder=true)
@Table(name="qyzx_suggestion_feeback")
@ApiModel("意见反馈表") @ApiModel("意见反馈表")
public class QyzxSuggestionFeeback extends Model<QyzxSuggestionFeeback> { public class QyzxSuggestionFeeback extends Model<QyzxSuggestionFeeback> {
......
package cn.timer.api.bean.spmk; package cn.timer.api.bean.spmk;
import java.util.Date; import java.util.Date;
import java.util.List;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
...@@ -57,4 +58,6 @@ public class SpmkApproveExecuteRecord extends Model<SpmkApproveExecuteRecord> { ...@@ -57,4 +58,6 @@ public class SpmkApproveExecuteRecord extends Model<SpmkApproveExecuteRecord> {
@ApiModelProperty(value = "创建时间 ", example = "创建时间") @ApiModelProperty(value = "创建时间 ", example = "创建时间")
private Date createTime; private Date createTime;
private List<SpmkExecutor> spmkExecutors;
} }
\ No newline at end of file
...@@ -64,7 +64,7 @@ public class SpmkApproveSummary extends Model<SpmkApproveSummary> { ...@@ -64,7 +64,7 @@ public class SpmkApproveSummary extends Model<SpmkApproveSummary> {
private String approveName; private String approveName;
@TableField(fill = FieldFill.INSERT) @TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "状态 0审批中 1审批撤销 2审批拒绝 3审批通过/审批完成", example = "101") @ApiModelProperty(value = "状态 0审批中 1审批撤销 2审批通过/审批完成 3审批拒绝", example = "101")
private Integer sts; private Integer sts;
@ApiModelProperty(value = "当前审批人 ", example = "当前审批人") @ApiModelProperty(value = "当前审批人 ", example = "当前审批人")
......
...@@ -18,7 +18,11 @@ public class MyMetaObjectHandler implements MetaObjectHandler { ...@@ -18,7 +18,11 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
log.info("start insert fill ...."); log.info("start insert fill ....");
Date date = new Date(); Date date = new Date();
this.strictInsertFill(metaObject, "createTime", Date.class, date); // 起始版本 3.3.0(推荐使用) this.strictInsertFill(metaObject, "createTime", Date.class, date); // 起始版本 3.3.0(推荐使用)
this.strictInsertFill(metaObject, "sts", Integer.class, 0); // 起始版本 3.3.0(推荐使用) this.strictInsertFill(metaObject, "lrsjTime", Date.class, date);
this.strictInsertFill(metaObject, "regTime", Date.class, date);
this.strictInsertFill(metaObject, "registerTime", Date.class, date);
this.strictInsertFill(metaObject, "addtime", Date.class, date);
this.strictInsertFill(metaObject, "sts", int.class, 0); // 起始版本 3.3.0(推荐使用)
} }
...@@ -27,6 +31,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler { ...@@ -27,6 +31,7 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
log.info("start update fill ...."); log.info("start update fill ....");
Date date = new Date(); Date date = new Date();
this.strictUpdateFill(metaObject, "updateTime", Date.class, date); // 起始版本 3.3.0(推荐使用) this.strictUpdateFill(metaObject, "updateTime", Date.class, date); // 起始版本 3.3.0(推荐使用)
this.strictUpdateFill(metaObject, "modifyTime", Date.class, date);
} }
} }
...@@ -49,9 +49,10 @@ public enum CommonEnum { ...@@ -49,9 +49,10 @@ public enum CommonEnum {
/** /**
* 企业认证状态 * 企业认证状态
*/ */
AUTH_TYPE_UNDEREVIEW(1,"审核中"), AUTH_TYPE_NOHADREVIEW(0,"未认证"),
AUTH_TYPE_FAILURE(2,"审核失败"), AUTH_TYPE_UNDEREVIEW(1,"认证中"),
AUTH_TYPE_SUCCESS(3,"审核成功"), AUTH_TYPE_SUCCESS(2,"认证成功"),
AUTH_TYPE_FAILURE(3,"认证失败"),
/** /**
......
...@@ -40,7 +40,9 @@ public enum Regular { ...@@ -40,7 +40,9 @@ public enum Regular {
* 强密码 * 强密码
*/ */
SHPW("SHPW","^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$"), SHPW("SHPW","^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$"),
//纯汉字输入 /**
* 纯汉字输入
*/
CHINESE("CHINESE","[\\u4E00-\\u9FA5]*"), CHINESE("CHINESE","[\\u4E00-\\u9FA5]*"),
/** /**
* 邮箱 * 邮箱
......
...@@ -28,6 +28,7 @@ import cn.hutool.core.util.StrUtil; ...@@ -28,6 +28,7 @@ import cn.hutool.core.util.StrUtil;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso; import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin; import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.qyzx.QyzxEntInfoM; import cn.timer.api.bean.qyzx.QyzxEntInfoM;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.zzgl.ZzglAuth; import cn.timer.api.bean.zzgl.ZzglAuth;
import cn.timer.api.bean.zzgl.ZzglBmgwM; import cn.timer.api.bean.zzgl.ZzglBmgwM;
......
...@@ -36,6 +36,7 @@ import cn.timer.api.bean.dzht.DzhtAssoHtwj; ...@@ -36,6 +36,7 @@ import cn.timer.api.bean.dzht.DzhtAssoHtwj;
import cn.timer.api.bean.dzht.DzhtAssoQyrz; import cn.timer.api.bean.dzht.DzhtAssoQyrz;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso; import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEntInfoM; import cn.timer.api.bean.qyzx.QyzxEntInfoM;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.annotation.UserBean;
......
...@@ -34,6 +34,7 @@ import cn.timer.api.bean.qyzx.QyzxEmpLogin; ...@@ -34,6 +34,7 @@ import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.qyzx.QyzxEntAuth; import cn.timer.api.bean.qyzx.QyzxEntAuth;
import cn.timer.api.bean.qyzx.QyzxEntInfoM; import cn.timer.api.bean.qyzx.QyzxEntInfoM;
import cn.timer.api.bean.qyzx.QyzxFeebackAccessory; import cn.timer.api.bean.qyzx.QyzxFeebackAccessory;
import cn.timer.api.bean.qyzx.QyzxInvoiceUsual;
import cn.timer.api.bean.qyzx.QyzxLogBuy; import cn.timer.api.bean.qyzx.QyzxLogBuy;
import cn.timer.api.bean.qyzx.QyzxPayServe; import cn.timer.api.bean.qyzx.QyzxPayServe;
import cn.timer.api.bean.qyzx.QyzxSuggestionFeeback; import cn.timer.api.bean.qyzx.QyzxSuggestionFeeback;
...@@ -48,6 +49,7 @@ import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper; ...@@ -48,6 +49,7 @@ import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.qyzx.QyzxEntAuthMapper; import cn.timer.api.dao.qyzx.QyzxEntAuthMapper;
import cn.timer.api.dao.qyzx.QyzxEntInfoMMapper; import cn.timer.api.dao.qyzx.QyzxEntInfoMMapper;
import cn.timer.api.dao.qyzx.QyzxFeebackAccessoryMapper; import cn.timer.api.dao.qyzx.QyzxFeebackAccessoryMapper;
import cn.timer.api.dao.qyzx.QyzxInvoiceUsualMapper;
import cn.timer.api.dao.qyzx.QyzxLogBuyMapper; import cn.timer.api.dao.qyzx.QyzxLogBuyMapper;
import cn.timer.api.dao.qyzx.QyzxPayServeMapper; import cn.timer.api.dao.qyzx.QyzxPayServeMapper;
import cn.timer.api.dao.qyzx.QyzxSuggestionFeebackMapper; import cn.timer.api.dao.qyzx.QyzxSuggestionFeebackMapper;
...@@ -104,6 +106,9 @@ public class QyzxController { ...@@ -104,6 +106,9 @@ public class QyzxController {
@Autowired @Autowired
private QyzxFeebackAccessoryMapper qyzxFeebackAccessoryMapper; private QyzxFeebackAccessoryMapper qyzxFeebackAccessoryMapper;
@Autowired
private QyzxInvoiceUsualMapper qyzxInvoiceUsualMapper;
/** /**
* 获取企业信息 * 获取企业信息
...@@ -119,6 +124,23 @@ public class QyzxController { ...@@ -119,6 +124,23 @@ public class QyzxController {
.eq(orgCode != null, QyzxEntInfoM::getId, orgCode).one(); .eq(orgCode != null, QyzxEntInfoM::getId, orgCode).one();
return ResultUtil.data(qyzxEntInfoM, "获取企业信息成功"); return ResultUtil.data(qyzxEntInfoM, "获取企业信息成功");
} }
/**
* 添加/修改企业信息
*
* @param
* @return
*/
@PostMapping(value = "/ent")
@ApiOperation(value = "添加/修改企业信息", httpMethod = "POST", notes = "接口发布说明")
public Result<QyzxEntInfoM> addent(@CurrentUser UserBean userBean, @RequestBody QyzxEntInfoM qyzxEntInfoM) {
qyzxEntInfoM.setId(userBean.getOrgCode());
QyzxEntInfoM q = new LambdaQueryChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper).eq(QyzxEntInfoM::getId, userBean.getOrgCode()).one();
qyzxEntInfoM.setRegisterTime(q.getRegisterTime());
qyzxEntInfoM.insertOrUpdate();
return ResultUtil.data(qyzxEntInfoM, "添加/修改企业");
}
/** /**
* 企业认证-申请 * 企业认证-申请
...@@ -128,14 +150,13 @@ public class QyzxController { ...@@ -128,14 +150,13 @@ public class QyzxController {
*/ */
@PostMapping(value = "/entauth") @PostMapping(value = "/entauth")
@ApiOperation(value = "企业认证", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "企业认证", httpMethod = "POST", notes = "接口发布说明")
public Result<QyzxEntAuth> entauth(@CurrentUser UserBean userBean, @RequestBody QyzxEntAuth qyzxEntAuth) { public Result<QyzxEntInfoM> entauth(@CurrentUser UserBean userBean, @RequestBody QyzxEntInfoM qyzxEntInfoM) {
// 设置审核状态 // 设置审核状态
qyzxEntAuth.setAuthType(CommonEnum.AUTH_TYPE_UNDEREVIEW.getType()); qyzxEntInfoM.setAttestStatus(CommonEnum.AUTH_TYPE_UNDEREVIEW.getType());
qyzxEntAuth.setId(userBean.getOrgCode()); qyzxEntInfoM.setId(userBean.getOrgCode());
// 插入数据 qyzxEntInfoM.updateById();
qyzxEntAuth.insert();
// } // }
return ResultUtil.data(qyzxEntAuth, "申请企业认证中"); return ResultUtil.data(qyzxEntInfoM, "申请企业认证中");
} }
/** /**
...@@ -144,44 +165,72 @@ public class QyzxController { ...@@ -144,44 +165,72 @@ public class QyzxController {
* @param qyzxEntAuth * @param qyzxEntAuth
* @return * @return
*/ */
@PostMapping(value = "/entauthcheck") /*
@ApiOperation(value = "企业认证-审核-通过/未通过", httpMethod = "POST", notes = "接口发布说明") * @PostMapping(value = "/entauthcheck")
public Result<QyzxEntAuth> entauthcheck1(@CurrentUser UserBean userBean, @RequestBody QyzxEntAuth qyzxEntAuth) { *
Integer id = qyzxEntAuth.getId(); * @ApiOperation(value = "企业认证-审核-通过/未通过", httpMethod = "POST", notes =
Integer authType = qyzxEntAuth.getAuthType(); * "接口发布说明") public Result<QyzxEntAuth> entauthcheck1(@CurrentUser UserBean
if (id == null || authType == null) { * userBean, @RequestBody QyzxEntAuth qyzxEntAuth) { Integer id =
return ResultUtil.error("参数缺少/异常"); * qyzxEntAuth.getId(); Integer authType = qyzxEntAuth.getAuthType(); if (id ==
} * null || authType == null) { return ResultUtil.error("参数缺少/异常"); } QyzxEntAuth
QyzxEntAuth entAuth = QyzxEntAuth.builder().id(id).authType(authType).build(); * entAuth = QyzxEntAuth.builder().id(id).authType(authType).build(); boolean b
boolean b = entAuth.updateById(); * = entAuth.updateById(); if (b) { return ResultUtil.data(qyzxEntAuth,
if (b) { * "企业认证-审批成功"); } else { return ResultUtil.error("企业认证-审批失败"); } }
return ResultUtil.data(qyzxEntAuth, "企业认证-审批成功"); */
} else {
return ResultUtil.error("企业认证-审批失败");
}
}
/** /**
* 运营管理 企业认证-审核-通过/不通过(weng) * 运营管理 企业认证-审核-通过/不通过(weng)
* *
* @param qyzxEntAuth * @param qyzxEntAuth
* @return * @return
*/ */
@PostMapping(value = "/entauthpass") @PostMapping(value = "/entauthpass")
@ApiOperation(value = "企业认证-审核-通过", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "企业认证-审核-通过", httpMethod = "POST", notes = "接口发布说明")
public Result<String> entauthpass(@RequestBody EntauthDto entauthDto) {// 2未通过,3通过 public Result<String> entauthpass(@RequestBody EntauthDto entauthDto) {//2未通过,3通过
String msg = "企业认证不通过"; String msg = "企业未认证";
Integer type = entauthDto.getAuthType(); Integer type = entauthDto.getAuthType();
if (type != 2) { if(type == CommonEnum.AUTH_TYPE_SUCCESS.getType()) {
type = 3; msg = "企业认证成功";
msg = "企业认证成功"; }
if(type == CommonEnum.AUTH_TYPE_FAILURE.getType()) {
msg = "企业认证失败";
} }
boolean b = new LambdaUpdateChainWrapper<QyzxEntAuth>(qyzxEntAuthMapper) boolean b = new LambdaUpdateChainWrapper<QyzxEntInfoM>(qyzxEntInfoMMapper).eq(QyzxEntInfoM::getId, entauthDto.getOrgCode())
.eq(QyzxEntAuth::getId, entauthDto.getOrgCode()).set(QyzxEntAuth::getAuthType, type).update(); .set(QyzxEntInfoM::getAttestStatus, type).update();
if (b) { if (b){
return ResultUtil.data(msg); return ResultUtil.data(msg);
}
return ResultUtil.data("企业认证流程有误");
}
/**
* 新增/编辑常用企业开票资料
*
* @param QyzxInvoiceUsual
* @return
*/
@PostMapping(value = "/invoiceusual")
@ApiOperation(value = "新增/编辑常用企业开票资料", httpMethod = "POST", notes = "接口发布说明")
public Result<QyzxInvoiceUsual> invoiceusual(@CurrentUser UserBean userBean,@RequestBody QyzxInvoiceUsual qyzxInvoiceUsual) {
qyzxInvoiceUsual.setOrgCode(userBean.getOrgCode());
qyzxInvoiceUsual.setModifyUser(userBean.getEmpNum());
boolean tof = qyzxInvoiceUsual.insertOrUpdate();
if (tof) {
return ResultUtil.data(qyzxInvoiceUsual, "常用企业开票资料已修改");
} }
return ResultUtil.error("企业认证未通过"); return ResultUtil.error("开票资料修改无效");
}
/**
* 显示常用的企业开票资料
*
* @param QyzxInvoiceUsual
* @return
*/
@SuppressWarnings("deprecation")
@GetMapping(value = "/invoiceusual")
@ApiOperation(value = "显示常用的企业开票资料", httpMethod = "GET", notes = "接口发布说明")
public Result<QyzxInvoiceUsual> invoiceusual(@CurrentUser UserBean userBean) {
QyzxInvoiceUsual one = new LambdaQueryChainWrapper<QyzxInvoiceUsual>(qyzxInvoiceUsualMapper).eq(QyzxInvoiceUsual::getOrgCode, userBean.getOrgCode()).one();
return ResultUtil.data(one, "企业超管头像和电话号码");
} }
/** /**
...@@ -447,21 +496,25 @@ public class QyzxController { ...@@ -447,21 +496,25 @@ public class QyzxController {
* 意见反馈 * 意见反馈
*/ */
@PostMapping(value = "/feedback") @PostMapping(value = "/feedback")
@ApiOperation(value = "意见反馈)", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "意见反馈", httpMethod = "POST", notes = "接口发布说明")
public Result<QyzxLogBuy> feedback(@CurrentUser UserBean userBean, @RequestParam(required = false) String moudle, public Result<QyzxSuggestionFeeback> feedback(@CurrentUser UserBean userBean,
@RequestParam(required = false) String opinionText,@Param("files") List<MultipartFile> files) { @RequestParam(required = false) String opinionText,
@RequestParam(required = false) String moudle,
@Param("files") List<MultipartFile> files) {
String url = null; String url = null;
List<String> list = new ArrayList<String>(); List<String> list = new ArrayList<String>();
for (MultipartFile file : files) { if (files!=null) {
String path = "8timer2.0/" + userBean.getOrgCode() + "/" + moudle + "/" + file.getOriginalFilename(); for (MultipartFile file : files) {
if (file == null || file.getSize() <= 0) { String path = "8timer2.0/" + userBean.getOrgCode() + "/" + moudle + "/" + file.getOriginalFilename();
return ResultUtil.error("上传的文件为空,请重新选择!"); if (file == null || file.getSize() <= 0) {
} else { return ResultUtil.error("上传的文件为空,请重新选择!");
try { } else {
url = OSSUtil.uploadFile(path, file.getInputStream()); try {
list.add(url); url = OSSUtil.uploadFile(path, file.getInputStream());
} catch (IOException e) { list.add(url);
e.printStackTrace(); } catch (IOException e) {
e.printStackTrace();
}
} }
} }
} }
...@@ -588,26 +641,7 @@ public class QyzxController { ...@@ -588,26 +641,7 @@ public class QyzxController {
return ResultUtil.data(page, logBuyDto, "查询成功"); return ResultUtil.data(page, logBuyDto, "查询成功");
} }
/**
* 添加/修改企业
*
* @param
* @return
*/
@PostMapping(value = "/ent")
@ApiOperation(value = "添加/修改企业", httpMethod = "POST", notes = "接口发布说明")
public Result<QyzxEntInfoM> addent(@CurrentUser UserBean userBean, @RequestBody QyzxEntInfoM qyzxEntInfoM) {
qyzxEntInfoM.insertOrUpdate();
Integer count = qyzxEmpEntAssoMapper.selectCount(new QueryWrapper<QyzxEmpEntAsso>()
.eq("emp_num", userBean.getEmpNum()).eq("org_code", qyzxEntInfoM.getId()));
if (count == null || count <= 0)
QyzxEmpEntAsso.builder().empNum(userBean.getEmpNum()).orgCode(qyzxEntInfoM.getId()).userType(1).status(1)
.build().insert();
// 添加关联表
QyzxEmpEntAsso.builder().empNum(userBean.getEmpNum()).orgCode(qyzxEntInfoM.getId()).userType(1).build()
.insertOrUpdate();
return ResultUtil.data(qyzxEntInfoM, "添加/修改企业");
}
/** /**
* 账号管理 获取账号 * 账号管理 获取账号
......
...@@ -60,7 +60,9 @@ import cn.timer.api.dao.spmk.SpmkExecutorMapper; ...@@ -60,7 +60,9 @@ import cn.timer.api.dao.spmk.SpmkExecutorMapper;
import cn.timer.api.dao.spmk.SpmkInitiatorConfigMapper; import cn.timer.api.dao.spmk.SpmkInitiatorConfigMapper;
import cn.timer.api.dao.spmk.SpmkSpglMapper; import cn.timer.api.dao.spmk.SpmkSpglMapper;
import cn.timer.api.dao.spmk.SpmkSpzMapper; import cn.timer.api.dao.spmk.SpmkSpzMapper;
import cn.timer.api.dto.spmk.ApprovingDto;
import cn.timer.api.dto.spmk.FlowChildren; import cn.timer.api.dto.spmk.FlowChildren;
import cn.timer.api.dto.spmk.FromData;
import cn.timer.api.dto.spmk.Router; import cn.timer.api.dto.spmk.Router;
import cn.timer.api.dto.spmk.Spmk; import cn.timer.api.dto.spmk.Spmk;
import cn.timer.api.dto.spmk.SpmkApprovalTemplateDto; import cn.timer.api.dto.spmk.SpmkApprovalTemplateDto;
...@@ -377,18 +379,6 @@ public class SpmkServiceImpl { ...@@ -377,18 +379,6 @@ public class SpmkServiceImpl {
} }
/** /**
* 图标列表
*/
@GetMapping(value = "/icon")
@ApiOperation(value = "图标列表", httpMethod = "GET", notes = "接口发布说明")
public Result<List<SpmkIcon>> selectListIcon(@CurrentUser UserBean userBean){
List<SpmkIcon> spmkIcons = SpmkIcon.builder().build().selectAll();
return ResultUtil.data(spmkIcons,"获取图标列表成功");
}
/**
* 假期规则列表 * 假期规则列表
*/ */
@GetMapping(value = "/jqgz") @GetMapping(value = "/jqgz")
...@@ -475,7 +465,18 @@ public class SpmkServiceImpl { ...@@ -475,7 +465,18 @@ public class SpmkServiceImpl {
@Autowired @Autowired
private SpmkCustomApprovalMapper spmkCustomApprovalMapper; private SpmkCustomApprovalMapper spmkCustomApprovalMapper;
/**
* 图标列表
*/
@GetMapping(value = "/icon")
@ApiOperation(value = "99.图标列表", httpMethod = "GET", notes = "接口发布说明")
@ApiOperationSupport(order = 99)
public Result<List<SpmkIcon>> selectListIcon(@CurrentUser UserBean userBean){
List<SpmkIcon> spmkIcons = SpmkIcon.builder().build().selectAll();
return ResultUtil.data(spmkIcons,"获取图标列表成功");
}
//TODO 审批模板组 //TODO 审批模板组
...@@ -488,7 +489,7 @@ public class SpmkServiceImpl { ...@@ -488,7 +489,7 @@ public class SpmkServiceImpl {
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
public Result<Object> saveAtg(@RequestBody SpmkApprovalTemplateG spmkApprovalTemplateG){ public Result<Object> saveAtg(@RequestBody SpmkApprovalTemplateG spmkApprovalTemplateG){
return spmkApprovalTemplateG.insertOrUpdate() ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!"); return spmkApprovalTemplateG.insertOrUpdate() ? ResultUtil.data(spmkApprovalTemplateG, "操作成功!") : ResultUtil.error("操作失败!");
} }
...@@ -550,7 +551,13 @@ public class SpmkServiceImpl { ...@@ -550,7 +551,13 @@ public class SpmkServiceImpl {
at.setFroms(ObjectUtil.serialize(spmkApprovalTemplateDto.getFroms())); at.setFroms(ObjectUtil.serialize(spmkApprovalTemplateDto.getFroms()));
at.setRouter(ObjectUtil.serialize(spmkApprovalTemplateDto.getRouter())); at.setRouter(ObjectUtil.serialize(spmkApprovalTemplateDto.getRouter()));
return at.insertOrUpdate() ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!-2"); if (!at.insertOrUpdate())
return ResultUtil.error("操作失败!-2");
// 清空前端不需要的字段再返回,节省流量
at.setFroms(null);
at.setRouter(null);
return ResultUtil.data(at, "操作成功!");
} }
...@@ -601,7 +608,7 @@ public class SpmkServiceImpl { ...@@ -601,7 +608,7 @@ public class SpmkServiceImpl {
@ApiOperationSupport(order = 9) @ApiOperationSupport(order = 9)
public Result<Object> saveAg(@CurrentUser UserBean userBean,@RequestBody SpmkApprovalG spmkApprovalG){ public Result<Object> saveAg(@CurrentUser UserBean userBean,@RequestBody SpmkApprovalG spmkApprovalG){
spmkApprovalG.setOrgCode(userBean.getOrgCode()); spmkApprovalG.setOrgCode(userBean.getOrgCode());
return spmkApprovalG.insertOrUpdate() ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!"); return spmkApprovalG.insertOrUpdate() ? ResultUtil.data(spmkApprovalG, "操作成功!") : ResultUtil.error("操作失败!");
} }
...@@ -639,7 +646,6 @@ public class SpmkServiceImpl { ...@@ -639,7 +646,6 @@ public class SpmkServiceImpl {
@ApiOperation(value = "12.排序-审批组", httpMethod = "PUT", notes = "排序-审批组") @ApiOperation(value = "12.排序-审批组", httpMethod = "PUT", notes = "排序-审批组")
@ApiOperationSupport(order = 12) @ApiOperationSupport(order = 12)
public Result<Object> ranksAg(@RequestBody List<SpmkApprovalG> list){ public Result<Object> ranksAg(@RequestBody List<SpmkApprovalG> list){
return spmkApprovalGMapper.updateListRandsById(list) ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!"); return spmkApprovalGMapper.updateListRandsById(list) ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!");
} }
...@@ -670,9 +676,18 @@ public class SpmkServiceImpl { ...@@ -670,9 +676,18 @@ public class SpmkServiceImpl {
Console.log("自定义审批id: " + id); Console.log("自定义审批id: " + id);
List<SpmkInitiatorConfig> listIc = spmkCustomApprovalDto.getInitiatorConfigs(); List<SpmkInitiatorConfig> listIc = spmkCustomApprovalDto.getInitiatorConfigs();
for (int i = 0, n = listIc.size(); i < n; i++) { if (listIc != null && listIc.size() > 0) {
listIc.get(i).setCustomApprovalId(id); for (int i = 0, n = listIc.size(); i < n; i++) {
listIc.get(i).setCustomApprovalId(id);
}
if (!spmkInitiatorConfigMapper.insertList(listIc)) {
// 手动抛出异常,事务回滚
throw new Exception();
}
} }
SpmkInitiatorConfig.builder().build().delete(new QueryWrapper<SpmkInitiatorConfig>().lambda().eq(SpmkInitiatorConfig::getCustomApprovalId, id));
// //
/** /**
...@@ -681,27 +696,30 @@ public class SpmkServiceImpl { ...@@ -681,27 +696,30 @@ public class SpmkServiceImpl {
* 2.新增 最新的 SpmkInitiatorConfig-审批发起人配置, * 2.新增 最新的 SpmkInitiatorConfig-审批发起人配置,
* 3.新增 SpmkCustomApproval-自定义审批 * 3.新增 SpmkCustomApproval-自定义审批
*/ */
if (!SpmkInitiatorConfig.builder().build().delete(new QueryWrapper<SpmkInitiatorConfig>().lambda().eq(SpmkInitiatorConfig::getCustomApprovalId, id)) ||
!spmkInitiatorConfigMapper.insertList(listIc)) { // 清空前端不需要的字段再返回,节省流量
// 手动抛出异常,事务回滚 ca.setFroms(null);
throw new Exception(); ca.setRouter(null);
} return ResultUtil.data(ca, "操作成功!");
return ResultUtil.success("操作成功!");
} }
/** /**
* 删除-自定义审批 * 删除-自定义审批
* @throws Exception
*/ */
@DeleteMapping(value = "/delete_custom_approval/{id}") @DeleteMapping(value = "/delete_custom_approval/{id}")
@ApiOperation(value = "14.删除-自定义审批", httpMethod = "DELETE", notes = "删除-自定义审批") @ApiOperation(value = "14.删除-自定义审批", httpMethod = "DELETE", notes = "删除-自定义审批")
@Transactional(rollbackFor = Exception.class)
@ApiOperationSupport(order = 14) @ApiOperationSupport(order = 14)
public Result<Object> deleteCaById(@PathVariable int id){ public Result<Object> deleteCaById(@PathVariable int id) throws Exception{
SpmkInitiatorConfig.builder().build().delete(new QueryWrapper<SpmkInitiatorConfig>().lambda().eq(SpmkInitiatorConfig::getCustomApprovalId, id));
return SpmkCustomApproval.builder().id(id).build().deleteById() &&
SpmkInitiatorConfig.builder().build().delete(new QueryWrapper<SpmkInitiatorConfig>().lambda().eq(SpmkInitiatorConfig::getCustomApprovalId, id)) ? if (!SpmkCustomApproval.builder().id(id).build().deleteById()) {
ResultUtil.success("操作成功!") : ResultUtil.error("没有找到该对象"); throw new Exception();
}
return ResultUtil.success("操作成功!");
} }
...@@ -712,8 +730,14 @@ public class SpmkServiceImpl { ...@@ -712,8 +730,14 @@ public class SpmkServiceImpl {
@ApiOperation(value = "15.id查询-自定义审批", httpMethod = "GET", notes = "id查询-自定义审批") @ApiOperation(value = "15.id查询-自定义审批", httpMethod = "GET", notes = "id查询-自定义审批")
@ApiOperationSupport(order = 15) @ApiOperationSupport(order = 15)
public Result<Object> selectCaById(@PathVariable int id){ public Result<Object> selectCaById(@PathVariable int id){
SpmkCustomApproval ca = SpmkCustomApproval.builder().id(id).build().selectById();
return ResultUtil.data(SpmkCustomApproval.builder().id(id).build().selectById(),"操作成功!"); SpmkCustomApprovalDto caD = SpmkCustomApprovalDto.builder()
.froms((List<JSONObject>)ObjectUtil.unserialize(ca.getFroms()))
.router(ObjectUtil.unserialize(ca.getRouter()))
.build();
BeanUtil.copyProperties(ca, caD,"froms","router");
return ResultUtil.data(caD,"操作成功!");
} }
...@@ -756,14 +780,18 @@ public class SpmkServiceImpl { ...@@ -756,14 +780,18 @@ public class SpmkServiceImpl {
List<Router> listRouter = new ArrayList<Router>(); List<Router> listRouter = new ArrayList<Router>();
listRouter.add(spmkApproveSummaryDto.getRouter()); listRouter.add(spmkApproveSummaryDto.getRouter());
JSONObject jSONObject = spmkApproveSummaryDto.getRequestData().put("orgCode", userBean.getOrgCode()); JSONObject jSONObject = spmkApproveSummaryDto.getRequestData()
.put("orgCode", FromData.builder().value(String.valueOf(userBean.getOrgCode())).build())
.put("initiator", FromData.builder().value(spmkApproveSummaryDto.getInitiator()).build());
RouterUtils.NextNode(listRouter, jSONObject, ISFIRST); RouterUtils.NextNode(listRouter, jSONObject, ISFIRST);
List<FlowChildren> listFlowChildren = new ArrayList<FlowChildren>(); List<FlowChildren> listFlowChildren = new ArrayList<FlowChildren>();
RouterUtils.getIsFlowChildren(listRouter,listFlowChildren); RouterUtils.getIsFlowChildren(listRouter,listFlowChildren);
System.out.println(jSONObject);
System.out.println(listRouter);
System.out.println(listFlowChildren); // System.out.println(jSONObject);
// System.out.println(listRouter);
// System.out.println(listFlowChildren);
// 当前审批人 // 当前审批人
String currentApprover = jSONObject.getStr("current_approver"); String currentApprover = jSONObject.getStr("current_approver");
...@@ -775,18 +803,22 @@ public class SpmkServiceImpl { ...@@ -775,18 +803,22 @@ public class SpmkServiceImpl {
.title(spmkApproveSummaryDto.getTitle()) .title(spmkApproveSummaryDto.getTitle())
.initiator(spmkApproveSummaryDto.getInitiator()) .initiator(spmkApproveSummaryDto.getInitiator())
.approveName(spmkApproveSummaryDto.getApproveName()) .approveName(spmkApproveSummaryDto.getApproveName())
.sts(0)
.currentApprover(currentApprover).build(); .currentApprover(currentApprover).build();
if (!as.insert()) { if (!as.insert()) {
return ResultUtil.error("操作失败!"); return ResultUtil.error("操作失败!");
} }
// 插入记录
RouterUtils.insertogExecuteRecord(listFlowChildren, as.getId());
// 封装 审批详情 // 封装 审批详情
SpmkApproveDetail ad = SpmkApproveDetail.builder().build(); SpmkApproveDetail ad = SpmkApproveDetail.builder().build();
ad.setApproveSummaryId(as.getId()); ad.setApproveSummaryId(as.getId());
ad.setName(spmkApproveSummaryDto.getTitle()); ad.setName(spmkApproveSummaryDto.getTitle());
ad.setRequestData(ObjectUtil.serialize(spmkApproveSummaryDto.getRequestData())); ad.setRequestData(ObjectUtil.serialize(spmkApproveSummaryDto.getRequestData()));
ad.setFroms(ObjectUtil.serialize(spmkApproveSummaryDto.getFroms())); ad.setFroms(ObjectUtil.serialize((List<JSONObject>)spmkApproveSummaryDto.getFroms()));
ad.setRouter(ObjectUtil.serialize(listRouter.get(0))); ad.setRouter(ObjectUtil.serialize(listRouter.get(0)));
ad.setFlowChildren(ObjectUtil.serialize(listFlowChildren)); ad.setFlowChildren(ObjectUtil.serialize(listFlowChildren));
...@@ -837,6 +869,41 @@ public class SpmkServiceImpl { ...@@ -837,6 +869,41 @@ public class SpmkServiceImpl {
return ResultUtil.data(adD, "操作成功!"); return ResultUtil.data(adD, "操作成功!");
} }
//TODO 审批人审批
/**
* 审批人审批
*/
@PostMapping(value = "/approving")
@ApiOperation(value = "20.审批人审批", httpMethod = "POST", notes = "审批人审批")
@ApiOperationSupport(order = 19)
public Result<Object> approving(@RequestBody ApprovingDto approvingDto) {
SpmkApproveDetail ad = SpmkApproveDetail.builder().build()
.selectOne(new QueryWrapper<SpmkApproveDetail>()
.lambda()
.eq(SpmkApproveDetail::getApproveSummaryId, approvingDto.getAsId()));
SpmkApproveSummary aSummary = spmkApproveSummaryMapper.selectById(approvingDto.getAsId());
if (aSummary.getSts() == 0) {
List<FlowChildren> listFlowChildren = (List<FlowChildren>)ObjectUtil.unserialize(ad.getFlowChildren());
RouterUtils.approving(
listFlowChildren,
approvingDto.getAsId(),
approvingDto.getExecuteRecordId(),
approvingDto.getExecutorId(),
approvingDto.getOpinion(),
approvingDto.getSts());
System.out.println(listFlowChildren);
// 更新 flowChildren
SpmkApproveDetail.builder().id(ad.getId()).froms(ObjectUtil.serialize(listFlowChildren)).build().updateById();
}else {
return ResultUtil.error("该审批已结束!");
}
return ResultUtil.data(null, "操作成功!");
}
......
...@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaU ...@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.impl.LambdaU
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import cn.hutool.Hutool;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.BetweenFormater.Level; import cn.hutool.core.date.BetweenFormater.Level;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
...@@ -240,15 +241,16 @@ public class YgglController { ...@@ -240,15 +241,16 @@ public class YgglController {
// 添加三张表 // 添加三张表
// 员工权限表(未定) // 员工权限表(未定)
// 员工企业关联表和员工档案,员工成长表(未定) // 员工企业关联表和员工档案,员工成长表(未定)
QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(orgCode).userType(CommonEnum.U_TYPE_EMP.getType()).status(1).build().insert();// usertype2普通员工 status1正常 QyzxEmpEntAsso.builder().empNum(qyzxEmpLogin.getId()).orgCode(orgCode)
.userType(CommonEnum.U_TYPE_EMP.getType()).status(1).build().insert();// usertype2普通员工 status1正常
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum) YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum)
.jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(qyzxEmpLogin.getId()).orgCode(orgCode) .jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(qyzxEmpLogin.getId()).orgCode(orgCode)
.build(); .build();
ygglMainEmp.insert(); ygglMainEmp.insert();
new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper) new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
.set(addygdaDto.getBmgwId()!=null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId()) .set(addygdaDto.getBmgwId() != null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId())
.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update(); .eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update();
return ResultUtil.data(ygglMainEmp, "新添加员工档案成功!"); return ResultUtil.data(ygglMainEmp, "新添加员工档案成功!");
} else { } else {
...@@ -258,14 +260,15 @@ public class YgglController { ...@@ -258,14 +260,15 @@ public class YgglController {
if (ishad == null) { if (ishad == null) {
// 添加三张表 // 添加三张表
// 员工权限表(未定) // 员工权限表(未定)
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(2).status(1).build().insert();// usertype2普通员工 status1正常 QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(2).status(1).build().insert();// usertype2普通员工
// status1正常
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum) YgglMainEmp ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum)
.jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(login.getId()).orgCode(orgCode) .jobType(jobType).rzTime(rzTime).syq(syq).sex(sex).empNum(login.getId()).orgCode(orgCode)
.build(); .build();
ygglMainEmp.insert(); ygglMainEmp.insert();
new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper) new LambdaUpdateChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
.set(addygdaDto.getBmgwId()!=null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId()) .set(addygdaDto.getBmgwId() != null, YgglMainEmp::getBmgwId, addygdaDto.getBmgwId())
.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update(); .eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getId, ygglMainEmp.getId()).update();
return ResultUtil.data(ygglMainEmp, "添加员工档案成功!"); return ResultUtil.data(ygglMainEmp, "添加员工档案成功!");
} else { } else {
return ResultUtil.error("该手机号已被使用,请输入正确手机号"); return ResultUtil.error("该手机号已被使用,请输入正确手机号");
...@@ -403,8 +406,8 @@ public class YgglController { ...@@ -403,8 +406,8 @@ public class YgglController {
.eq("phone", e.getPhone()).eq("org_code", userBean.getOrgCode())); .eq("phone", e.getPhone()).eq("org_code", userBean.getOrgCode()));
if (ishad == null) { if (ishad == null) {
// 员工权限表(未定) // 员工权限表(未定)
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(userBean.getOrgCode()).userType(2).status(1).build() QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(userBean.getOrgCode()).userType(2).status(1)
.insert();// userType2普通员工,status1正常 .build().insert();// userType2普通员工,status1正常
YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0) YgglMainEmp emp = YgglMainEmp.builder().name(e.getName()).phone(e.getPhone()).zjType(0)
.zjNum(e.getZj()).jobType(jobType).rzTime(rzdate).updateTime(new Date()) .zjNum(e.getZj()).jobType(jobType).rzTime(rzdate).updateTime(new Date())
.updateMan(userBean.getEmpNum()).syq(syq).sex(sex).jobNum(jobNum).empNum(login.getId()) .updateMan(userBean.getEmpNum()).syq(syq).sex(sex).jobNum(jobNum).empNum(login.getId())
...@@ -1505,44 +1508,70 @@ public class YgglController { ...@@ -1505,44 +1508,70 @@ public class YgglController {
* *
* @param * @param
* @return * @return
*//*
* @PostMapping(value = "/jg")
*
* @ApiOperation(value = "展示籍贯所有省市区", httpMethod = "POST", notes = "接口发布说明")
*
* @ApiOperationSupport(order = 60) public Result<List<YgjgDto>>
* selectjgs(@CurrentUser UserBean userBean, @RequestBody YgjgDto ygjgDto) {
* Integer type = ygjgDto.getType(); Integer upId = ygjgDto.getJgid();
* List<YgjgDto> maps = new ArrayList<YgjgDto>(); if (type == 1) { // 省份
* List<YgProDto> list = new LambdaQueryChainWrapper<YgProDto>(ygProDtoMapper)
* .select(YgProDto::getId, YgProDto::getProvince,
* YgProDto::getName).orderByAsc(YgProDto::getProvince) .list(); for (YgProDto
* pro : list) { maps.add(new YgjgDto(pro.getId(), pro.getProvince(),
* pro.getName(), null)); } } if (type == 2) { // 城市 List<YgCityDto> list = new
* LambdaQueryChainWrapper<YgCityDto>(ygCityDtoMapper) .select(YgCityDto::getId,
* YgCityDto::getCity, YgCityDto::getName).eq(YgCityDto::getProvince, upId)
* .orderByAsc(YgCityDto::getProvince).orderByAsc(YgCityDto::getCity).list();
* for (YgCityDto city : list) { maps.add(new YgjgDto(city.getId(),
* city.getCity(), city.getName(), null)); } } if (type == 3) { // 地区
* List<YgAreaDto> list = new
* LambdaQueryChainWrapper<YgAreaDto>(ygAreaDtoMapper) .select(YgAreaDto::getId,
* YgAreaDto::getName).eq(YgAreaDto::getCity, upId)
* .orderByAsc(YgAreaDto::getProvince).orderByAsc(YgAreaDto::getCity).list();
* for (YgAreaDto area : list) { maps.add(new YgjgDto(area.getId(),
* area.getId(), area.getName(), null)); } } // IYgjgDto iYgjgDto =
* PunishFactory.getPunish(type); // List<String> strings =
* iYgjgDto.exePunish(); // System.out.println(strings); if (!maps.isEmpty())
* return ResultUtil.data(maps, "展示籍贯成功"); return ResultUtil.success(null); }
*/
/**
* 展示籍贯/展示所有籍贯(威力增强版)
*
* @param
* @return
*/ */
@PostMapping(value = "/jg") @PostMapping(value = "/jgshow/{jgid}")
@ApiOperation(value = "展示籍贯所有省市区", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "展示籍贯所有省市区威力增强版", httpMethod = "POST", notes = "接口发布说明")
@ApiOperationSupport(order = 60) @ApiOperationSupport(order = 388)
public Result<List<YgjgDto>> selectjgs(@CurrentUser UserBean userBean, @RequestBody YgjgDto ygjgDto) { public Result<Map<String, String>> selectjgs1(@CurrentUser UserBean userBean, @PathVariable String jgid) {
Integer type = ygjgDto.getType(); // public Result<List<YgjgDto>> selectjgs1(@CurrentUser UserBean userBean,
Integer upId = ygjgDto.getJgid(); // @RequestBody YgjgDto ygjgDto) {
List<YgjgDto> maps = new ArrayList<YgjgDto>(); Integer upId = Integer.valueOf(jgid);
if (type == 1) { // 省份 // List<YgjgDto> maps = new ArrayList<YgjgDto>();
Map<String, String> maps = new HashMap<String, String>();
if (upId == null || upId % 100 != 0) { // 省份
List<YgProDto> list = new LambdaQueryChainWrapper<YgProDto>(ygProDtoMapper) List<YgProDto> list = new LambdaQueryChainWrapper<YgProDto>(ygProDtoMapper)
.select(YgProDto::getId, YgProDto::getProvince, YgProDto::getName).orderByAsc(YgProDto::getProvince) .select(YgProDto::getId, YgProDto::getProvince, YgProDto::getName).orderByAsc(YgProDto::getProvince)
.list(); .list();
for (YgProDto pro : list) { list.forEach((item) -> maps.put((item.getId()).toString(), item.getName()));
maps.add(new YgjgDto(pro.getId(), pro.getProvince(), pro.getName(), null)); } else if (upId % 10000 == 0) {
}
}
if (type == 2) { // 城市
List<YgCityDto> list = new LambdaQueryChainWrapper<YgCityDto>(ygCityDtoMapper) List<YgCityDto> list = new LambdaQueryChainWrapper<YgCityDto>(ygCityDtoMapper)
.select(YgCityDto::getId, YgCityDto::getCity, YgCityDto::getName).eq(YgCityDto::getProvince, upId) .select(YgCityDto::getId, YgCityDto::getProvince, YgCityDto::getCity, YgCityDto::getName)
.orderByAsc(YgCityDto::getProvince).orderByAsc(YgCityDto::getCity).list(); .eq(YgCityDto::getProvince, upId).orderByAsc(YgCityDto::getProvince).orderByAsc(YgCityDto::getCity)
for (YgCityDto city : list) { .list();
maps.add(new YgjgDto(city.getId(), city.getCity(), city.getName(), null)); list.forEach((item) -> maps.put((item.getId()).toString(), item.getName()));
}
} } else if (upId % 100 == 0) {
if (type == 3) { // 地区
List<YgAreaDto> list = new LambdaQueryChainWrapper<YgAreaDto>(ygAreaDtoMapper) List<YgAreaDto> list = new LambdaQueryChainWrapper<YgAreaDto>(ygAreaDtoMapper)
.select(YgAreaDto::getId, YgAreaDto::getName).eq(YgAreaDto::getCity, upId) .select(YgAreaDto::getId, YgAreaDto::getName).eq(YgAreaDto::getCity, upId)
.orderByAsc(YgAreaDto::getProvince).orderByAsc(YgAreaDto::getCity).list(); .orderByAsc(YgAreaDto::getProvince).orderByAsc(YgAreaDto::getCity).list();
for (YgAreaDto area : list) { list.forEach((item) -> maps.put((item.getId()).toString(), item.getName()));
maps.add(new YgjgDto(area.getId(), area.getId(), area.getName(), null));
}
} }
// IYgjgDto iYgjgDto = PunishFactory.getPunish(type); return ResultUtil.data(maps, "展示籍贯成功");
// List<String> strings = iYgjgDto.exePunish();
// System.out.println(strings);
if (!maps.isEmpty())
return ResultUtil.data(maps, "展示籍贯成功");
return ResultUtil.success(null);
} }
/** /**
...@@ -1551,7 +1580,7 @@ public class YgglController { ...@@ -1551,7 +1580,7 @@ public class YgglController {
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/jgp") @PostMapping(value = "/jgprint")
@ApiOperation(value = "根据籍贯id显示籍贯城市名", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "根据籍贯id显示籍贯城市名", httpMethod = "POST", notes = "接口发布说明")
@ApiOperationSupport(order = 61) @ApiOperationSupport(order = 61)
public Result<YgjgDto> selectjg(@CurrentUser UserBean userBean, @RequestBody YgjgDto jgcity) { public Result<YgjgDto> selectjg(@CurrentUser UserBean userBean, @RequestBody YgjgDto jgcity) {
...@@ -1672,6 +1701,7 @@ public class YgglController { ...@@ -1672,6 +1701,7 @@ public class YgglController {
/** /**
* 员工信息统计图 * 员工信息统计图
*
* @return 成功信息(weng) * @return 成功信息(weng)
*/ */
@GetMapping("/Cartogram") @GetMapping("/Cartogram")
...@@ -1689,51 +1719,55 @@ public class YgglController { ...@@ -1689,51 +1719,55 @@ public class YgglController {
* (bean.getWorkage() == null) { bean.setWorkage(-1); } return true; * (bean.getWorkage() == null) { bean.setWorkage(-1); } return true;
* }).collect(Collectors.toList()); * }).collect(Collectors.toList());
*/ */
Map<String, Long> gw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())); Map<String, Long> gw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw, Collectors.counting()));
List<YgKVDto> gwList = new ArrayList<YgKVDto>(); List<YgKVDto> gwList = new ArrayList<YgKVDto>();
for(Map.Entry<String, Long> entry : gw.entrySet()) { for (Map.Entry<String, Long> entry : gw.entrySet()) {
gwList.add(new YgKVDto(entry.getKey(),entry.getValue().toString())); gwList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
} }
Map<String, Long> bm = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.counting())); Map<String, Long> bm = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm, Collectors.counting()));
List<YgKVDto> bmList = new ArrayList<YgKVDto>(); List<YgKVDto> bmList = new ArrayList<YgKVDto>();
for(Map.Entry<String, Long> entry : bm.entrySet()) { for (Map.Entry<String, Long> entry : bm.entrySet()) {
bmList.add(new YgKVDto(entry.getKey(),entry.getValue().toString())); bmList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
} }
//Map<String, Map<String, Long>> bmgw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting()))); // Map<String, Map<String, Long>> bmgw =
Map<String, Long> edu = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getEduname,Collectors.counting())); // bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
Map<String, Long> edu = bintu.stream()
.collect(Collectors.groupingBy(YgbintuDto::getEduname, Collectors.counting()));
List<YgKVDto> eduList = new ArrayList<YgKVDto>(); List<YgKVDto> eduList = new ArrayList<YgKVDto>();
for(Map.Entry<String, Long> entry : edu.entrySet()) { for (Map.Entry<String, Long> entry : edu.entrySet()) {
eduList.add(new YgKVDto(entry.getKey(),entry.getValue().toString())); eduList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
} }
Map<Integer,Long> jobStatus = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getJobStatus,Collectors.counting())); Map<Integer, Long> jobStatus = bintu.stream()
.collect(Collectors.groupingBy(YgbintuDto::getJobStatus, Collectors.counting()));
List<YgKVDto> jobStatusList = new ArrayList<YgKVDto>(); List<YgKVDto> jobStatusList = new ArrayList<YgKVDto>();
for(Entry<Integer, Long> entry : jobStatus.entrySet()) { for (Entry<Integer, Long> entry : jobStatus.entrySet()) {
jobStatusList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString())); jobStatusList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
} }
Map<String, Long> proname = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getProname,Collectors.counting())); Map<String, Long> proname = bintu.stream()
.collect(Collectors.groupingBy(YgbintuDto::getProname, Collectors.counting()));
List<YgKVDto> pronameList = new ArrayList<YgKVDto>(); List<YgKVDto> pronameList = new ArrayList<YgKVDto>();
for(Entry<String, Long> entry : proname.entrySet()) { for (Entry<String, Long> entry : proname.entrySet()) {
pronameList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString())); pronameList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
} }
Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu); Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu);
List<YgKVDto> workageList = new ArrayList<YgKVDto>(); List<YgKVDto> workageList = new ArrayList<YgKVDto>();
for(Entry<String, Integer> entry : workage.entrySet()) { for (Entry<String, Integer> entry : workage.entrySet()) {
workageList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString())); workageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
} }
Map<String, Integer> age = YgEnumInterface.age.choose(bintu); Map<String, Integer> age = YgEnumInterface.age.choose(bintu);
List<YgKVDto> ageList = new ArrayList<YgKVDto>(); List<YgKVDto> ageList = new ArrayList<YgKVDto>();
for(Entry<String, Integer> entry : age.entrySet()) { for (Entry<String, Integer> entry : age.entrySet()) {
ageList.add(new YgKVDto(entry.getKey().toString(),entry.getValue().toString())); ageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
} }
//在职 // 在职
Integer zaizhi = jobStatus.get(1).intValue()+jobStatus.get(2).intValue(); Integer zaizhi = jobStatus.get(1).intValue() + jobStatus.get(2).intValue();
//本月新入职 // 本月新入职
Integer xinruzhi = workage.get("本月新入职").intValue(); Integer xinruzhi = workage.get("本月新入职").intValue();
//本月离职 // 本月离职
Integer lizhi = ygglMainEmpMapper.benyueLz(orgCode); Integer lizhi = ygglMainEmpMapper.benyueLz(orgCode);
//本月转正 // 本月转正
Integer zhuanzhen = ygglMainEmpMapper.benyueZz(orgCode); Integer zhuanzhen = ygglMainEmpMapper.benyueZz(orgCode);
//平均年龄 // 平均年龄
Integer nianlin = age.get("平均年龄").intValue(); Integer nianlin = age.get("平均年龄").intValue();
YgCartogramDto ybp = new YgCartogramDto(); YgCartogramDto ybp = new YgCartogramDto();
ybp.setOnTheJob(zaizhi); ybp.setOnTheJob(zaizhi);
...@@ -1741,7 +1775,7 @@ public class YgglController { ...@@ -1741,7 +1775,7 @@ public class YgglController {
ybp.setDimission(lizhi); ybp.setDimission(lizhi);
ybp.setRegularization(zhuanzhen); ybp.setRegularization(zhuanzhen);
ybp.setAverageAge(nianlin); ybp.setAverageAge(nianlin);
ybp.setDepartment(bmList); ybp.setDepartment(bmList);
ybp.setPosition(gwList); ybp.setPosition(gwList);
ybp.setEdu(eduList); ybp.setEdu(eduList);
...@@ -1751,6 +1785,7 @@ public class YgglController { ...@@ -1751,6 +1785,7 @@ public class YgglController {
ybp.setAge(ageList); ybp.setAge(ageList);
return ResultUtil.data(ybp, "获取员工管理统计图信息成功!"); return ResultUtil.data(ybp, "获取员工管理统计图信息成功!");
} }
/** /**
* 获取员工社保公积金 * 获取员工社保公积金
* *
......
...@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.qyzx.QyzxEntInfoM; import cn.timer.api.bean.qyzx.QyzxEntInfoM;
/** /**
* 企业信息 * 企业信息
* @author Tang 2019-11-11 * @author Tang 2019-11-11
......
...@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository; ...@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.qyzx.QyzxFeebackAccessory;
/** /**
* 员工企业关联表 * 员工企业关联表
* @author Tang 2019-11-11 * @author Tang 2019-11-11
*/ */
@Repository @Repository
public interface QyzxFeebackAccessoryMapper extends BaseMapper<QyzxFeebackAccessoryMapper> { public interface QyzxFeebackAccessoryMapper extends BaseMapper<QyzxFeebackAccessory> {
} }
/**
* <p>Title: QyzxInvoiceDataMapper.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
package cn.timer.api.dao.qyzx;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.qyzx.QyzxInvoiceUsual;
/**
* <p>Title: QyzxInvoiceDataMapper.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年4月21日
* @version 1.0
*/
public interface QyzxInvoiceUsualMapper extends BaseMapper<QyzxInvoiceUsual>{
}
...@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository; ...@@ -5,12 +5,14 @@ import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.qyzx.QyzxSuggestionFeeback;
/** /**
* 员工企业关联表 * 员工企业关联表
* @author Tang 2019-11-11 * @author Tang 2019-11-11
*/ */
@Repository @Repository
public interface QyzxSuggestionFeebackMapper extends BaseMapper<QyzxSuggestionFeebackMapper> { public interface QyzxSuggestionFeebackMapper extends BaseMapper<QyzxSuggestionFeeback> {
} }
...@@ -31,7 +31,7 @@ public class EntauthDto extends Page implements Serializable{ ...@@ -31,7 +31,7 @@ public class EntauthDto extends Page implements Serializable{
@ApiModelProperty(value="组织机构代码",example="117") @ApiModelProperty(value="组织机构代码",example="117")
private Integer orgCode; private Integer orgCode;
@ApiModelProperty(value="认证状态",example="2未通过或3通过") @ApiModelProperty(value="认证状态",example="2通过或3未通过")
private Integer authType; private Integer authType;
......
package cn.timer.api.dto.spmk;
import java.util.Date;
import java.util.List;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import cn.hutool.json.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApprovingDto {
@ApiModelProperty(value = "审批汇总id", example = "2")
private Integer asId;
@ApiModelProperty(value = "审批执行记录id", example = "10")
private Integer executeRecordId;
@ApiModelProperty(value = "执行人记录id", example = "10")
private Integer executorId;
@ApiModelProperty(value = "意见", example = "MMMMMMMM")
private String opinion;
@ApiModelProperty(value = "状态 2同意 3拒绝", example = "2")
private Integer sts;
}
package cn.timer.api.dto.spmk; package cn.timer.api.dto.spmk;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
...@@ -18,10 +19,14 @@ public class Condition implements Serializable { ...@@ -18,10 +19,14 @@ public class Condition implements Serializable {
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String className;
private String displayName;
private String key; private String key;
private String format; private String format;
private String value; private List<String> values;
} }
...@@ -55,4 +55,9 @@ public class Router extends JSONSupport implements Serializable{ ...@@ -55,4 +55,9 @@ public class Router extends JSONSupport implements Serializable{
*/ */
private List<Router> children; private List<Router> children;
/**
* 名称
*/
private String name;
} }
package cn.timer.api.dto.spmk; package cn.timer.api.dto.spmk;
import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
import javax.persistence.Entity; import cn.hutool.json.JSONObject;
import cn.timer.api.bean.spmk.SpmkApprovalG;
import cn.timer.api.bean.spmk.SpmkCustomApproval; import cn.timer.api.bean.spmk.SpmkCustomApproval;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@Data @Data
@Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class SpmkApprovalGDto extends SpmkApprovalG { public class SpmkApprovalGDto implements Serializable {
/** /**
* *
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "编号 编号", example = "101")
private Integer id;
@ApiModelProperty(value = "企业组织代码 企业组织代码", example = "101")
private Integer orgCode;
@ApiModelProperty(value = "组名 ", example = "组名")
private String name;
@ApiModelProperty(value = "排序 排序", example = "101")
private Integer ranks;
@ApiModelProperty(value = "是否可编辑 0是 1否", example = "101")
private Integer isEditable;
private List<SpmkCustomApproval> spmkCustomApprovals; private List<SpmkCustomApproval> spmkCustomApprovals;
} }
package cn.timer.api.dto.spmk; package cn.timer.api.dto.spmk;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
...@@ -38,7 +39,7 @@ public class SpmkApproveSummaryDto{ ...@@ -38,7 +39,7 @@ public class SpmkApproveSummaryDto{
private JSONObject requestData; private JSONObject requestData;
@ApiModelProperty(value = "审批表单 ", example = "审批表单") @ApiModelProperty(value = "审批表单 ", example = "审批表单")
private JSONObject froms; private List<JSONObject> froms;
@ApiModelProperty(value = "审批流程 ", example = "审批流程") @ApiModelProperty(value = "审批流程 ", example = "审批流程")
private Router router; private Router router;
......
...@@ -54,13 +54,12 @@ public class SpmkCustomApprovalDto { ...@@ -54,13 +54,12 @@ public class SpmkCustomApprovalDto {
private Integer assoType; private Integer assoType;
@ApiModelProperty(value = "审批表单 ", example = "审批表单") @ApiModelProperty(value = "审批表单 ", example = "审批表单")
private JSONObject froms; private List<JSONObject> froms;
@ApiModelProperty(value = "审批流程 ", example = "审批流程") @ApiModelProperty(value = "审批流程 ", example = "审批流程")
private Router router; private Router router;
@ApiModelProperty(value = "可见发起人配置 ", example = "可见发起人配置 ") @ApiModelProperty(value = "可见发起人配置 ", example = "可见发起人配置 ")
private List<SpmkInitiatorConfig> initiatorConfigs; private List<SpmkInitiatorConfig> initiatorConfigs;
} }
...@@ -9,9 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -9,9 +9,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Console; import cn.hutool.core.lang.Console;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.timer.api.bean.spmk.SpmkApproveExecuteRecord;
import cn.timer.api.bean.spmk.SpmkApproveSummary; import cn.timer.api.bean.spmk.SpmkApproveSummary;
import cn.timer.api.bean.spmk.SpmkExecutor;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.zzgl.ZzglBmgwM; import cn.timer.api.bean.zzgl.ZzglBmgwM;
import cn.timer.api.dto.spmk.Condition; import cn.timer.api.dto.spmk.Condition;
...@@ -83,6 +84,7 @@ public class RouterUtils { ...@@ -83,6 +84,7 @@ public class RouterUtils {
if (isFirse) { if (isFirse) {
obj.put("current_approver", listUser.get(i).getName()); obj.put("current_approver", listUser.get(i).getName());
} }
break user; break user;
// case EXECUTING: // case EXECUTING:
// listUser.get(i).setExecute(EXECUTED); // listUser.get(i).setExecute(EXECUTED);
...@@ -90,7 +92,7 @@ public class RouterUtils { ...@@ -90,7 +92,7 @@ public class RouterUtils {
} }
} }
isAuditNext = true; isAuditNext = true;
NextNode(router.getChildren(),obj, isFirse, isAuditNext); NextNode(router.getChildren(), obj , isFirse, isAuditNext);
break; break;
case COPY: case COPY:
if (!isAuditNext) { if (!isAuditNext) {
...@@ -102,7 +104,7 @@ public class RouterUtils { ...@@ -102,7 +104,7 @@ public class RouterUtils {
for (int i = 0; i < listRelations.size(); i++) { for (int i = 0; i < listRelations.size(); i++) {
// 装配 部门人员 // 装配 部门人员
if (RELATION_TYPE_DEPARTMENT.equals(listRelations.get(i).getType())) { if (RELATION_TYPE_DEPARTMENT.equals(listRelations.get(i).getType())) {
List<YgglMainEmp> listYgglMainEmp = selectOtherlistent(obj.get("orgCode",Integer.class), Integer.valueOf(listRelations.get(i).getDepartmentId())); List<YgglMainEmp> listYgglMainEmp = selectOtherlistent(Integer.parseInt(obj.get("orgCode",FromData.class).getValue()), Integer.valueOf(listRelations.get(i).getDepartmentId()));
List<User> listUsers = new ArrayList<User>(); List<User> listUsers = new ArrayList<User>();
for (YgglMainEmp emp : listYgglMainEmp) { for (YgglMainEmp emp : listYgglMainEmp) {
User user = new User(); User user = new User();
...@@ -111,11 +113,12 @@ public class RouterUtils { ...@@ -111,11 +113,12 @@ public class RouterUtils {
listUsers.add(user); listUsers.add(user);
} }
listRelations.get(i).setUsers(listUsers); listRelations.get(i).setUsers(listUsers);
}else if (RELATION_TYPE_USERS.equals(listRelations.get(i).getType())) { }else if (RELATION_TYPE_USERS.equals(listRelations.get(i).getType())) {
// 直接跳过,此处 else if代码段 只做说明,可不写
} }
} }
NextNode(router.getChildren(),obj, isFirse, isAuditNext); NextNode(router.getChildren(), obj , isFirse, isAuditNext);
break; break;
} }
break; break;
...@@ -146,13 +149,13 @@ public class RouterUtils { ...@@ -146,13 +149,13 @@ public class RouterUtils {
} }
} }
NextNode(router.getChildren(),obj, isFirse, isAuditNext); NextNode(router.getChildren(),obj , isFirse, isAuditNext);
break; break;
} }
break; break;
case EXECUTED: case EXECUTED:
Console.log("下一个节点"); Console.log("下一个节点");
NextNode(router.getChildren(),obj, isFirse, isAuditNext); NextNode(router.getChildren(),obj , isFirse, isAuditNext);
break; break;
} }
...@@ -168,10 +171,12 @@ public class RouterUtils { ...@@ -168,10 +171,12 @@ public class RouterUtils {
routerRule.setFlow(true); routerRule.setFlow(true);
}else { }else {
for (Condition condition : listCondition) { for (Condition condition : listCondition) {
// 判断条件 for (String string : condition.getValues()) {
if (!stringCompare(obj.get(condition.getKey(),FromData.class).getValue(), condition.getValue(), condition.getFormat())) { // 判断条件
condition_b = false; if (!stringCompare(obj.get(condition.getKey(),FromData.class).getValue(), string , condition.getFormat())) {
} condition_b = false;
}
}
} }
} }
...@@ -179,12 +184,12 @@ public class RouterUtils { ...@@ -179,12 +184,12 @@ public class RouterUtils {
routerRule.setExecute(EXECUTED); routerRule.setExecute(EXECUTED);
if (routerRule.getFlow()) { if (routerRule.getFlow()) {
Console.log("条件逻辑"); Console.log("条件逻辑");
NextNode(routerRule.getChildren(),obj, isFirse, isAuditNext); NextNode(routerRule.getChildren(), obj , isFirse, isAuditNext);
} }
break; break;
case EXECUTED: case EXECUTED:
if (routerRule.getFlow()) { if (routerRule.getFlow()) {
NextNode(routerRule.getChildren(),obj, isFirse, isAuditNext); NextNode(routerRule.getChildren(), obj , isFirse, isAuditNext);
} }
break rulefor; break rulefor;
} }
...@@ -278,22 +283,265 @@ public class RouterUtils { ...@@ -278,22 +283,265 @@ public class RouterUtils {
} }
} }
} }
};
// 审批执行记录 持久化
public static void insertogExecuteRecord(List<FlowChildren> listFlowChildren,Integer asId) {
for (int i = 0,m = listFlowChildren.size() ; i < m; i++) {
if (UNEXECUTED.equals(listFlowChildren.get(i).getExecute()))
continue;
switch (listFlowChildren.get(i).getClassName()) {
case CREATOR:
SpmkApproveExecuteRecord aer = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("发起申请")
.type(0)
.sts(2)
.build();
// 新增 审批执行记录
aer.insert();
// 新增 执行人
User user = listFlowChildren.get(i).getRelation().get(0).getUsers().get(0);
SpmkExecutor.builder()
.approveExecuteRecordId(aer.getId())
.empNum(Integer.parseInt(user.getId()))
.executorName(user.getName())
.sts(2)
.build()
.insert();
break;
case AUDIT:
SpmkApproveExecuteRecord aer2 = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("审批人")
.type(2)
.sts(1)
.build();
// 新增 审批执行记录
aer2.insert();
// 新增 执行人
List<User> listUser = listFlowChildren.get(i).getRelation().get(0).getUsers();
executor:
for (User user2 : listUser) {
SpmkExecutor executor = SpmkExecutor.builder()
.approveExecuteRecordId(aer2.getId())
.empNum(Integer.parseInt(user2.getId()))
.executorName(user2.getName())
.build();
switch (user2.getExecute()) {
case EXECUTING:
executor.setSts(1);
executor.insert();
break executor;
case EXECUTED:
executor.setSts(2);
executor.insert();
break;
}
}
break;
case COPY:
SpmkApproveExecuteRecord aer3 = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("抄送人")
.type(1)
.sts(2)
.build();
// 新增 审批执行记录
aer3.insert();
List<Relation> listRelation = listFlowChildren.get(i).getRelation();
for (Relation relation : listRelation) {
List<User> listUser2 = relation.getUsers();
// 新增 执行人
for (User user2 : listUser2) {
SpmkExecutor executor = SpmkExecutor.builder()
.approveExecuteRecordId(aer3.getId())
.empNum(Integer.parseInt(user2.getId()))
.executorName(user2.getName())
.sts(2)
.build();
executor.insert();
}
}
break;
}
}
}
/**
* 审批持久化
* @param listFlowChildren 节点
* @param asId 审批汇总Id
* @param executorId 执行人记录Id
* @param opinion 意见
* @param sts 状态 1执行中 2通过 3拒绝
*/
public static void approving(List<FlowChildren> listFlowChildren,Integer asId,Integer executeRecordId, Integer executorId, String opinion,Integer sts ) {
boolean hasNextApprover = false;
for (int i = 0,n = listFlowChildren.size(); i < n; i++) {
// 新增 执行人
List<User> listUser = listFlowChildren.get(i).getRelation().get(0).getUsers();
if (EXECUTED.equals(listFlowChildren.get(i).getExecute())) {
continue;
}else if (EXECUTING.equals(listFlowChildren.get(i).getExecute())) {
// 新增 执行人
// listUser = flowChildren.getRelation().get(0).getUsers();
for (int i_user = 0, n_user = listUser.size(); i_user < n_user; i_user++) {
if (EXECUTED.equals(listUser.get(i_user).getExecute())) {
continue;
}else if (EXECUTING.equals(listUser.get(i_user).getExecute())) {
SpmkExecutor.builder()
.id(executorId)
.opinion(opinion)
.empNum(Integer.parseInt(listUser.get(i_user).getId()))
.executorName(listUser.get(i_user).getName())
.sts(sts)
.build()
.updateById();
listUser.get(i_user).setExecute(EXECUTED);
// 0未执行 1执行中 2同意 3拒绝
if (sts == 3) {
// 更新 审批汇总 状态
SpmkApproveSummary.builder().id(asId).sts(sts).build().updateById();
return;
}
}else if (UNEXECUTED.equals(listUser.get(i_user).getExecute())) {
SpmkExecutor.builder()
.approveExecuteRecordId(executeRecordId)
.empNum(Integer.parseInt(listUser.get(i_user).getId()))
.executorName(listUser.get(i_user).getName())
.sts(1)
.build()
.insert();
hasNextApprover = true;
listUser.get(i_user).setExecute(EXECUTING);
}
}
if (!hasNextApprover) {
SpmkApproveExecuteRecord aer = SpmkApproveExecuteRecord
.builder()
.id(executeRecordId)
.sts(2)
.build();
// 更新 审批执行记录
aer.updateById();
listFlowChildren.get(i).setExecute(EXECUTED);
}
}else if (UNEXECUTED.equals(listFlowChildren.get(i).getExecute())) {
if (!hasNextApprover) {
switch (listFlowChildren.get(i).getClassName()) {
case CREATOR:
SpmkApproveExecuteRecord aer = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("发起申请")
.type(0)
.sts(2)
.build();
// 新增 审批执行记录
aer.insert();
// 新增 执行人
User user = listFlowChildren.get(i).getRelation().get(0).getUsers().get(0);
SpmkExecutor.builder()
.approveExecuteRecordId(aer.getId())
.empNum(Integer.parseInt(user.getId()))
.executorName(user.getName())
.sts(2)
.build()
.insert();
listFlowChildren.get(i).setExecute(EXECUTED);
break;
case AUDIT:
SpmkApproveExecuteRecord aer2 = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("审批人")
.type(2)
.sts(1)
.build();
// 新增 审批执行记录
aer2.insert();
// 新增 执行人
// listUser = flowChildren.getRelation().get(0).getUsers();
for (int i_user2 = 0,n_user2 = listUser.size(); i_user2 < n_user2; i_user2++) {
User u = listUser.get(i_user2);
SpmkExecutor executor = SpmkExecutor.builder()
.approveExecuteRecordId(aer2.getId())
.empNum(Integer.parseInt(listUser.get(i_user2).getId()))
.executorName(listUser.get(i_user2).getName())
.sts(1)
.build();
executor.insert();
listUser.get(i_user2).setExecute(EXECUTING);
}
listFlowChildren.get(i).setExecute(EXECUTING);
break;
case COPY:
SpmkApproveExecuteRecord aer3 = SpmkApproveExecuteRecord
.builder()
.approveSummaryId(asId)
.name("抄送人")
.type(1)
.sts(2)
.build();
// 新增 审批执行记录
aer3.insert();
List<Relation> listRelation = listFlowChildren.get(i).getRelation();
for (Relation relation : listRelation) {
List<User> listUser2 = relation.getUsers();
// 新增 执行人
for (User user2 : listUser2) {
SpmkExecutor executor = SpmkExecutor.builder()
.approveExecuteRecordId(aer3.getId())
.empNum(Integer.parseInt(user2.getId()))
.executorName(user2.getName())
.sts(2)
.build();
executor.insert();
}
}
listFlowChildren.get(i).setExecute(EXECUTED);
break;
}
}
}
}
}
};
} }
...@@ -141,7 +141,7 @@ pagehelper: ...@@ -141,7 +141,7 @@ pagehelper:
logging: logging:
level: level:
root: info root: info
cn.timer.api.dao: error cn.timer.api.dao: debug
pattern: pattern:
console: '--%p--%m%n' console: '--%p--%m%n'
......
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
<result column="is_on_stock" property="isOnStock" /> <result column="is_on_stock" property="isOnStock" />
<result column="level" property="level" /> <result column="level" property="level" />
<result column="register_time" property="registerTime" /> <result column="register_time" property="registerTime" />
<result column="license_url" property="licenseUrl" />
<result column="area" property="area" />
<result column="attest_name" property="attestName" />
<result column="attest_status" property="attestStatus" />
<result column="attest_time" property="attestTime" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -40,7 +45,12 @@ ...@@ -40,7 +45,12 @@
credit_code, credit_code,
is_on_stock, is_on_stock,
level, level,
register_time register_time,
license_url,
area,
attest_name,
attest_status,
attest_time
</sql> </sql>
<!-- <!--
......
...@@ -60,9 +60,9 @@ ...@@ -60,9 +60,9 @@
b.is_opinion SpmkCustomApproval_is_opinion, b.is_opinion SpmkCustomApproval_is_opinion,
b.update_time SpmkCustomApproval_update_time, b.update_time SpmkCustomApproval_update_time,
b.create_time SpmkCustomApproval_create_time, b.create_time SpmkCustomApproval_create_time,
b.asso_type SpmkCustomApproval_asso_type, b.asso_type SpmkCustomApproval_asso_type<!-- ,
b.froms SpmkCustomApproval_froms, b.froms SpmkCustomApproval_froms,
b.router SpmkCustomApproval_router b.router SpmkCustomApproval_router -->
</sql> </sql>
<select id="selectListAgInCa" resultMap="BaseResultMapDto"> <select id="selectListAgInCa" resultMap="BaseResultMapDto">
...@@ -73,16 +73,16 @@ ...@@ -73,16 +73,16 @@
LEFT JOIN spmk_custom_approval b ON a.id = b.approval_g_id LEFT JOIN spmk_custom_approval b ON a.id = b.approval_g_id
WHERE b.org_code = #{org_code} AND b.id in WHERE a.org_code = #{org_code}
( <!-- AND b.id IN (
SELECT custom_approval_id FROM spmk_initiator_config WHERE emp_num = #{emp_num} GROUP BY custom_approval_id SELECT custom_approval_id FROM spmk_initiator_config WHERE asso_id = #{emp_num} AND type = 1 GROUP BY custom_approval_id
) ) -->
ORDER BY a.ranks, b.ranks ORDER BY a.ranks, b.ranks
</select> </select>
<update id="updateListRandsById" parameterType="list"> <update id="updateListRandsById" parameterType="list">
<foreach item="item" index="index" collection="list" open="" separator=";" close=""> <foreach item="item" index="index" collection="list" open="" separator=";" close="">
UPDATE spmk_approval_template_g UPDATE spmk_approval_g
<set> <set>
<if test ='null != item.ranks'>ranks = #{item.ranks},</if> <if test ='null != item.ranks'>ranks = #{item.ranks},</if>
</set> </set>
......
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