feat: 装修测量阶段+设计阶段流程优化

This commit is contained in:
ryan.xu
2025-04-24 09:36:12 +08:00
parent c75523cd80
commit 3edcd3b4a2
31 changed files with 1039 additions and 389 deletions

View File

@@ -1,8 +1,12 @@
package com.cool.store.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
@Data
@Table(name = "xfsg_decoration_design_info")
public class DecorationDesignInfoDO {
@Id
@@ -91,209 +95,37 @@ public class DecorationDesignInfoDO {
*/
@Column(name = "construction_create_user")
private String constructionCreateUser;
/**
* @return id
*/
public Long getId() {
return id;
}
/**
* @param id
* 设计组长ID
*/
public void setId(Long id) {
this.id = id;
}
@Column(name = "design_leader_id")
private String designLeaderId;
/**
* 获取xfsg_shop_info.id
*
* @return shop_id - xfsg_shop_info.id
* 设计人员ID
*/
public Long getShopId() {
return shopId;
}
@Column(name = "design_user_id")
private String designUserId;
/**
* 设置xfsg_shop_info.id
*
* @param shopId xfsg_shop_info.id
* 报价员ID
*/
public void setShopId(Long shopId) {
this.shopId = shopId;
}
@Column(name = "quotation_user_id")
private String quotationUserId;
/**
* 获取报价单
*
* @return quotation_url - 报价单
* 报价备注
*/
public String getQuotationUrl() {
return quotationUrl;
}
@Column(name = "quotation_remark")
private String quotationRemark;
/**
* 设置报价单
*
* @param quotationUrl 报价单
* 设计提交时间
*/
public void setQuotationUrl(String quotationUrl) {
this.quotationUrl = quotationUrl;
}
@Column(name = "design_submit_time")
private Date designSubmitTime;
/**
* 获取设计图
*
* @return design_url - 设计图
*/
public String getDesignUrl() {
return designUrl;
}
/**
* 设置设计图
*
* @param designUrl 设计图
*/
public void setDesignUrl(String designUrl) {
this.designUrl = designUrl;
}
/**
* 获取备注
*
* @return remark - 备注
*/
public String getRemark() {
return remark;
}
/**
* 设置备注
*
* @param remark 备注
*/
public void setRemark(String remark) {
this.remark = remark;
}
/**
* 获取加密商验收签名 {"pic":"","acceptanceTime":"","result":"","remark":"","status":0}
*
* @return partner_acceptance_signatures - 加密商验收签名 {"pic":"","acceptanceTime":"","result":"","remark":"","status":0}
*/
public String getPartnerAcceptanceSignatures() {
return partnerAcceptanceSignatures;
}
/**
* 设置加密商验收签名 {"pic":"","acceptanceTime":"","result":"","remark":"","status":0}
*
* @param partnerAcceptanceSignatures 加密商验收签名 {"pic":"","acceptanceTime":"","result":"","remark":"","status":0}
*/
public void setPartnerAcceptanceSignatures(String partnerAcceptanceSignatures) {
this.partnerAcceptanceSignatures = partnerAcceptanceSignatures;
}
/**
* 获取创建时间
*
* @return create_time - 创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置创建时间
*
* @param createTime 创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取更新时间
*
* @return update_time - 更新时间
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* 设置更新时间
*
* @param updateTime 更新时间
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* 获取是否删除0.否 1.是
*
* @return deleted - 是否删除0.否 1.是
*/
public Boolean getDeleted() {
return deleted;
}
public Date getConstructionPlanStartTime() {
return constructionPlanStartTime;
}
public void setConstructionPlanStartTime(Date constructionPlanStartTime) {
this.constructionPlanStartTime = constructionPlanStartTime;
}
public Date getConstructionPlanEndTime() {
return constructionPlanEndTime;
}
public void setConstructionPlanEndTime(Date constructionPlanEndTime) {
this.constructionPlanEndTime = constructionPlanEndTime;
}
public String getConstructionAnnex() {
return constructionAnnex;
}
public void setConstructionAnnex(String constructionAnnex) {
this.constructionAnnex = constructionAnnex;
}
public String getConstructionRemark() {
return constructionRemark;
}
public void setConstructionRemark(String constructionRemark) {
this.constructionRemark = constructionRemark;
}
public Date getConstructionCreateTime() {
return constructionCreateTime;
}
public void setConstructionCreateTime(Date constructionCreateTime) {
this.constructionCreateTime = constructionCreateTime;
}
public String getConstructionCreateUser() {
return constructionCreateUser;
}
public void setConstructionCreateUser(String constructionCreateUser) {
this.constructionCreateUser = constructionCreateUser;
}
/**
* 设置是否删除0.否 1.是
*
* @param deleted 是否删除0.否 1.是
*/
public void setDeleted(Boolean deleted) {
this.deleted = deleted;
}
@Column(name = "quotation_submit_time")
private Date quotationSubmitTime;
}

View File

@@ -0,0 +1,93 @@
package com.cool.store.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Table(name = "xfsg_decoration_measure")
public class DecorationMeasureDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 店铺ID
*/
@Column(name = "shop_id")
private Long shopId;
/**
* 测量员ID
*/
@Column(name = "measure_user_id")
private String measureUserId;
/**
* 设计员角色ID
*/
@Column(name = "design_user_id")
private String designUserId;
/**
* 测量日期
*/
@Column(name = "measure_date")
private Date measureDate;
/**
* 出图日期
*/
@Column(name = "diagram_date")
private Date diagramDate;
/**
* 测量图
*/
@Column(name = "measure_url")
private String measureUrl;
/**
* 备注
*/
@Column(name = "remark")
private String remark;
/**
* 创建时间
*/
@Column(name = "submit_time")
private Date submitTime;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 创建人
*/
@Column(name = "create_user_id")
private String createUserId;
/**
* 更新人
*/
@Column(name = "update_user_id")
private String updateUserId;
/**
* 更新时间
*/
@Column(name = "update_time")
private Date updateTime;
/**
* 是否删除0.否 1.是
*/
@Column(name = "deleted", nullable = false, columnDefinition = "tinyint default '0'")
private Boolean deleted;
}

