LIVE_YE il y a 1 an
Parent
commit
d883c8c9a6

+ 23 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/sqmy/SqmyInfoController.java

@@ -4,6 +4,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.ProposalInfo;
 import com.ruoyi.system.domain.sqmy.SqmyInfo;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -100,4 +101,26 @@ public class SqmyInfoController extends BaseController
     {
         return toAjax(sqmyInfoService.deleteSqmyInfoBySqmyIds(sqmyIds));
     }
+
+    /***
+     * 是否立案
+     */
+    @PreAuthorize("@ss.hasPermi('sqmyInfo:info:isRecord')")
+    @Log(title = "提案信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/isRecord")
+    public AjaxResult isRecord(@RequestBody SqmyInfo sqmyInfo)
+    {
+        return sqmyInfoService.isRecord(sqmyInfo);
+    }
+
+    /***
+     * 交办
+     */
+    @PreAuthorize("@ss.hasPermi('sqmyInfo:info:assign')")
+    @Log(title = "提案信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/assign")
+    public AjaxResult assign(@RequestBody SqmyInfo sqmyInfo)
+    {
+        return sqmyInfoService.assign(sqmyInfo);
+    }
 }

+ 105 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/sqmy/SqmyUnitReplyController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.web.controller.sqmy;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.service.ISqmyUnitReplyService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 社情民意单位答复Controller
+ *
+ * @author boman
+ * @date 2024-03-15
+ */
+@RestController
+@RequestMapping("/system/reply")
+public class SqmyUnitReplyController extends BaseController
+{
+    @Autowired
+    private ISqmyUnitReplyService sqmyUnitReplyService;
+
+/**
+ * 查询社情民意单位答复列表
+ */
+@PreAuthorize("@ss.hasPermi('system:reply:list')")
+@GetMapping("/list")
+    public TableDataInfo list(SqmyUnitReply sqmyUnitReply)
+    {
+        startPage();
+        List<SqmyUnitReply> list = sqmyUnitReplyService.selectSqmyUnitReplyList(sqmyUnitReply);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出社情民意单位答复列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:reply:export')")
+    @Log(title = "社情民意单位答复", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SqmyUnitReply sqmyUnitReply)
+    {
+        List<SqmyUnitReply> list = sqmyUnitReplyService.selectSqmyUnitReplyList(sqmyUnitReply);
+        ExcelUtil<SqmyUnitReply> util = new ExcelUtil<SqmyUnitReply>(SqmyUnitReply.class);
+        util.exportExcel(response, list, "社情民意单位答复数据");
+    }
+
+    /**
+     * 获取社情民意单位答复详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:reply:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(sqmyUnitReplyService.selectSqmyUnitReplyById(id));
+    }
+
+    /**
+     * 新增社情民意单位答复
+     */
+    @PreAuthorize("@ss.hasPermi('system:reply:add')")
+    @Log(title = "社情民意单位答复", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SqmyUnitReply sqmyUnitReply)
+    {
+        return toAjax(sqmyUnitReplyService.insertSqmyUnitReply(sqmyUnitReply));
+    }
+
+    /**
+     * 修改社情民意单位答复
+     */
+    @PreAuthorize("@ss.hasPermi('system:reply:edit')")
+    @Log(title = "社情民意单位答复", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody SqmyUnitReply sqmyUnitReply)
+    {
+        return toAjax(sqmyUnitReplyService.updateSqmyUnitReply(sqmyUnitReply));
+    }
+
+    /**
+     * 删除社情民意单位答复
+     */
+    @PreAuthorize("@ss.hasPermi('system:reply:remove')")
+    @Log(title = "社情民意单位答复", businessType = BusinessType.DELETE)
+    @GetMapping("/delete/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(sqmyUnitReplyService.deleteSqmyUnitReplyByIds(ids));
+    }
+}

+ 315 - 80
ruoyi-system/src/main/java/com/ruoyi/system/domain/sqmy/SqmyInfo.java

@@ -1,58 +1,58 @@
 package com.ruoyi.system.domain.sqmy;
 
+import com.ruoyi.system.domain.ProposalUnitReply;
+import com.ruoyi.system.domain.ZxFj;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 社情民意信息对象 sqmy_info
- * 
+ *
  * @author boman
- * @date 2024-03-14
+ * @date 2024-03-15
  */
 public class SqmyInfo extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
-    /** 社情民意ID */
+    /** 提案ID */
     private Long sqmyId;
 
     /** 上报人ID */
     @Excel(name = "上报人ID")
     private Long sqmyUserId;
 
-    /** 信息标题 */
-    @Excel(name = "信息标题")
-    private String title;
-
-    /** 主题类型 */
-    @Excel(name = "主题类型")
-    private String titleType;
+    /** 社情民意号 */
+    @Excel(name = "社情民意号")
+    private String sqmyNumber;
 
-    /** 提案内容 */
-    @Excel(name = "提案内容")
-    private String proposalContent;
+    /** 标题 */
+    @Excel(name = "标题")
+    private String title;
 
     /** 联系人姓名 */
     @Excel(name = "联系人姓名")
-    private String contactName;
+    private String lxrName;
 
     /** 联系人手机号码 */
     @Excel(name = "联系人手机号码")
-    private String contactPhone;
+    private String lxrPhone;
 
-    /** 上报姓名 */
-    @Excel(name = "上报姓名")
+    /** 上报姓名 */
+    @Excel(name = "上报姓名")
     private String sqmyName;
 
-    /** 上报手机号码 */
-    @Excel(name = "上报手机号码")
+    /** 上报手机号码 */
+    @Excel(name = "上报手机号码")
     private String sqmyPhone;
 
-    /** 工作单位及职务 */
-    @Excel(name = "工作单位及职务")
-    private String unit;
+    /** 社情民意内容 */
+    @Excel(name = "社情民意内容")
+    private String sqmyContent;
 
     /** 同意公开(0是 1否) */
     @Excel(name = "同意公开", readConverterExp = "0=是,1=否")
@@ -62,135 +62,370 @@ public class SqmyInfo extends BaseEntity
     @Excel(name = "是否涉密", readConverterExp = "0=是,1=否")
     private String isSecret;
 
-    public void setSqmyId(Long sqmyId) 
+    /** 工作单位及职务 */
+    @Excel(name = "工作单位及职务")
+    private String unit;
+
+    /** 是否立案(0是 1否) */
+    @Excel(name = "是否立案", readConverterExp = "0=是,1=否")
+    private String isRecord;
+
+    /** 社情民意进度(0:提交提案,1:提案审查,2:提案立案,3:提案不立案,4:提案交办,5:提案办理,6:提案审核,7:审核不通过,8:已办结) */
+    @Excel(name = "社情民意进度(0:提交提案,1:提案审查,2:提案立案,3:提案不立案,4:提案交办,5:提案办理,6:提案审核,7:审核不通过,8:已办结)")
+    private String sqmyProgress;
+
+    /** 滚动办理(0是 1否) */
+    @Excel(name = "滚动办理", readConverterExp = "0=是,1=否")
+    private String rollingProcess;
+
+    /** 提案答复类型(A:A类,B:B类,C:C类) */
+    @Excel(name = "提案答复类型(A:A类,B:B类,C:C类)")
+    private String complexType;
+
+    /** 是否被并案(0是 1否) */
+    @Excel(name = "是否被并案", readConverterExp = "0=是,1=否")
+    private String isCasesTogether;
+
+    /** 被并案的案件id */
+    @Excel(name = "被并案的案件id")
+    private Long uniteSqmyId;
+
+    /** 承办单位答复委员 */
+    @Excel(name = "承办单位答复委员")
+    private String cbdwdfwy;
+
+    /** 委员满意程度(0:不满意,1:一般,2:满意,3:非常满意) */
+    @Excel(name = "委员满意程度", readConverterExp = "0=:不满意,1:一般,2:满意,3:非常满意")
+    private String satisfaction;
+
+    /** 委员意见 */
+    @Excel(name = "委员意见")
+    private String membersOpinion;
+
+    /** 政协满意程度(0:不满意,1:一般,2:满意,3:非常满意) */
+    @Excel(name = "政协满意程度", readConverterExp = "0=:不满意,1:一般,2:满意,3:非常满意")
+    private String zxSatisfaction;
+
+    /** 政协意见 */
+    @Excel(name = "政协意见")
+    private String zxOpinion;
+
+    /** 是否推荐重点(0是 1否) */
+    @Excel(name = "是否推荐重点", readConverterExp = "0=是,1=否")
+    private String isKeyPoint;
+
+    /** 推荐重点理由 */
+    @Excel(name = "推荐重点理由")
+    private String keyPointArgument;
+
+    /** 是否推荐优秀(0是 1否) */
+    @Excel(name = "是否推荐优秀", readConverterExp = "0=是,1=否")
+    private String isOutstanding;
+
+    /** 推荐优秀理由 */
+    @Excel(name = "推荐优秀理由")
+    private String outstandingArgument;
+
+    /** 附件 */
+    private List<ZxFj> zxFjList;
+    /** 单位回复 */
+    private List<SqmyUnitReply> sqmyUnitReplyList;
+
+    public List<ZxFj> getZxFjList() {
+        return zxFjList;
+    }
+
+    public void setZxFjList(List<ZxFj> zxFjList) {
+        this.zxFjList = zxFjList;
+    }
+
+    public List<SqmyUnitReply> getSqmyUnitReplyList() {
+        return sqmyUnitReplyList;
+    }
+
+    public void setSqmyUnitReplyList(List<SqmyUnitReply> sqmyUnitReplyList) {
+        this.sqmyUnitReplyList = sqmyUnitReplyList;
+    }
+
+    public void setSqmyId(Long sqmyId)
     {
         this.sqmyId = sqmyId;
     }
 
-    public Long getSqmyId() 
+    public Long getSqmyId()
     {
         return sqmyId;
     }
-    public void setSqmyUserId(Long sqmyUserId) 
+    public void setSqmyUserId(Long sqmyUserId)
     {
         this.sqmyUserId = sqmyUserId;
     }
 
-    public Long getSqmyUserId() 
+    public Long getSqmyUserId()
     {
         return sqmyUserId;
     }
-    public void setTitle(String title) 
+    public void setSqmyNumber(String sqmyNumber)
+    {
+        this.sqmyNumber = sqmyNumber;
+    }
+
+    public String getSqmyNumber()
+    {
+        return sqmyNumber;
+    }
+    public void setTitle(String title)
     {
         this.title = title;
     }
 
-    public String getTitle() 
+    public String getTitle()
     {
         return title;
     }
-    public void setTitleType(String titleType) 
+    public void setLxrName(String lxrName)
     {
-        this.titleType = titleType;
+        this.lxrName = lxrName;
     }
 
-    public String getTitleType() 
+    public String getLxrName()
     {
-        return titleType;
+        return lxrName;
     }
-    public void setProposalContent(String proposalContent) 
+    public void setLxrPhone(String lxrPhone)
     {
-        this.proposalContent = proposalContent;
+        this.lxrPhone = lxrPhone;
     }
 
-    public String getProposalContent() 
+    public String getLxrPhone()
     {
-        return proposalContent;
+        return lxrPhone;
     }
-    public void setContactName(String contactName) 
+    public void setSqmyName(String sqmyName)
     {
-        this.contactName = contactName;
+        this.sqmyName = sqmyName;
     }
 
-    public String getContactName() 
+    public String getSqmyName()
     {
-        return contactName;
+        return sqmyName;
     }
-    public void setContactPhone(String contactPhone) 
+    public void setSqmyPhone(String sqmyPhone)
     {
-        this.contactPhone = contactPhone;
+        this.sqmyPhone = sqmyPhone;
     }
 
-    public String getContactPhone() 
+    public String getSqmyPhone()
     {
-        return contactPhone;
+        return sqmyPhone;
     }
-    public void setSqmyName(String sqmyName) 
+    public void setSqmyContent(String sqmyContent)
     {
-        this.sqmyName = sqmyName;
+        this.sqmyContent = sqmyContent;
     }
 
-    public String getSqmyName() 
+    public String getSqmyContent()
     {
-        return sqmyName;
+        return sqmyContent;
     }
-    public void setSqmyPhone(String sqmyPhone) 
+    public void setIsPublicity(String isPublicity)
     {
-        this.sqmyPhone = sqmyPhone;
+        this.isPublicity = isPublicity;
     }
 
-    public String getSqmyPhone() 
+    public String getIsPublicity()
     {
-        return sqmyPhone;
+        return isPublicity;
+    }
+    public void setIsSecret(String isSecret)
+    {
+        this.isSecret = isSecret;
     }
-    public void setUnit(String unit) 
+
+    public String getIsSecret()
+    {
+        return isSecret;
+    }
+    public void setUnit(String unit)
     {
         this.unit = unit;
     }
 
-    public String getUnit() 
+    public String getUnit()
     {
         return unit;
     }
-    public void setIsPublicity(String isPublicity) 
+    public void setIsRecord(String isRecord)
     {
-        this.isPublicity = isPublicity;
+        this.isRecord = isRecord;
     }
 
-    public String getIsPublicity() 
+    public String getIsRecord()
     {
-        return isPublicity;
+        return isRecord;
     }
-    public void setIsSecret(String isSecret) 
+    public void setSqmyProgress(String sqmyProgress)
     {
-        this.isSecret = isSecret;
+        this.sqmyProgress = sqmyProgress;
     }
 
-    public String getIsSecret() 
+    public String getSqmyProgress()
     {
-        return isSecret;
+        return sqmyProgress;
+    }
+    public void setRollingProcess(String rollingProcess)
+    {
+        this.rollingProcess = rollingProcess;
+    }
+
+    public String getRollingProcess()
+    {
+        return rollingProcess;
+    }
+    public void setComplexType(String complexType)
+    {
+        this.complexType = complexType;
+    }
+
+    public String getComplexType()
+    {
+        return complexType;
+    }
+    public void setIsCasesTogether(String isCasesTogether)
+    {
+        this.isCasesTogether = isCasesTogether;
+    }
+
+    public String getIsCasesTogether()
+    {
+        return isCasesTogether;
+    }
+    public void setUniteSqmyId(Long uniteSqmyId)
+    {
+        this.uniteSqmyId = uniteSqmyId;
+    }
+
+    public Long getUniteSqmyId()
+    {
+        return uniteSqmyId;
+    }
+    public void setCbdwdfwy(String cbdwdfwy)
+    {
+        this.cbdwdfwy = cbdwdfwy;
+    }
+
+    public String getCbdwdfwy()
+    {
+        return cbdwdfwy;
+    }
+    public void setSatisfaction(String satisfaction)
+    {
+        this.satisfaction = satisfaction;
+    }
+
+    public String getSatisfaction()
+    {
+        return satisfaction;
+    }
+    public void setMembersOpinion(String membersOpinion)
+    {
+        this.membersOpinion = membersOpinion;
+    }
+
+    public String getMembersOpinion()
+    {
+        return membersOpinion;
+    }
+    public void setZxSatisfaction(String zxSatisfaction)
+    {
+        this.zxSatisfaction = zxSatisfaction;
+    }
+
+    public String getZxSatisfaction()
+    {
+        return zxSatisfaction;
+    }
+    public void setZxOpinion(String zxOpinion)
+    {
+        this.zxOpinion = zxOpinion;
+    }
+
+    public String getZxOpinion()
+    {
+        return zxOpinion;
+    }
+    public void setIsKeyPoint(String isKeyPoint)
+    {
+        this.isKeyPoint = isKeyPoint;
+    }
+
+    public String getIsKeyPoint()
+    {
+        return isKeyPoint;
+    }
+    public void setKeyPointArgument(String keyPointArgument)
+    {
+        this.keyPointArgument = keyPointArgument;
+    }
+
+    public String getKeyPointArgument()
+    {
+        return keyPointArgument;
+    }
+    public void setIsOutstanding(String isOutstanding)
+    {
+        this.isOutstanding = isOutstanding;
+    }
+
+    public String getIsOutstanding()
+    {
+        return isOutstanding;
+    }
+    public void setOutstandingArgument(String outstandingArgument)
+    {
+        this.outstandingArgument = outstandingArgument;
+    }
+
+    public String getOutstandingArgument()
+    {
+        return outstandingArgument;
     }
 
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("sqmyId", getSqmyId())
-            .append("sqmyUserId", getSqmyUserId())
-            .append("title", getTitle())
-            .append("titleType", getTitleType())
-            .append("proposalContent", getProposalContent())
-            .append("contactName", getContactName())
-            .append("contactPhone", getContactPhone())
-            .append("sqmyName", getSqmyName())
-            .append("sqmyPhone", getSqmyPhone())
-            .append("unit", getUnit())
-            .append("isPublicity", getIsPublicity())
-            .append("isSecret", getIsSecret())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
+                .append("sqmyId", getSqmyId())
+                .append("sqmyUserId", getSqmyUserId())
+                .append("sqmyNumber", getSqmyNumber())
+                .append("title", getTitle())
+                .append("lxrName", getLxrName())
+                .append("lxrPhone", getLxrPhone())
+                .append("sqmyName", getSqmyName())
+                .append("sqmyPhone", getSqmyPhone())
+                .append("sqmyContent", getSqmyContent())
+                .append("isPublicity", getIsPublicity())
+                .append("isSecret", getIsSecret())
+                .append("unit", getUnit())
+                .append("isRecord", getIsRecord())
+                .append("sqmyProgress", getSqmyProgress())
+                .append("rollingProcess", getRollingProcess())
+                .append("complexType", getComplexType())
+                .append("isCasesTogether", getIsCasesTogether())
+                .append("uniteSqmyId", getUniteSqmyId())
+                .append("cbdwdfwy", getCbdwdfwy())
+                .append("satisfaction", getSatisfaction())
+                .append("membersOpinion", getMembersOpinion())
+                .append("zxSatisfaction", getZxSatisfaction())
+                .append("zxOpinion", getZxOpinion())
+                .append("isKeyPoint", getIsKeyPoint())
+                .append("keyPointArgument", getKeyPointArgument())
+                .append("isOutstanding", getIsOutstanding())
+                .append("outstandingArgument", getOutstandingArgument())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .toString();
     }
 }

