浏览代码

线路添加队长,车辆添加车长功能

xiao547607 4 年之前
父节点
当前提交
8ca00a0c85

+ 2 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/dao/RouteAccountDAO.java

@@ -18,4 +18,6 @@ public interface RouteAccountDAO {
 	List<RouteAccount> search(Map<String,Object> searchParams,List<Sort> sortList);
 
     List<RouteAccount> findByAccountId(String accountId);
+	List<RouteAccount> findByRouteId(String routeId);
+	int deleteByRouteId(String routeId);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/dto/RouteInfoDTO.java

@@ -36,4 +36,6 @@ public class RouteInfoDTO {
     private String regionName;
     @ApiModelProperty(value = "间隔时间(分钟)")
     private Integer interval;
+
+    private List<String> accounts;
 }

+ 3 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/entity/RouteAccount.java

@@ -36,4 +36,7 @@ public class RouteAccount {
     private Date updateTime;
         @ApiModelProperty(value = "是否删除")
     private Boolean delFlag;
+
+    @ApiModelProperty(value = "营收用户名称")
+    private String accountName;
 }

+ 3 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/entity/RouteInfo.java

@@ -53,4 +53,7 @@ public class RouteInfo {
     private String regionName;
     @ApiModelProperty(value = "间隔时间(分钟)")
     private Integer interval;
+
+    @ApiModelProperty(value = "队长姓名")
+    private String accountNames;
 }

+ 2 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/service/RouteAccountService.java

@@ -16,4 +16,6 @@ public interface RouteAccountService {
 	Page<RouteAccount> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 
     List<RouteAccount> findByAccountId(String accountId);
+	List<RouteAccount> findByRouteId(String routeId);
+	int deleteByRouteId(String routeId);
 }

+ 10 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/service/impl/RouteAccountServiceImpl.java

@@ -73,4 +73,14 @@ public class RouteAccountServiceImpl implements RouteAccountService {
 	public List<RouteAccount> findByAccountId(String accountId) {
 		return routeAccountDAO.findByAccountId(accountId);
 	}
+
+	@Override
+	public int deleteByRouteId(String routeId){
+		return routeAccountDAO.deleteByRouteId(routeId);
+	}
+
+	@Override
+	public List<RouteAccount> findByRouteId(String routeId) {
+		return routeAccountDAO.findByRouteId(routeId);
+	}
 }

+ 18 - 0
common/src/main/resources/mapper/bus/RouteAccount.xml

@@ -12,6 +12,7 @@
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
 			<result property="delFlag" column="del_flag" />
+            <result property="accountName" column="account_name" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.bus.modules.bus.entity.RouteAccount">
 	<!--
@@ -96,4 +97,21 @@ id_,route_id,account_id,create_by,create_time,update_by,update_time,del_flag		fr
 		and account_id = #{accountId}
 		]]>
 	</select>
+
+	<select id="findByRouteId" resultMap="RouteAccountMap">
+		<![CDATA[
+		SELECT
+            a.*,
+            b.name_ AS account_name
+        FROM
+            bus_route_account a
+            LEFT JOIN merchant_account_info b ON a.account_id = b.id_
+		where a.del_flag = 0
+		and a.route_id = #{routeId}
+		]]>
+	</select>
+
+	<delete id="deleteByRouteId" parameterType="string">
+		delete from bus_route_account where route_id=#{routeId}
+	</delete>
 </mapper>

+ 6 - 4
common/src/main/resources/mapper/bus/VehicleInfo.xml

@@ -158,10 +158,12 @@
         <![CDATA[
 			SELECT
 				a.*,
-				b.name_ AS route_name
-			FROM
-				bus_vehicle_info a
-				LEFT JOIN bus_route_info b ON a.route_id = b.id_
+                b.name_ AS route_name,
+                c.name_ AS account_name
+            FROM
+                bus_vehicle_info a
+                LEFT JOIN bus_route_info b ON a.route_id = b.id_
+                LEFT JOIN merchant_account_info c ON a.account_id = c.id_
 		]]>
         <where>
             a.del_flag=false

+ 48 - 5
web/src/main/java/com/jpsoft/bus/modules/bus/controller/RouteInfoController.java

@@ -6,12 +6,9 @@ import com.jpsoft.bus.modules.bus.dto.RouteInfoDTO;
 import com.jpsoft.bus.modules.bus.dto.RouteMapPathDTO;
 import com.jpsoft.bus.modules.bus.dto.StationInfoDTO;
 import com.jpsoft.bus.modules.bus.entity.*;