View File

@@ -4,10 +4,11 @@ import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dto.decoration.ThreeAcceptanceDTO;
import com.cool.store.entity.DecorationDesignInfoDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.swing.text.StyleConstants;
import java.util.Date;
/**
@@ -16,26 +17,31 @@ import java.util.Date;
* @Version 1.0
*/
@Data
@ApiModel("设计阶段保存入参")
public class DecorationDesignRequest {
@Column(name = "shop_id")
@ApiModelProperty("店铺ID")
private Long shopId;
/**
* 报价单
*/
@Column(name = "quotation_url")
@ApiModelProperty("设计组长ID")
private String designLeaderId;
@ApiModelProperty("设计师ID")
private String designUserId;
@ApiModelProperty("报价员ID")
private String quotationUserId;
@ApiModelProperty("报价单URL")
private String quotationUrl;
/**
* 设计图
*/
@Column(name = "design_url")
@ApiModelProperty("设计图URL")
private String designUrl;
/**
* 备注
*/
@ApiModelProperty("报价备注")
private String quotationRemark;
@ApiModelProperty("设计备注")
private String remark;
/**
@@ -45,14 +51,28 @@ public class DecorationDesignRequest {
private ThreeAcceptanceDTO partnerAcceptanceSignatures;
public DecorationDesignInfoDO toDecorationDesignInfoDO() {
DecorationDesignInfoDO decorationDesignInfoDO = new DecorationDesignInfoDO();
decorationDesignInfoDO.setDesignUrl(this.designUrl);
decorationDesignInfoDO.setShopId(this.shopId);
if (this.designLeaderId != null) {
decorationDesignInfoDO.setDesignLeaderId(this.designLeaderId);
}
if (this.designUserId != null) {
decorationDesignInfoDO.setDesignUserId(this.designUserId);
}
if (this.quotationUserId != null) {
decorationDesignInfoDO.setQuotationUserId(this.quotationUserId);
}
if (this.quotationRemark != null) {
decorationDesignInfoDO.setQuotationRemark(this.quotationRemark);
}
if (this.quotationUrl != null) {
decorationDesignInfoDO.setQuotationUrl(this.quotationUrl);
}
decorationDesignInfoDO.setRemark(this.remark);
decorationDesignInfoDO.setQuotationUrl(this.quotationUrl);
if (this.partnerAcceptanceSignatures != null){
if (this.partnerAcceptanceSignatures != null) {
ThreeAcceptanceDTO threeAcceptanceDTO = this.partnerAcceptanceSignatures;
threeAcceptanceDTO.setAcceptanceTime(new Date());
threeAcceptanceDTO.setStatus(CommonConstants.ONE);
@@ -60,7 +80,6 @@ public class DecorationDesignRequest {
threeAcceptanceDTO.setRemark(threeAcceptanceDTO.getRemark() == null ? "" : threeAcceptanceDTO.getRemark());
decorationDesignInfoDO.setPartnerAcceptanceSignatures(JSONObject.toJSONString(threeAcceptanceDTO));
}
decorationDesignInfoDO.setUpdateTime(new Date());
return decorationDesignInfoDO;
}

View File

@@ -0,0 +1,58 @@
package com.cool.store.request;
import com.cool.store.entity.DecorationMeasureDO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author ryan.xu
* @date 2025/04/23
*/
@Data
@ApiModel("测量阶段保存入参")
public class DecorationMeasureRequest {
@ApiModelProperty("店铺ID")
@NotNull(message = "店铺ID不能为空")
private Long shopId;
@ApiModelProperty("测量员ID")
private String measureUserId;
@ApiModelProperty("设计组长ID")
private String designUserId;
@ApiModelProperty("测量日期")
private Date measureDate;
@ApiModelProperty("出图日期")
private Date diagramDate;
@ApiModelProperty("测量图URL")
private String measureUrl;
@ApiModelProperty("备注")
private String remark;
/**
* 构建DecorationMeasureDO
*
* @return
*/
public DecorationMeasureDO buildDecorationMeasureDO() {
DecorationMeasureDO decorationMeasureDO = new DecorationMeasureDO();
decorationMeasureDO.setShopId(this.shopId);
decorationMeasureDO.setMeasureUserId(this.measureUserId);
decorationMeasureDO.setDesignUserId(this.designUserId);
decorationMeasureDO.setMeasureDate(this.measureDate);
decorationMeasureDO.setDiagramDate(this.diagramDate);
decorationMeasureDO.setMeasureUrl(this.measureUrl);
decorationMeasureDO.setRemark(this.remark);
return decorationMeasureDO;
}
}

View File

@@ -0,0 +1,16 @@
package com.cool.store.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("角色查询")
public class SysRoleRequest {
@ApiModelProperty("角色名称")
private String roleName;
@ApiModelProperty("关键字")
private String keyword;
}

View File

@@ -1,5 +1,9 @@
package com.cool.store.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
@@ -11,29 +15,42 @@ import java.util.Date;
* @Version 1.0
*/
@Data
@ApiModel("设计阶段返回实体")
public class DecorationDesignVO {
/**
* xfsg_shop_info.id
*/
@Column(name = "shop_id")
@ApiModelProperty("设计阶段ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("店铺ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long shopId;
/**
* 报价单
*/
@Column(name = "quotation_url")
@ApiModelProperty("设计组长ID")
private String designLeaderId;
@ApiModelProperty("设计组长名称")
private String designLeaderName;
@ApiModelProperty("设计师ID")
private String designUserId;
@ApiModelProperty("设计师名称")
private String designUserName;
@ApiModelProperty("报价员ID")
private String quotationUserId;
@ApiModelProperty("报价员名称")
private String quotationUserName;
@ApiModelProperty("报价单URL")
private String quotationUrl;
/**
* 设计图
*/
@Column(name = "design_url")
@ApiModelProperty("设计图URL")
private String designUrl;
/**
* 备注
*/
@ApiModelProperty("备注")
private String remark;
/**
@@ -42,10 +59,16 @@ public class DecorationDesignVO {
@Column(name = "partner_acceptance_signatures")
private String partnerAcceptanceSignatures;
/**
* 创建时间
*/
@Column(name = "create_time")
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("设计提交时间")
private Date designSubmitTime;
@ApiModelProperty("报价提交时间")
private Date quotationSubmitTime;
@ApiModelProperty("报价备注")
private String quotationRemark;
}

View File

@@ -0,0 +1,57 @@
package com.cool.store.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author ryan.xu
* @date 2025/04/23
*/
@Data
@ApiModel("装修测量返回实体")
public class DecorationMeasureVO {
@ApiModelProperty("ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("店铺ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long shopId;
@ApiModelProperty("测量员ID")
private String measureUserId;
@ApiModelProperty("测量员名称")
private String measureUserName;
@ApiModelProperty("设计组长ID")
private String designUserId;
@ApiModelProperty("设计组长名称")
private String designUserName;
@ApiModelProperty("测量日期")
private Date measureDate;
@ApiModelProperty("出图日期")
private Date diagramDate;
@ApiModelProperty(name = "测量图URL")
private String measureUrl;
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("提交时间")
private Date submitTime;
@ApiModelProperty("备注")
private String remark;
}