+ 196 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/sqmy/SqmyUnitReply.java

@@ -0,0 +1,196 @@
+package com.ruoyi.system.domain.sqmy;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.system.domain.ZxFj;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 社情民意单位答复对象 sqmy_unit_reply
+ * 
+ * @author boman
+ * @date 2024-03-15
+ */
+public class SqmyUnitReply extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** 单位id */
+    @Excel(name = "单位id")
+    private Long deptId;
+
+    /** 单位名称 */
+    @Excel(name = "单位名称")
+    private String deptName;
+
+    /** 提案id */
+    @Excel(name = "提案id")
+    private Long sqmyId;
+
+    /** 是否答复(0:是,1:否) */
+    @Excel(name = "是否答复", readConverterExp = "0=:是,1:否")
+    private String isReply;
+
+    /** 答复内容 */
+    @Excel(name = "答复内容")
+    private String content;
+
+    /** 单位类型 1:答复单位,2:主办单位,3:协办单位 */
+    @Excel(name = "单位类型 1:答复单位,2:主办单位,3:协办单位")
+    private String type;
+
+    /** 接收时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "接收时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date startTime;
+
+    /** 办结时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "办结时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date endTime;
+
+    /** 处理方式 */
+    @Excel(name = "处理方式")
+    private String handling;
+
+    /** 办理程度 */
+    @Excel(name = "办理程度")
+    private String degree;
+
+    /** 附件 */
+    private List<ZxFj> zxFjList;
+
+    public List<ZxFj> getZxFjList() {
+        return zxFjList;
+    }
+
+    public void setZxFjList(List<ZxFj> zxFjList) {
+        this.zxFjList = zxFjList;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setDeptId(Long deptId) 
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() 
+    {
+        return deptId;
+    }
+    public void setDeptName(String deptName) 
+    {
+        this.deptName = deptName;
+    }
+
+    public String getDeptName() 
+    {
+        return deptName;
+    }
+    public void setSqmyId(Long sqmyId) 
+    {
+        this.sqmyId = sqmyId;
+    }
+
+    public Long getSqmyId() 
+    {
+        return sqmyId;
+    }
+    public void setIsReply(String isReply) 
+    {
+        this.isReply = isReply;
+    }
+
+    public String getIsReply() 
+    {
+        return isReply;
+    }
+    public void setContent(String content) 
+    {
+        this.content = content;
+    }
+
+    public String getContent() 
+    {
+        return content;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setStartTime(Date startTime) 
+    {
+        this.startTime = startTime;
+    }
+
+    public Date getStartTime() 
+    {
+        return startTime;
+    }
+    public void setEndTime(Date endTime) 
+    {
+        this.endTime = endTime;
+    }
+
+    public Date getEndTime() 
+    {
+        return endTime;
+    }
+    public void setHandling(String handling) 
+    {
+        this.handling = handling;
+    }
+
+    public String getHandling() 
+    {
+        return handling;
+    }
+    public void setDegree(String degree) 
+    {
+        this.degree = degree;
+    }
+
+    public String getDegree() 
+    {
+        return degree;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("deptId", getDeptId())
+            .append("deptName", getDeptName())
+            .append("sqmyId", getSqmyId())
+            .append("isReply", getIsReply())
+            .append("content", getContent())
+            .append("type", getType())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("handling", getHandling())
+            .append("degree", getDegree())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SqmyUnitReplyMapper.java

@@ -0,0 +1,62 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
+
+import java.util.List;
+
+/**
+ * 社情民意单位答复Mapper接口
+ * 
+ * @author boman
+ * @date 2024-03-15
+ */
+public interface SqmyUnitReplyMapper 
+{
+    /**
+     * 查询社情民意单位答复
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 社情民意单位答复
+     */
+    public SqmyUnitReply selectSqmyUnitReplyById(Long id);
+
+    /**
+     * 查询社情民意单位答复列表
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 社情民意单位答复集合
+     */
+    public List<SqmyUnitReply> selectSqmyUnitReplyList(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 新增社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    public int insertSqmyUnitReply(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 修改社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    public int updateSqmyUnitReply(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 删除社情民意单位答复
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 结果
+     */
+    public int deleteSqmyUnitReplyById(Long id);
+
+    /**
+     * 批量删除社情民意单位答复
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSqmyUnitReplyByIds(Long[] ids);
+}

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISqmyInfoService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.system.service;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.domain.sqmy.SqmyInfo;
 
 import java.util.List;
@@ -60,4 +61,14 @@ public interface ISqmyInfoService
      * @return 结果
      */
     public int deleteSqmyInfoBySqmyId(Long sqmyId);
+
+    /***
+     * 是否立案
+     */
+    AjaxResult isRecord(SqmyInfo sqmyInfo);
+
+    /***
+     * 交办
+     */
+    AjaxResult assign(SqmyInfo sqmyInfo);
 }

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISqmyUnitReplyService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
+
+import java.util.List;
+
+/**
+ * 社情民意单位答复Service接口
+ * 
+ * @author boman
+ * @date 2024-03-15
+ */
+public interface ISqmyUnitReplyService 
+{
+    /**
+     * 查询社情民意单位答复
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 社情民意单位答复
+     */
+    public SqmyUnitReply selectSqmyUnitReplyById(Long id);
+
+    /**
+     * 查询社情民意单位答复列表
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 社情民意单位答复集合
+     */
+    public List<SqmyUnitReply> selectSqmyUnitReplyList(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 新增社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    public int insertSqmyUnitReply(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 修改社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    public int updateSqmyUnitReply(SqmyUnitReply sqmyUnitReply);
+
+    /**
+     * 批量删除社情民意单位答复
+     * 
+     * @param ids 需要删除的社情民意单位答复主键集合
+     * @return 结果
+     */
+    public int deleteSqmyUnitReplyByIds(Long[] ids);
+
+    /**
+     * 删除社情民意单位答复信息
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 结果
+     */
+    public int deleteSqmyUnitReplyById(Long id);
+}

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ProposalInfoServiceImpl.java

@@ -199,6 +199,7 @@ public class ProposalInfoServiceImpl implements IProposalInfoService
             for (ProposalUnitReply proposalUnitReply : proposalUnitReplyList) {
                 proposalUnitReply.setProposalId(proposalInfo.getProposalId());
                 proposalUnitReply.setType("1");
+                proposalUnitReply.setStartTime(DateUtils.getNowDate());
                 proposalUnitReplyMapper.insertProposalUnitReply(proposalUnitReply);
             }
         }else{
@@ -222,11 +223,13 @@ public class ProposalInfoServiceImpl implements IProposalInfoService
             for (ProposalUnitReply proposalUnitReply : proposalUnitReplyList) {
                 proposalUnitReply.setType("2");
                 proposalUnitReply.setProposalId(proposalInfo.getProposalId());
+                proposalUnitReply.setStartTime(DateUtils.getNowDate());
                 proposalUnitReplyMapper.insertProposalUnitReply(proposalUnitReply);
             }
         }
         zbUnitReply.setProposalId(proposalInfo.getProposalId());
         zbUnitReply.setType("1");
+        zbUnitReply.setStartTime(DateUtils.getNowDate());
         proposalUnitReplyMapper.insertProposalUnitReply(zbUnitReply);
 
         proposalInfo.setProposalProgress("3");

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ProposalUnitReplyServiceImpl.java

@@ -110,6 +110,7 @@ public class ProposalUnitReplyServiceImpl implements IProposalUnitReplyService
         //查询当前账号部门
         Long deptId = SecurityUtils.getDeptId();
         proposalUnitReply.setDeptId(deptId);
+        proposalUnitReply.setEndTime(DateUtils.getNowDate());
         List<ProposalUnitReply> list = proposalUnitReplyMapper.selectProposalUnitReplyList(proposalUnitReply);
         for (ProposalUnitReply unitReply : list) {
             unitReply.setContent(proposalUnitReply.getContent());

+ 97 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SqmyInfoServiceImpl.java

@@ -1,8 +1,18 @@
 package com.ruoyi.system.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.domain.ProposalUnitReply;
+import com.ruoyi.system.domain.ZxFj;
 import com.ruoyi.system.domain.sqmy.SqmyInfo;
+import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
+import com.ruoyi.system.mapper.SqmyUnitReplyMapper;
+import com.ruoyi.system.mapper.ZxFjMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.SqmyInfoMapper;
@@ -19,6 +29,10 @@ public class SqmyInfoServiceImpl implements ISqmyInfoService
 {
     @Autowired
     private SqmyInfoMapper sqmyInfoMapper;
+    @Autowired
+    private ZxFjMapper zxFjMapper;
+    @Autowired
+    private SqmyUnitReplyMapper sqmyUnitReplyMapper;
 
     /**
      * 查询社情民意信息
@@ -29,7 +43,35 @@ public class SqmyInfoServiceImpl implements ISqmyInfoService
     @Override
     public SqmyInfo selectSqmyInfoBySqmyId(Long sqmyId)
     {
-        return sqmyInfoMapper.selectSqmyInfoBySqmyId(sqmyId);
+        SqmyInfo sqmyInfo = sqmyInfoMapper.selectSqmyInfoBySqmyId(sqmyId);
+        //查询附件
+        ZxFj zxFj = new ZxFj();
+        zxFj.setMainId(sqmyId);
+        List<ZxFj> zxFjList = zxFjMapper.selectZxFjList(zxFj);
+        if(zxFjList!=null && zxFjList.size()>0){
+            sqmyInfo.setZxFjList(zxFjList);
+        }
+        //查询答复
+        SqmyUnitReply sqmyUnitReply = new SqmyUnitReply();
+        sqmyUnitReply.setSqmyId(sqmyId);
+        List<SqmyUnitReply> sqmyUnitReplyList = sqmyUnitReplyMapper.selectSqmyUnitReplyList(sqmyUnitReply);
+        if(sqmyUnitReplyList!=null && sqmyUnitReplyList.size()>0){
+            for (SqmyUnitReply unitReply : sqmyUnitReplyList) {
+                List<ZxFj> dfFjList = new ArrayList<>();
+                //查询答复附件
+                if(zxFjList!=null && zxFjList.size()>0){
+                    for (ZxFj fj : zxFjList) {
+                        if(fj.getStytle().equals(unitReply.getType())){
+                            dfFjList.add(fj);
+                        }
+                    }
+                }
+                unitReply.setZxFjList(dfFjList);
+            }
+            sqmyInfo.setSqmyUnitReplyList(sqmyUnitReplyList);
+        }
+
+        return sqmyInfo;
     }
 
     /**
@@ -53,8 +95,22 @@ public class SqmyInfoServiceImpl implements ISqmyInfoService
     @Override
     public int insertSqmyInfo(SqmyInfo sqmyInfo)
     {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        sqmyInfo.setSqmyUserId(user.getUserId());
+        sqmyInfo.setSqmyProgress("1");
         sqmyInfo.setCreateTime(DateUtils.getNowDate());
-        return sqmyInfoMapper.insertSqmyInfo(sqmyInfo);
+        int i = sqmyInfoMapper.insertSqmyInfo(sqmyInfo);
+        if(sqmyInfo.getZxFjList()!=null && sqmyInfo.getZxFjList().size()>0){
+            for (ZxFj zxFj : sqmyInfo.getZxFjList()) {
+                zxFj.setMainId(sqmyInfo.getSqmyId());
+                zxFj.setSourceId(sqmyInfo.getSqmyId());
+                zxFj.setType("1");
+                zxFj.setStytle("4");
+                zxFjMapper.insertZxFj(zxFj);
+            }
+        }
+
+        return i;
     }
 
     /**
@@ -66,6 +122,17 @@ public class SqmyInfoServiceImpl implements ISqmyInfoService
     @Override
     public int updateSqmyInfo(SqmyInfo sqmyInfo)
     {
+        //删除附件
+        zxFjMapper.deleteZxFjBySourceId(sqmyInfo.getSqmyId());
+        if(sqmyInfo.getZxFjList()!=null && sqmyInfo.getZxFjList().size()>0){
+            for (ZxFj zxFj : sqmyInfo.getZxFjList()) {
+                zxFj.setMainId(sqmyInfo.getSqmyId());
+                zxFj.setSourceId(sqmyInfo.getSqmyId());
+                zxFj.setType("1");
+                zxFj.setStytle("4");
+                zxFjMapper.insertZxFj(zxFj);
+            }
+        }
         sqmyInfo.setUpdateTime(DateUtils.getNowDate());
         return sqmyInfoMapper.updateSqmyInfo(sqmyInfo);
     }
@@ -93,4 +160,32 @@ public class SqmyInfoServiceImpl implements ISqmyInfoService
     {
         return sqmyInfoMapper.deleteSqmyInfoBySqmyId(sqmyId);
     }
+
+    /***
+     * 是否立案
+     */
+    @Override
+    public AjaxResult isRecord(SqmyInfo sqmyInfo) {
+        //不立案,指定答复单位
+        if("1".equals(sqmyInfo.getIsRecord())){
+            sqmyInfo.setSqmyProgress("1");
+            List<SqmyUnitReply> sqmyUnitReplyList = sqmyInfo.getSqmyUnitReplyList();
+            for (SqmyUnitReply sqmyUnitReply : sqmyUnitReplyList) {
+                sqmyUnitReply.setSqmyId(sqmyInfo.getSqmyId());
+                sqmyUnitReply.setType("1");
+                sqmyUnitReply.setStartTime(DateUtils.getNowDate());
+                sqmyUnitReplyMapper.insertSqmyUnitReply(sqmyUnitReply);
+            }
+        }else{
+            sqmyInfo.setSqmyProgress("2");
+        }
+        sqmyInfo.setUpdateTime(DateUtils.getNowDate());
+        int i = sqmyInfoMapper.updateSqmyInfo(sqmyInfo);
+        return i > 0 ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @Override
+    public AjaxResult assign(SqmyInfo sqmyInfo) {
+        return null;
+    }
 }

+ 94 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SqmyUnitReplyServiceImpl.java

@@ -0,0 +1,94 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.system.domain.sqmy.SqmyUnitReply;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.SqmyUnitReplyMapper;
+import com.ruoyi.system.service.ISqmyUnitReplyService;
+
+/**
+ * 社情民意单位答复Service业务层处理
+ * 
+ * @author boman
+ * @date 2024-03-15
+ */
+@Service
+public class SqmyUnitReplyServiceImpl implements ISqmyUnitReplyService 
+{
+    @Autowired
+    private SqmyUnitReplyMapper sqmyUnitReplyMapper;
+
+    /**
+     * 查询社情民意单位答复
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 社情民意单位答复
+     */
+    @Override
+    public SqmyUnitReply selectSqmyUnitReplyById(Long id)
+    {
+        return sqmyUnitReplyMapper.selectSqmyUnitReplyById(id);
+    }
+
+    /**
+     * 查询社情民意单位答复列表
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 社情民意单位答复
+     */
+    @Override
+    public List<SqmyUnitReply> selectSqmyUnitReplyList(SqmyUnitReply sqmyUnitReply)
+    {
+        return sqmyUnitReplyMapper.selectSqmyUnitReplyList(sqmyUnitReply);
+    }
+
+    /**
+     * 新增社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    @Override
+    public int insertSqmyUnitReply(SqmyUnitReply sqmyUnitReply)
+    {
+        return sqmyUnitReplyMapper.insertSqmyUnitReply(sqmyUnitReply);
+    }
+
+    /**
+     * 修改社情民意单位答复
+     * 
+     * @param sqmyUnitReply 社情民意单位答复
+     * @return 结果
+     */
+    @Override
+    public int updateSqmyUnitReply(SqmyUnitReply sqmyUnitReply)
+    {
+        return sqmyUnitReplyMapper.updateSqmyUnitReply(sqmyUnitReply);
+    }
+
+    /**
+     * 批量删除社情民意单位答复
+     * 
+     * @param ids 需要删除的社情民意单位答复主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSqmyUnitReplyByIds(Long[] ids)
+    {
+        return sqmyUnitReplyMapper.deleteSqmyUnitReplyByIds(ids);
+    }
+
+    /**
+     * 删除社情民意单位答复信息
+     * 
+     * @param id 社情民意单位答复主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSqmyUnitReplyById(Long id)
+    {
+        return sqmyUnitReplyMapper.deleteSqmyUnitReplyById(id);
+    }
+}

+ 110 - 35
ruoyi-system/src/main/resources/mapper/system/SqmyInfoMapper.xml

@@ -1,22 +1,37 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.SqmyInfoMapper">
-    
+
     <resultMap type="SqmyInfo" id="SqmyInfoResult">
         <result property="sqmyId"    column="sqmy_id"    />
         <result property="sqmyUserId"    column="sqmy_user_id"    />
+        <result property="sqmyNumber"    column="sqmy_number"    />
         <result property="title"    column="title"    />
-        <result property="titleType"    column="title_type"    />
-        <result property="proposalContent"    column="proposal_content"    />
-        <result property="contactName"    column="contact_name"    />
-        <result property="contactPhone"    column="contact_phone"    />
+        <result property="lxrName"    column="lxr_name"    />
+        <result property="lxrPhone"    column="lxr_phone"    />
         <result property="sqmyName"    column="sqmy_name"    />
         <result property="sqmyPhone"    column="sqmy_phone"    />
-        <result property="unit"    column="unit"    />
+        <result property="sqmyContent"    column="sqmy_content"    />
         <result property="isPublicity"    column="is_publicity"    />
         <result property="isSecret"    column="is_secret"    />
+        <result property="unit"    column="unit"    />
+        <result property="isRecord"    column="is_record"    />
+        <result property="sqmyProgress"    column="sqmy_progress"    />
+        <result property="rollingProcess"    column="rolling_process"    />
+        <result property="complexType"    column="complex_type"    />
+        <result property="isCasesTogether"    column="is_cases_together"    />
+        <result property="uniteSqmyId"    column="unite_sqmy_id"    />
+        <result property="cbdwdfwy"    column="cbdwdfwy"    />
+        <result property="satisfaction"    column="satisfaction"    />
+        <result property="membersOpinion"    column="members_opinion"    />
+        <result property="zxSatisfaction"    column="zx_satisfaction"    />
+        <result property="zxOpinion"    column="zx_opinion"    />
+        <result property="isKeyPoint"    column="is_key_point"    />
+        <result property="keyPointArgument"    column="key_point_argument"    />
+        <result property="isOutstanding"    column="is_outstanding"    />
+        <result property="outstandingArgument"    column="outstanding_argument"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
@@ -25,85 +40,145 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectSqmyInfoVo">
-        select sqmy_id, sqmy_user_id, title, title_type, proposal_content, contact_name, contact_phone, sqmy_name, sqmy_phone, unit, is_publicity, is_secret, create_by, create_time, update_by, update_time, remark from sqmy_info
+        select sqmy_id, sqmy_user_id, sqmy_number, title, lxr_name, lxr_phone, sqmy_name, sqmy_phone, sqmy_content, is_publicity, is_secret, unit, is_record, sqmy_progress, rolling_process, complex_type, is_cases_together, unite_sqmy_id, cbdwdfwy, satisfaction, members_opinion, zx_satisfaction, zx_opinion, is_key_point, key_point_argument, is_outstanding, outstanding_argument, create_by, create_time, update_by, update_time, remark from sqmy_info
     </sql>
 
     <select id="selectSqmyInfoList" parameterType="SqmyInfo" resultMap="SqmyInfoResult">
         <include refid="selectSqmyInfoVo"/>
-        <where>  
+        <where>
             <if test="sqmyUserId != null "> and sqmy_user_id = #{sqmyUserId}</if>
+            <if test="sqmyNumber != null  and sqmyNumber != ''"> and sqmy_number = #{sqmyNumber}</if>
             <if test="title != null  and title != ''"> and title = #{title}</if>
-            <if test="titleType != null  and titleType != ''"> and title_type = #{titleType}</if>
-            <if test="proposalContent != null  and proposalContent != ''"> and proposal_content = #{proposalContent}</if>
-            <if test="contactName != null  and contactName != ''"> and contact_name like concat('%', #{contactName}, '%')</if>
-            <if test="contactPhone != null  and contactPhone != ''"> and contact_phone = #{contactPhone}</if>
+            <if test="lxrName != null  and lxrName != ''"> and lxr_name like concat('%', #{lxrName}, '%')</if>
+            <if test="lxrPhone != null  and lxrPhone != ''"> and lxr_phone = #{lxrPhone}</if>
             <if test="sqmyName != null  and sqmyName != ''"> and sqmy_name like concat('%', #{sqmyName}, '%')</if>
             <if test="sqmyPhone != null  and sqmyPhone != ''"> and sqmy_phone = #{sqmyPhone}</if>
-            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="sqmyContent != null  and sqmyContent != ''"> and sqmy_content = #{sqmyContent}</if>
             <if test="isPublicity != null  and isPublicity != ''"> and is_publicity = #{isPublicity}</if>
             <if test="isSecret != null  and isSecret != ''"> and is_secret = #{isSecret}</if>
+            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="isRecord != null  and isRecord != ''"> and is_record = #{isRecord}</if>
+            <if test="sqmyProgress != null  and sqmyProgress != ''"> and sqmy_progress = #{sqmyProgress}</if>
+            <if test="rollingProcess != null  and rollingProcess != ''"> and rolling_process = #{rollingProcess}</if>
+            <if test="complexType != null  and complexType != ''"> and complex_type = #{complexType}</if>
+            <if test="isCasesTogether != null  and isCasesTogether != ''"> and is_cases_together = #{isCasesTogether}</if>
+            <if test="uniteSqmyId != null "> and unite_sqmy_id = #{uniteSqmyId}</if>
+            <if test="cbdwdfwy != null  and cbdwdfwy != ''"> and cbdwdfwy = #{cbdwdfwy}</if>
+            <if test="satisfaction != null  and satisfaction != ''"> and satisfaction = #{satisfaction}</if>
+            <if test="membersOpinion != null  and membersOpinion != ''"> and members_opinion = #{membersOpinion}</if>
+            <if test="zxSatisfaction != null  and zxSatisfaction != ''"> and zx_satisfaction = #{zxSatisfaction}</if>
+            <if test="zxOpinion != null  and zxOpinion != ''"> and zx_opinion = #{zxOpinion}</if>
+            <if test="isKeyPoint != null  and isKeyPoint != ''"> and is_key_point = #{isKeyPoint}</if>
+            <if test="keyPointArgument != null  and keyPointArgument != ''"> and key_point_argument = #{keyPointArgument}</if>
+            <if test="isOutstanding != null  and isOutstanding != ''"> and is_outstanding = #{isOutstanding}</if>
+            <if test="outstandingArgument != null  and outstandingArgument != ''"> and outstanding_argument = #{outstandingArgument}</if>
         </where>
     </select>
-    
+
     <select id="selectSqmyInfoBySqmyId" parameterType="Long" resultMap="SqmyInfoResult">
         <include refid="selectSqmyInfoVo"/>
         where sqmy_id = #{sqmyId}
     </select>
-        
+
     <insert id="insertSqmyInfo" parameterType="SqmyInfo" useGeneratedKeys="true" keyProperty="sqmyId">
         insert into sqmy_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="sqmyUserId != null">sqmy_user_id,</if>
+            <if test="sqmyNumber != null">sqmy_number,</if>
             <if test="title != null and title != ''">title,</if>
-            <if test="titleType != null">title_type,</if>
-            <if test="proposalContent != null">proposal_content,</if>
-            <if test="contactName != null and contactName != ''">contact_name,</if>
-            <if test="contactPhone != null and contactPhone != ''">contact_phone,</if>
+            <if test="lxrName != null and lxrName != ''">lxr_name,</if>
+            <if test="lxrPhone != null and lxrPhone != ''">lxr_phone,</if>
             <if test="sqmyName != null and sqmyName != ''">sqmy_name,</if>
             <if test="sqmyPhone != null and sqmyPhone != ''">sqmy_phone,</if>
-            <if test="unit != null">unit,</if>
+            <if test="sqmyContent != null">sqmy_content,</if>
             <if test="isPublicity != null">is_publicity,</if>
             <if test="isSecret != null">is_secret,</if>
+            <if test="unit != null">unit,</if>
+            <if test="isRecord != null">is_record,</if>
+            <if test="sqmyProgress != null">sqmy_progress,</if>
+            <if test="rollingProcess != null">rolling_process,</if>
+            <if test="complexType != null">complex_type,</if>
+            <if test="isCasesTogether != null">is_cases_together,</if>
+            <if test="uniteSqmyId != null">unite_sqmy_id,</if>
+            <if test="cbdwdfwy != null">cbdwdfwy,</if>
+            <if test="satisfaction != null">satisfaction,</if>
+            <if test="membersOpinion != null">members_opinion,</if>
+            <if test="zxSatisfaction != null">zx_satisfaction,</if>
+            <if test="zxOpinion != null">zx_opinion,</if>
+            <if test="isKeyPoint != null">is_key_point,</if>
+            <if test="keyPointArgument != null">key_point_argument,</if>
+            <if test="isOutstanding != null">is_outstanding,</if>
+            <if test="outstandingArgument != null">outstanding_argument,</if>
             <if test="createBy != null">create_by,</if>
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="remark != null">remark,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="sqmyUserId != null">#{sqmyUserId},</if>
+            <if test="sqmyNumber != null">#{sqmyNumber},</if>
             <if test="title != null and title != ''">#{title},</if>
-            <if test="titleType != null">#{titleType},</if>
-            <if test="proposalContent != null">#{proposalContent},</if>
-            <if test="contactName != null and contactName != ''">#{contactName},</if>
-            <if test="contactPhone != null and contactPhone != ''">#{contactPhone},</if>
+            <if test="lxrName != null and lxrName != ''">#{lxrName},</if>
+            <if test="lxrPhone != null and lxrPhone != ''">#{lxrPhone},</if>
             <if test="sqmyName != null and sqmyName != ''">#{sqmyName},</if>
             <if test="sqmyPhone != null and sqmyPhone != ''">#{sqmyPhone},</if>
-            <if test="unit != null">#{unit},</if>
+            <if test="sqmyContent != null">#{sqmyContent},</if>
             <if test="isPublicity != null">#{isPublicity},</if>
             <if test="isSecret != null">#{isSecret},</if>
+            <if test="unit != null">#{unit},</if>
+            <if test="isRecord != null">#{isRecord},</if>
+            <if test="sqmyProgress != null">#{sqmyProgress},</if>
+            <if test="rollingProcess != null">#{rollingProcess},</if>
+            <if test="complexType != null">#{complexType},</if>
+            <if test="isCasesTogether != null">#{isCasesTogether},</if>
+            <if test="uniteSqmyId != null">#{uniteSqmyId},</if>
+            <if test="cbdwdfwy != null">#{cbdwdfwy},</if>
+            <if test="satisfaction != null">#{satisfaction},</if>
+            <if test="membersOpinion != null">#{membersOpinion},</if>
+            <if test="zxSatisfaction != null">#{zxSatisfaction},</if>
+            <if test="zxOpinion != null">#{zxOpinion},</if>
+            <if test="isKeyPoint != null">#{isKeyPoint},</if>
+            <if test="keyPointArgument != null">#{keyPointArgument},</if>
+            <if test="isOutstanding != null">#{isOutstanding},</if>
+            <if test="outstandingArgument != null">#{outstandingArgument},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="remark != null">#{remark},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateSqmyInfo" parameterType="SqmyInfo">
         update sqmy_info
         <trim prefix="SET" suffixOverrides=",">
             <if test="sqmyUserId != null">sqmy_user_id = #{sqmyUserId},</if>
+            <if test="sqmyNumber != null">sqmy_number = #{sqmyNumber},</if>
             <if test="title != null and title != ''">title = #{title},</if>
-            <if test="titleType != null">title_type = #{titleType},</if>
-            <if test="proposalContent != null">proposal_content = #{proposalContent},</if>
-            <if test="contactName != null and contactName != ''">contact_name = #{contactName},</if>
-            <if test="contactPhone != null and contactPhone != ''">contact_phone = #{contactPhone},</if>
+            <if test="lxrName != null and lxrName != ''">lxr_name = #{lxrName},</if>
+            <if test="lxrPhone != null and lxrPhone != ''">lxr_phone = #{lxrPhone},</if>
             <if test="sqmyName != null and sqmyName != ''">sqmy_name = #{sqmyName},</if>
             <if test="sqmyPhone != null and sqmyPhone != ''">sqmy_phone = #{sqmyPhone},</if>
-            <if test="unit != null">unit = #{unit},</if>
+            <if test="sqmyContent != null">sqmy_content = #{sqmyContent},</if>
             <if test="isPublicity != null">is_publicity = #{isPublicity},</if>
             <if test="isSecret != null">is_secret = #{isSecret},</if>
+            <if test="unit != null">unit = #{unit},</if>
+            <if test="isRecord != null">is_record = #{isRecord},</if>
+            <if test="sqmyProgress != null">sqmy_progress = #{sqmyProgress},</if>
+            <if test="rollingProcess != null">rolling_process = #{rollingProcess},</if>
+            <if test="complexType != null">complex_type = #{complexType},</if>
+            <if test="isCasesTogether != null">is_cases_together = #{isCasesTogether},</if>
+            <if test="uniteSqmyId != null">unite_sqmy_id = #{uniteSqmyId},</if>
+            <if test="cbdwdfwy != null">cbdwdfwy = #{cbdwdfwy},</if>
+            <if test="satisfaction != null">satisfaction = #{satisfaction},</if>
+            <if test="membersOpinion != null">members_opinion = #{membersOpinion},</if>
+            <if test="zxSatisfaction != null">zx_satisfaction = #{zxSatisfaction},</if>
+            <if test="zxOpinion != null">zx_opinion = #{zxOpinion},</if>
+            <if test="isKeyPoint != null">is_key_point = #{isKeyPoint},</if>
+            <if test="keyPointArgument != null">key_point_argument = #{keyPointArgument},</if>
+            <if test="isOutstanding != null">is_outstanding = #{isOutstanding},</if>
+            <if test="outstandingArgument != null">outstanding_argument = #{outstandingArgument},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
@@ -118,7 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteSqmyInfoBySqmyIds" parameterType="String">
-        delete from sqmy_info where sqmy_id in 
+        delete from sqmy_info where sqmy_id in
         <foreach item="sqmyId" collection="array" open="(" separator="," close=")">
             #{sqmyId}
         </foreach>

+ 105 - 0
ruoyi-system/src/main/resources/mapper/system/SqmyUnitReplyMapper.xml

@@ -0,0 +1,105 @@
+<?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="com.ruoyi.system.mapper.SqmyUnitReplyMapper">
+    
+    <resultMap type="SqmyUnitReply" id="SqmyUnitReplyResult">
+        <result property="id"    column="id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="sqmyId"    column="sqmy_id"    />
+        <result property="isReply"    column="is_reply"    />
+        <result property="content"    column="content"    />
+        <result property="type"    column="type"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="handling"    column="handling"    />
+        <result property="degree"    column="degree"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectSqmyUnitReplyVo">
+        select id, dept_id, dept_name, sqmy_id, is_reply, content, type, start_time, end_time, handling, degree, remark from sqmy_unit_reply
+    </sql>
+
+    <select id="selectSqmyUnitReplyList" parameterType="SqmyUnitReply" resultMap="SqmyUnitReplyResult">
+        <include refid="selectSqmyUnitReplyVo"/>
+        <where>  
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="deptName != null  and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
+            <if test="sqmyId != null "> and sqmy_id = #{sqmyId}</if>
+            <if test="isReply != null  and isReply != ''"> and is_reply = #{isReply}</if>
+            <if test="content != null  and content != ''"> and content = #{content}</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+            <if test="handling != null  and handling != ''"> and handling = #{handling}</if>
+            <if test="degree != null  and degree != ''"> and degree = #{degree}</if>
+        </where>
+    </select>
+    
+    <select id="selectSqmyUnitReplyById" parameterType="Long" resultMap="SqmyUnitReplyResult">
+        <include refid="selectSqmyUnitReplyVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSqmyUnitReply" parameterType="SqmyUnitReply" useGeneratedKeys="true" keyProperty="id">
+        insert into sqmy_unit_reply
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">dept_id,</if>
+            <if test="deptName != null">dept_name,</if>
+            <if test="sqmyId != null">sqmy_id,</if>
+            <if test="isReply != null">is_reply,</if>
+            <if test="content != null and content != ''">content,</if>
+            <if test="type != null">type,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="handling != null">handling,</if>
+            <if test="degree != null">degree,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">#{deptId},</if>
+            <if test="deptName != null">#{deptName},</if>
+            <if test="sqmyId != null">#{sqmyId},</if>
+            <if test="isReply != null">#{isReply},</if>
+            <if test="content != null and content != ''">#{content},</if>
+            <if test="type != null">#{type},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="handling != null">#{handling},</if>
+            <if test="degree != null">#{degree},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSqmyUnitReply" parameterType="SqmyUnitReply">
+        update sqmy_unit_reply
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="deptName != null">dept_name = #{deptName},</if>
+            <if test="sqmyId != null">sqmy_id = #{sqmyId},</if>
+            <if test="isReply != null">is_reply = #{isReply},</if>
+            <if test="content != null and content != ''">content = #{content},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="handling != null">handling = #{handling},</if>
+            <if test="degree != null">degree = #{degree},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSqmyUnitReplyById" parameterType="Long">
+        delete from sqmy_unit_reply where id = #{id}
+    </delete>
+
+    <delete id="deleteSqmyUnitReplyByIds" parameterType="String">
+        delete from sqmy_unit_reply where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>