Merge remote-tracking branch 'origin/master'

This commit is contained in:
mashuai 2024-12-01 13:30:18 +08:00
commit 883601d520
7 changed files with 77 additions and 31 deletions

View File

@ -3,6 +3,7 @@ package com.bonus.material.device.controller;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import com.bonus.common.biz.config.ListPagingUtil; import com.bonus.common.biz.config.ListPagingUtil;
import com.bonus.common.biz.domain.BmCompanyInfo; import com.bonus.common.biz.domain.BmCompanyInfo;
import com.bonus.common.core.constant.Constants;
import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.ServletUtils;
import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
@ -23,8 +24,6 @@ import javax.validation.Valid;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
import static com.bonus.common.core.web.page.TableSupport.PAGE_NUM;
import static com.bonus.common.core.web.page.TableSupport.PAGE_SIZE;
/** /**
* 设备信息Controller * 设备信息Controller
@ -33,7 +32,6 @@ import static com.bonus.common.core.web.page.TableSupport.PAGE_SIZE;
*/ */
@RestController @RestController
@RequestMapping("/dev") @RequestMapping("/dev")
@Validated
@Api(value = "设备信息",tags = "设备管理") @Api(value = "设备信息",tags = "设备管理")
public class DevInfoController extends BaseController { public class DevInfoController extends BaseController {
@ -70,8 +68,8 @@ public class DevInfoController extends BaseController {
*/ */
//@RequiresPermissions("equip:info:list") //@RequiresPermissions("equip:info:list")
@ApiOperation(value = "查询装备列表--分页") @ApiOperation(value = "查询装备列表--分页")
@PostMapping("/devList") @GetMapping("/devList")
public TableDataInfo devList(@RequestBody DevInfoVo devInfo) { public TableDataInfo devList(DevInfoVo devInfo) {
startPage(); startPage();
List<DevInfoVo> list = devInfoService.selectDevInfoLists(devInfo); List<DevInfoVo> list = devInfoService.selectDevInfoLists(devInfo);
return getDataTable(list); return getDataTable(list);

View File

@ -51,7 +51,7 @@ public class OrderController extends BaseController {
*/ */
@ApiOperation(value = "获取订单详情") @ApiOperation(value = "获取订单详情")
@GetMapping("/getOrderDetails") @GetMapping("/getOrderDetails")
public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) { public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) throws Exception {
startPage(); startPage();
return getDataTable(orderService.getOrderDetails(orderInfoDto)); return getDataTable(orderService.getOrderDetails(orderInfoDto));
} }
@ -61,8 +61,8 @@ public class OrderController extends BaseController {
*/ */
@ApiOperation(value = "获取单个订单详情") @ApiOperation(value = "获取单个订单详情")
@GetMapping("/getOrderDetailsById") @GetMapping("/getOrderDetailsById")
public AjaxResult getOrderDetailsById(OrderDetailDto dto) { public AjaxResult getOrderDetailsById(OrderDetailDto dto) throws Exception {
if (dto.getId() != null) { if (dto.getOrderId() != null) {
OrderInfoDto orderInfoDto = orderService.getOrderDetailsById(dto); OrderInfoDto orderInfoDto = orderService.getOrderDetailsById(dto);
return success(orderInfoDto); return success(orderInfoDto);
} else { } else {
@ -77,7 +77,7 @@ public class OrderController extends BaseController {
@PostMapping("/updateOrderStatus") @PostMapping("/updateOrderStatus")
public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) { public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) {
String userName = SecurityUtils.getLoginUser().getUsername(); String userName = SecurityUtils.getLoginUser().getUsername();
Integer i = orderMapper.updateOrderStatus(orderInfoDto.getIds(), orderInfoDto.getOrderStatus(), userName); Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getOrderStatus(), userName);
if (i > 0) { if (i > 0) {
return success(); return success();
} else { } else {

View File

@ -27,5 +27,9 @@ public interface OrderMapper {
void updateMaStatus(OrderDetailDto orderDetailDto); void updateMaStatus(OrderDetailDto orderDetailDto);
Integer updateOrderStatus(@Param("ids") List<Integer> ids, @Param("orderStatus") String orderStatus,@Param("userName") String userName); Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("orderStatus") String orderStatus,@Param("userName") String userName);
Integer updateDevCount(OrderDetailDto orderDetailDto);
List<OrderDetailDto> selectOrderDetailsByOderId(String orderId);
} }

View File

@ -13,7 +13,7 @@ public interface OrderService {
Integer submitOrderInfo(OrderInfoDto orderInfoDto); Integer submitOrderInfo(OrderInfoDto orderInfoDto);
List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto); List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto) throws Exception;
OrderInfoDto getOrderDetailsById(OrderDetailDto dto); OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception;
} }

View File

@ -36,6 +36,9 @@ public class OrderServiceImpl implements OrderService {
DevInfo devInfo = orderMapper.getdeviceCount(orderDetailDto); DevInfo devInfo = orderMapper.getdeviceCount(orderDetailDto);
if (devInfo.getDeviceCount() < orderDetailDto.getNum()) { if (devInfo.getDeviceCount() < orderDetailDto.getNum()) {
throw new RuntimeException(devInfo.getDeviceName() + "库存不足"); throw new RuntimeException(devInfo.getDeviceName() + "库存不足");
} else {
// 改库存
orderMapper.updateDevCount(orderDetailDto);
} }
} else { } else {
//如果是编码设备改设备状态为在租 //如果是编码设备改设备状态为在租
@ -61,34 +64,44 @@ public class OrderServiceImpl implements OrderService {
} }
@Override @Override
public List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto) { public List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto) throws Exception {
List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto); List<OrderInfoDto> orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto);
for (OrderInfoDto dto : orderInfoDtos) { for (OrderInfoDto dto : orderInfoDtos) {
List<OrderDetailDto> list = new ArrayList(); List<OrderDetailDto> list = new ArrayList();
String ids = dto.getIds(); String ids = dto.getIds();
for (String id : ids.split(",")) { for (String id : ids.split(",")) {
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id); OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
// 待出库
if ("2".equals(orderDetailDto.getOrderStatus())){
dto.setOrderStatus("2");
}
// 待收货
if ("3".equals(orderDetailDto.getOrderStatus())){
dto.setCzOrderStatus("3");
}
list.add(orderDetailDto); list.add(orderDetailDto);
} }
dto.setDetailsList(list); dto.setDetailsList(list);
boolean orderStatus = list.stream()
.map(OrderDetailDto::getOrderStatus)
.allMatch(name -> name.equals(list.get(0).getOrderStatus()));
if (orderStatus) {
dto.setOrderStatus(list.get(0).getOrderStatus());
} else {
throw new Exception("订单状态不一致,请检查订单状态");
}
dto.setStartTime(list.get(0).getRentBeginTime());
dto.setEndTime(list.get(0).getRentEndTime());
} }
return orderInfoDtos; return orderInfoDtos;
} }
@Override @Override
public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) { public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception {
OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto); OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto);
List<OrderDetailDto> list = new ArrayList(); List<OrderDetailDto> list = orderMapper.selectOrderDetailsByOderId(dto.getOrderId().toString());
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(dto.getId().toString()); boolean orderStatus = list.stream()
list.add(orderDetailDto); .map(OrderDetailDto::getOrderStatus)
.allMatch(name -> name.equals(list.get(0).getOrderStatus()));
if (orderStatus) {
orderInfoDto.setOrderStatus(list.get(0).getOrderStatus());
} else {
throw new Exception("订单状态不一致,请检查订单状态");
}
orderInfoDto.setStartTime(list.get(0).getRentBeginTime());
orderInfoDto.setEndTime(list.get(0).getRentEndTime());
orderInfoDto.setDetailsList(list); orderInfoDto.setDetailsList(list);
return orderInfoDto; return orderInfoDto;
} }

