ソースを参照

Merge remote-tracking branch 'origin/V1' into V1

jz.kai 5 年 前
コミット
67c0e1c8c2

+ 4 - 0
common/src/main/java/com/jpsoft/smart/modules/base/dao/MessageNoticeCompanyDAO.java

@@ -1,6 +1,8 @@
 package com.jpsoft.smart.modules.base.dao;
 
 import java.util.List;
+
+import com.jpsoft.smart.modules.base.entity.MessageNotice;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.smart.modules.base.entity.MessageNoticeCompany;
 import java.util.Map;
@@ -13,6 +15,8 @@ public interface MessageNoticeCompanyDAO {
 	int exist(String id);
 	MessageNoticeCompany get(String id);
 	int delete(String id);
+	int deleteByNoticeId(String noticeId);
+	List<MessageNoticeCompany> findByNoticeId(String noticeId);
 	List<MessageNoticeCompany> list();
 	List<MessageNoticeCompany> search(Map<String,Object> searchParams,List<Sort> sortList);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/smart/modules/base/dao/MessageNoticeDAO.java

@@ -1,6 +1,8 @@
 package com.jpsoft.smart.modules.base.dao;
 
 import java.util.List;
+
+import com.jpsoft.smart.modules.base.entity.MessageNoticeCompany;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.smart.modules.base.entity.MessageNotice;
 import java.util.Map;

+ 4 - 0
common/src/main/java/com/jpsoft/smart/modules/base/entity/MessageNotice.java

@@ -75,4 +75,8 @@ public class MessageNotice {
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	    @ApiModelProperty(value = "更新时间")
 	private Date updateTime;
+
+
+	@ApiModelProperty(value="接收公司")
+	private String noticeCompany;
 }

+ 3 - 0
common/src/main/java/com/jpsoft/smart/modules/base/service/MessageNoticeCompanyService.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.util.Map;
 import com.jpsoft.smart.modules.base.entity.MessageNoticeCompany;
 import com.github.pagehelper.Page;
+import com.jpsoft.smart.modules.base.entity.PersonCompany;
 import com.jpsoft.smart.modules.common.dto.Sort;
 
 public interface MessageNoticeCompanyService {
@@ -12,6 +13,8 @@ public interface MessageNoticeCompanyService {
 	int insert(MessageNoticeCompany model);
 	int update(MessageNoticeCompany model);
 	int delete(String id);
+	int deleteByNoticeId(String noticeId);
+	List<MessageNoticeCompany> findByNoticeId(String noticeId);
 	List<MessageNoticeCompany> list();
 	Page<MessageNoticeCompany> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 }

+ 9 - 0
common/src/main/java/com/jpsoft/smart/modules/base/service/impl/MessageNoticeCompanyServiceImpl.java

@@ -52,6 +52,15 @@ public class MessageNoticeCompanyServiceImpl implements MessageNoticeCompanyServ
 		
 		return count > 0 ? true : false;
 	}
+	@Override
+	public int deleteByNoticeId(String noticeId){
+		return messageNoticeCompanyDAO.deleteByNoticeId(noticeId);
+	}
+
+	@Override
+	public List<MessageNoticeCompany> findByNoticeId(String noticeId){
+		return messageNoticeCompanyDAO.findByNoticeId(noticeId);
+	}
 	
 	@Override
 	public List<MessageNoticeCompany> list() {

+ 10 - 0
common/src/main/resources/mapper/base/MessageNoticeCompany.xml

@@ -88,4 +88,14 @@ id_,company_id,notice_id,create_by,create_time,update_by,update_time,del_flag		f
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+
+
+	<select id="findByNoticeId" parameterType="string" resultMap="MessageNoticeCompanyMap">
+		select * from base_message_notice_company
+		where notice_id=#{noticeId} and del_flag=0
+	</select>
+
+	<delete id="deleteByNoticeId" parameterType="string">
+		delete from base_message_notice_company where notice_id=#{0}
+	</delete>
 </mapper>

+ 48 - 0
web/src/main/java/com/jpsoft/smart/modules/base/controller/MessageNoticeController.java

@@ -1,6 +1,9 @@
 package com.jpsoft.smart.modules.base.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.smart.modules.base.entity.MessageNoticeCompany;
+import com.jpsoft.smart.modules.base.entity.PersonCompany;
+import com.jpsoft.smart.modules.base.service.MessageNoticeCompanyService;
 import com.jpsoft.smart.modules.common.utils.PojoUtils;
 import com.jpsoft.smart.modules.common.dto.Sort;
 import com.jpsoft.smart.modules.common.dto.MessageResult;
@@ -27,6 +30,9 @@ public class MessageNoticeController {
     @Autowired
     private MessageNoticeService messageNoticeService;
 
+    @Autowired
+    private MessageNoticeCompanyService messageNoticeCompanyService;
+
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
     public MessageResult<MessageNotice> create(){
@@ -54,6 +60,21 @@ public class MessageNoticeController {
             int affectCount = messageNoticeService.insert(messageNotice);
 
             if (affectCount > 0) {
+                String noticeCompany = messageNotice.getNoticeCompany();
+                String[] companyIds = noticeCompany.split(",");
+                MessageNoticeCompany messageNoticeCompany = null;
+                //查找新创建用户ID
+                for(String companyId : companyIds){
+                    //添加
+                    messageNoticeCompany = new MessageNoticeCompany();
+                    messageNoticeCompany.setId(UUID.randomUUID().toString());
+                    messageNoticeCompany.setCompanyId(companyId);
+                    messageNoticeCompany.setNoticeId(messageNotice.getId());
+                    messageNoticeCompany.setDelFlag(false);
+                    messageNoticeCompany.setCreateBy(subject);
+                    messageNoticeCompany.setCreateTime(new Date());
+                    messageNoticeCompanyService.insert(messageNoticeCompany);
+                }
                 msgResult.setResult(true);
                 msgResult.setData(messageNotice);
             } else {
@@ -80,6 +101,16 @@ public class MessageNoticeController {
             MessageNotice messageNotice = messageNoticeService.get(id);
 
             if (messageNotice != null) {
+                //查询用户关联子公司表
+                List<MessageNoticeCompany> messageNoticeList = messageNoticeCompanyService.findByNoticeId(id);
+                String mnc = "";
+                for(MessageNoticeCompany messageNoticeCompany : messageNoticeList){
+                    mnc += messageNoticeCompany.getCompanyId() + ",";
+                }
+                if(mnc.length() > 0) {
+                    mnc = mnc.substring(0, mnc.length() - 1);
+                }
+                messageNotice.setNoticeCompany(mnc);
                 msgResult.setResult(true);
                 msgResult.setData(messageNotice);
             } else {
@@ -109,6 +140,23 @@ public class MessageNoticeController {
             int affectCount = messageNoticeService.update(messageNotice);
 
             if (affectCount > 0) {
+                String noticeCompany = messageNotice.getNoticeCompany();
+                String[] companyIds = noticeCompany.split(",");
+                MessageNoticeCompany messageNoticeCompany = null;
+                //删除
+                messageNoticeCompanyService.deleteByNoticeId(messageNotice.getId());
+                //查找新创建用户ID
+                for(String companyId : companyIds){
+                    //添加
+                    messageNoticeCompany = new MessageNoticeCompany();
+                    messageNoticeCompany.setId(UUID.randomUUID().toString());
+                    messageNoticeCompany.setCompanyId(companyId);
+                    messageNoticeCompany.setNoticeId(messageNotice.getId());
+                    messageNoticeCompany.setDelFlag(false);
+                    messageNoticeCompany.setCreateBy(subject);
+                    messageNoticeCompany.setCreateTime(new Date());
+                    messageNoticeCompanyService.insert(messageNoticeCompany);
+                }
                 msgResult.setResult(true);
                 msgResult.setData(messageNotice);
             } else {