-import com.jpsoft.bus.modules.bus.service.CompanyInfoService;
-import com.jpsoft.bus.modules.bus.service.StationInfoService;
-import com.jpsoft.bus.modules.bus.service.StationSubInfoService;
+import com.jpsoft.bus.modules.bus.service.*;
 import com.jpsoft.bus.modules.common.dto.MessageResult;
 import com.jpsoft.bus.modules.common.dto.Sort;
-import com.jpsoft.bus.modules.bus.service.RouteInfoService;
 import com.jpsoft.bus.modules.common.utils.OSSUtil;
 import com.jpsoft.bus.modules.common.utils.POIUtils;
 import com.jpsoft.bus.modules.common.utils.PojoUtils;
@@ -69,6 +66,9 @@ public class RouteInfoController {
     @Autowired
     private StationSubInfoService stationSubInfoService;
 
+    @Autowired
+    private RouteAccountService routeAccountService;
+
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
     public MessageResult<RouteInfoDTO> create(){
@@ -129,6 +129,23 @@ public class RouteInfoController {
                     stationInfoService.insert(stationInfo);
                 }
 
+                if(dto.getAccounts() != null){
+                    affectCount = routeAccountService.deleteByRouteId(dto.getId());
+
+                    for (String accountId : dto.getAccounts()) {
+                        RouteAccount ra = new RouteAccount();
+
+                        ra.setId(UUID.randomUUID().toString());
+                        ra.setRouteId(dto.getId());
+                        ra.setAccountId(accountId);
+                        ra.setCreateBy(subject);
+                        ra.setCreateTime(new Date());
+                        ra.setDelFlag(false);
+
+                        affectCount += routeAccountService.insert(ra);
+                    }
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(routeInfoService.get(routeInfo.getId()));
             } else {
@@ -209,6 +226,10 @@ public class RouteInfoController {
                     routeInfoDTO.setPathList(pathList);
                 }
 
+
+                List<RouteAccount> routeAccountList = routeAccountService.findByRouteId(id);
+                routeInfoDTO.setAccounts(routeAccountList.stream().map((routeAccount)->routeAccount.getAccountId()).collect(Collectors.toList()));
+
                 msgResult.setResult(true);
                 msgResult.setData(routeInfoDTO);
             } else {
@@ -320,6 +341,23 @@ public class RouteInfoController {
                     }
                 }
 
+                if(dto.getAccounts() != null){
+                    affectCount = routeAccountService.deleteByRouteId(dto.getId());
+
+                    for (String accountId : dto.getAccounts()) {
+                        RouteAccount ra = new RouteAccount();
+
+                        ra.setId(UUID.randomUUID().toString());
+                        ra.setRouteId(dto.getId());
+                        ra.setAccountId(accountId);
+                        ra.setCreateBy(subject);
+                        ra.setCreateTime(new Date());
+                        ra.setDelFlag(false);
+
+                        affectCount += routeAccountService.insert(ra);
+                    }
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(routeInfoService.get(routeInfo.getId()));
             } else {
@@ -438,7 +476,7 @@ public class RouteInfoController {
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(
             String companyId,String name,
-            @RequestParam(value="regionI",defaultValue="") String regionId,
+            @RequestParam(value="regionId",defaultValue="") String regionId,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             @RequestAttribute String subject){
@@ -467,6 +505,11 @@ public class RouteInfoController {
 
         Page<RouteInfo> page = routeInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
 
+        for(RouteInfo routeInfo:page.getResult()){
+            List<RouteAccount> routeAccountList = routeAccountService.findByRouteId(routeInfo.getId());
+            routeInfo.setAccountNames(routeAccountList.stream().map((routeAccount)->routeAccount.getAccountName()).collect(Collectors.joining(",")));
+        }
+
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));
 

+ 10 - 0
web/src/main/java/com/jpsoft/bus/modules/merchant/controller/AccountInfoController.java

@@ -290,4 +290,14 @@ public class AccountInfoController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="所有人员列表")
+    @RequestMapping(value = "list",method = RequestMethod.POST)
+    public MessageResult<List<AccountInfo>> list(@RequestAttribute String subject){
+        MessageResult<List<AccountInfo>> msgResult = new MessageResult<>();
+        List<AccountInfo> list = accountInfoService.list();
+        msgResult.setResult(true);
+        msgResult.setData(list);
+        return msgResult;
+    }
 }