View File

@ -220,6 +220,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
d.type_id as typeId, d.type_id as typeId,
mt4.type_name as typeName, mt4.type_name as typeName,
mt4.unit_name as unitName, mt4.unit_name as unitName,
mt4.manage_type as manageType,
d.ma_status as maStatus, d.ma_status as maStatus,
d.brand as brand, d.brand as brand,
d.model_name as modelName, d.model_name as modelName,

View File

@ -53,10 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
,rent_over_user = #{userName} ,rent_over_user = #{userName}
,rent_over_time = now() ,rent_over_time = now()
</if> </if>
where id in where order_id = #{orderId}
<foreach item="id" collection="ids" open="(" separator="," close=")"> </update>
#{id} <update id="updateDevCount">
</foreach> update ma_dev_info set device_count = device_count - #{num} where ma_id = #{maId} and is_active = 1
</update> </update>
<select id="getdeviceCount" resultType="com.bonus.material.device.domain.DevInfo"> <select id="getdeviceCount" resultType="com.bonus.material.device.domain.DevInfo">
select device_count,device_name from ma_dev_info where ma_id = #{maId} and is_active = 1 select device_count,device_name from ma_dev_info where ma_id = #{maId} and is_active = 1
@ -70,6 +70,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mdi.person_phone AS personPhone, mdi.person_phone AS personPhone,
su.phonenumber AS phoneNumber, su.phonenumber AS phoneNumber,
moi.address, moi.address,
moi.order_id,
sum(hh.costs) cost,
dept.companyName dept.companyName
FROM FROM
ma_order_details hh ma_order_details hh
@ -96,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND hh.order_status = #{orderStatus} AND hh.order_status = #{orderStatus}
</if> </if>
<if test="startTime != null and endTime != null "> <if test="startTime != null and endTime != null ">
AND moi.order_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') AND hh.rent_begin_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
</if> </if>
<if test="czcompanyName != null and czcompanyName != ''"> <if test="czcompanyName != null and czcompanyName != ''">
AND c.company_name like concat('%',#{czcompanyName},'%') AND c.company_name like concat('%',#{czcompanyName},'%')
@ -150,6 +152,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mdi.person_phone AS personPhone, mdi.person_phone AS personPhone,
su.phonenumber AS phoneNumber, su.phonenumber AS phoneNumber,
su.nick_name AS nickName, su.nick_name AS nickName,
sum(hh.costs) cost,
moi.address, moi.address,
dept.companyName dept.companyName
FROM FROM
@ -169,6 +172,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN sys_dept sd1 ON sd1.parent_id = subquery.first_ancestor LEFT JOIN sys_dept sd1 ON sd1.parent_id = subquery.first_ancestor
) dept ON dept.deptId = su.dept_id ) dept ON dept.deptId = su.dept_id
WHERE WHERE
mt.del_flag = '0' and hh.id = #{id} mt.del_flag = '0' and moi.order_id = #{orderId} limit 1
</select>
<select id="selectOrderDetailsByOderId" resultType="com.bonus.material.order.domain.OrderDetailDto">
SELECT
mdi.device_name,
mdi.day_lease_price,
hh.order_status,
hh.days,
bfi.url,
hh.id,
hh.num,
hh.costs,
hh.rent_begin_time,
hh.rent_end_time,
hh.pre_outbound_user,
hh.pre_outbound_time,
hh.take_over_user,
hh.take_over_time,
hh.rent_over_user,
hh.rent_over_time
FROM
ma_order_details hh
LEFT JOIN ma_order_info moi ON hh.order_id = moi.order_id
LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id
LEFT JOIN bm_file_info bfi ON hh.ma_id = bfi.model_id
AND bfi.file_type = 0
WHERE
moi.order_id = #{orderId}
</select> </select>
</mapper> </mapper>