ylx %!s(int64=7) %!d(string=hai) anos
pai
achega
37c8066566

+ 2 - 0
saicLogistics/src/main/java/com/fuzamei/constant/HintMSG.java

@@ -24,4 +24,6 @@ public class HintMSG {
 	public static final String OPERATION_FAIL = "操作失败";
 	public static final String DELETE_SUCCESS = "删除成功";
 	public static final String DELETE_FAIL = "删除失败";
+	public static final String NO_AUTH = "无权操作";
+	public static final String ILLEGAL = "非法操作";
 }

+ 7 - 0
saicLogistics/src/main/java/com/fuzamei/entity/Param.java

@@ -16,6 +16,7 @@ public class Param {
 	private Integer supplierId;			//供应商id
 	private Integer plannerId;			//计划员id
 	private String boxNo;				//箱号
+	private Integer boxQty;				//箱子数量
 	private String partNo;				//零件号
 	private Integer inboxQty;			//箱中零件数量
 	private Integer statusId;			//状态id
@@ -37,6 +38,12 @@ public class Param {
 	private Long operationTime;			//操作时间
 	private UserDetail userDetail;		//用户详细信息对象
 	private Orders order;				//整个订单详细信息
+	public Integer getBoxQty() {
+		return boxQty;
+	}
+	public void setBoxQty(Integer boxQty) {
+		this.boxQty = boxQty;
+	}
 	public Integer getReceiverId() {
 		return receiverId;
 	}

+ 2 - 2
saicLogistics/src/main/java/com/fuzamei/mapper/CargoConsignMapper.xml

@@ -37,8 +37,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	<select id="findQueryCountBySupplier" parameterType="Param" resultType="int">
@@ -93,8 +93,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	<select id="findQueryCountByCarrier" parameterType="Param" resultType="int">

+ 1 - 1
saicLogistics/src/main/java/com/fuzamei/mapper/CargoDeliverMapper.xml

@@ -32,8 +32,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	

+ 1 - 1
saicLogistics/src/main/java/com/fuzamei/mapper/CargoTallyMapper.xml

@@ -33,8 +33,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	<select id="findQueryCountByReceiver" parameterType="Param" resultType="int">

+ 5 - 5
saicLogistics/src/main/java/com/fuzamei/mapper/OrderMapper.xml

@@ -32,7 +32,7 @@
 			temp.create_time,
 			temp.update_time
 		from
-			(select * from orders where orderId=#{orderId})temp
+			(select * from orders where order_id=#{orderId})temp
 		left join 
 			status s
 		on 
@@ -42,19 +42,19 @@
 		on 
 			temp.box_no=b.box_no
 		left join
-			user up
+			users up
 		on 
 			temp.planner_id=up.user_id
 		left join 
-			user us
+			users us
 		on 
 			temp.supplier_id=us.user_id
 		left join 
-			user uc
+			users uc
 		on 
 			temp.carrier_id=uc.user_id
 		left join 
-			user ur
+			users ur
 		on 
 			temp.receiver_id=ur.user_id
 	</select>

+ 7 - 5
saicLogistics/src/main/java/com/fuzamei/mapper/OrdersIssueMapper.xml

@@ -25,7 +25,7 @@
 		<where>
 			o.planner_id=#{userId}
 			<if test="supplierName!=null">
-				and o.supplier_name=#{supplierName}
+				and u.person_name=#{supplierName}
 			</if>
 			<if test="boxNo!=null">
 				and o.box_no=#{boxNo}
@@ -34,8 +34,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	<select id="findQueryCountByPlanner" parameterType="Param" resultType="int">
@@ -49,7 +49,7 @@
 				o.box_no,
 				o.inbox_qty,
 				o.require_time,
-				o.update_time,
+				o.update_time
 			from 
 				orders o
 			left join 
@@ -59,7 +59,7 @@
 			<where>
 				o.planner_id=#{userId}
 				<if test="supplierName!=null">
-					and o.supplier_name=#{supplierName}
+					and u.person_name=#{supplierName}
 				</if>
 				<if test="boxNo!=null">
 					and o.box_no=#{boxNo}
@@ -100,8 +100,8 @@
 				and o.require_time between #{startTime} and #{endTime}
 			</if>
 		</where>
-		limit #{startPage},#{rowNum}
 		order by o.require_time desc
+		limit #{startPage},#{rowNum}
 	</select>
 	
 	<select id="findQueryCountBySupplier" parameterType="Param" resultType="int">
@@ -144,6 +144,7 @@
 			orders(order_id,
 				   part_no,
 				   box_no,
+				   box_qty,
 				   inbox_qty,
 				   require_time,
 				   create_time,
@@ -154,6 +155,7 @@
 			values(#{orderId},
 				   #{partNo},
 				   #{boxNo},
+				   #{boxQty},
 				   #{inboxQty},
 				   #{requireTime},
 				   #{createTime},

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/service/serviceImpl/OrdersIssueServiceImpl.java

@@ -77,6 +77,7 @@ public class OrdersIssueServiceImpl implements OrdersIssueService {
 		param.setRequireTime(currentTime);
 		param.setCreateTime(currentTime);
 		param.setUpdateTime(currentTime);
+		param.setBoxQty(1);//暂时将箱子数量设置为1=======================>>TODO
 		param.setStatusId(Status.UNSEND);
 		ordersIssueMapper.addOrder(param);
 		//插入【操作记录】

+ 7 - 1
saicLogistics/src/main/java/com/fuzamei/web/CargoConsignAction.java

@@ -187,8 +187,14 @@ public class CargoConsignAction {
 	@RequestMapping(value="/orderTracking",method=RequestMethod.POST)
 	public Map<String, Object> orderTracking(@RequestBody Param param){
 		try {
-			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.CARRIER,Role.SUPPLIER);//检测当前操作用户权限
+			UserDetail userDetail = userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.CARRIER,Role.SUPPLIER);//检测当前操作用户权限
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(param.getOrderId()));
+			if(Role.SUPPLIER.equals(userDetail.getRoleName())){
+				if(!param.getUserId().equals(order.getSupplierId())) throw new RuntimeException("无权查看");
+			}
+			if(Role.CARRIER.equals(userDetail.getRoleName())){
+				if(!param.getUserId().equals(order.getCarrierId())) throw new RuntimeException("无权查看");
+			}
 			param.setOrder(order);
 			Map<String, Object> map = cargoConsignService.orderTracking(param);
 			return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, map);

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/web/CargoDeliverAction.java

@@ -92,6 +92,7 @@ public class CargoDeliverAction {
 		try {
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.CARRIER);//检测当前操作用户权限
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(param.getOrderId()));
+			if(!param.getUserId().equals(order.getCarrierId())) throw new RuntimeException("无权查看");
 			param.setOrder(order);
 			Map<String, Object> map = cargoDeliverService.orderTracking(param);
 			return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, map);

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/web/CargoTallyAction.java

@@ -152,6 +152,7 @@ public class CargoTallyAction {
 		try {
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.STOCKER);//检测当前操作用户权限
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(param.getOrderId()));
+			if(!param.getUserId().equals(order.getReceiverId())) throw new RuntimeException("无权查看");
 			param.setOrder(order);
 			Map<String, Object> map = cargoTallyService.orderTracking(param);
 			return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, map);

+ 9 - 3
saicLogistics/src/main/java/com/fuzamei/web/OrdersIssueAction.java

@@ -140,8 +140,8 @@ public class OrdersIssueAction {
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getCarrierId()), Role.CARRIER);
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(param.getOrderId()));
 			if(order==null) throw new RuntimeException("订单不存在");
-			if(!Status.UNSEND.equals(order.getStatusId())) throw new RuntimeException("非法操作");
-			if(!param.getUserId().equals(order.getSupplierId())) throw new RuntimeException("无权操作");
+			if(!Status.UNSEND.equals(order.getStatusId())) throw new RuntimeException(HintMSG.ILLEGAL);
+			if(!param.getUserId().equals(order.getSupplierId())) throw new RuntimeException(HintMSG.NO_AUTH);
 			ordersIssueService.consignment(param);
 			return JSONUtil.getJsonMap(200, true, HintMSG.OPERATION_SUCCESS, null);
 		} catch (Exception e) {
@@ -255,8 +255,14 @@ public class OrdersIssueAction {
 	@RequestMapping(value="/orderTracking",method=RequestMethod.POST)
 	public Map<String, Object> orderTracking(@RequestBody Param param){
 		try {
-			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.PLANNER,Role.SUPPLIER);//检测当前操作用户权限
+			UserDetail userDetail = userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(param.getUserId()),Role.PLANNER,Role.SUPPLIER);//检测当前操作用户权限
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(param.getOrderId()));
+			if(Role.PLANNER.equals(userDetail.getRoleName())){
+				if(!param.getUserId().equals(order.getPlannerId())) throw new RuntimeException(HintMSG.NO_AUTH);
+			}
+			if(Role.SUPPLIER.equals(userDetail.getRoleName())){
+				if(!param.getUserId().equals(order.getSupplierId())) throw new RuntimeException(HintMSG.NO_AUTH);
+			}
 			param.setOrder(order);
 			Map<String, Object> map = ordersIssueService.orderTracking(param);
 			return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, map);

+ 98 - 0
saicLogistics/src/test/java/com/fuzamei/web/OrdersIssueActionTest.java

@@ -0,0 +1,98 @@
+package com.fuzamei.web;
+
+import java.util.Map;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.alibaba.fastjson.JSON;
+import com.fuzamei.baseTest.BaseJunit4Test;
+import com.fuzamei.constant.Role;
+import com.fuzamei.entity.Param;
+import com.fuzamei.entity.UserDetail;
+import com.fuzamei.service.UserAuthoricationService;
+
+public class OrdersIssueActionTest extends BaseJunit4Test{
+	
+	@Autowired
+	private UserAuthoricationService userAuthoricationService;
+	
+	@Autowired
+	private OrdersIssueAction ordersIssueAction;
+	
+	@Test//测试添加订单功能
+	public void test01(){
+		Param param=new Param();
+		param.setUserId(9001);
+		param.setOrderId(100000001);
+		param.setSupplierId(9003);
+		param.setPartNo("partNo1");
+		param.setBoxNo("FCIU4615794");
+		param.setInboxQty(20);
+		Map<String, Object> result = ordersIssueAction.addOrder(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	@Test//测试【计划员】查看订单功能
+	public void test02(){
+		Param param=new Param();
+		param.setUserId(9001);
+		param.setPage(1);
+		param.setSupplierName("ylx003供应商");
+		param.setBoxNo("FCIU4615794");
+		param.setStartTime(null);
+		param.setEndTime(null);
+		Map<String, Object> result = ordersIssueAction.queryOrdersByPlanner(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	@Test//测试【供应商】查看订单功能
+	public void test03(){
+		Param param=new Param();
+		param.setUserId(9003);
+		param.setPage(1);
+		param.setOrderId(null);
+		param.setBoxNo(null);
+		param.setStatusId(null);
+		param.setStartTime(null);
+		param.setEndTime(null);
+		Map<String, Object> result = ordersIssueAction.queryOrdersBySupplier(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	@Test//测试显示计划员下的所有供应商
+	public void test04(){
+		Param param=new Param();
+		param.setUserId(9001);
+		Map<String, Object> result = ordersIssueAction.showSuppliersUnderPlanner(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	@Test//测试显示所有箱号
+	public void test05(){
+		Param param=new Param();
+		param.setUserId(9002);
+		Map<String, Object> result = ordersIssueAction.showAllBoxNo(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	@Test//测试订单跟踪信息
+	public void test06(){
+		Param param=new Param();
+		param.setUserId(9003);
+		param.setOrderId(100000001);
+		Map<String, Object> result = ordersIssueAction.orderTracking(param);
+		String jsonString = JSON.toJSONString(result,true);
+		System.out.println(jsonString);
+	}
+	
+	
+	
+	
+	
+}

+ 0 - 24
saicLogistics/src/test/java/com/fuzamei/web/UserDetailTest.java

@@ -1,24 +0,0 @@
-package com.fuzamei.web;
-
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.fuzamei.baseTest.BaseJunit4Test;
-import com.fuzamei.constant.Role;
-import com.fuzamei.entity.UserDetail;
-import com.fuzamei.service.UserAuthoricationService;
-
-public class UserDetailTest extends BaseJunit4Test{
-	
-	@Autowired
-	private UserAuthoricationService userAuthoricationService;
-	
-	@Autowired
-	private OrdersIssueAction ordersIssueAction;
-	
-	@Test
-	public void test01(){
-		UserDetail queryUserDetail = userAuthoricationService.queryUserDetail(1002, Role.PLANNER);
-		System.out.println(queryUserDetail);
-	}
-}