Merge remote-tracking branch 'origin/ah-simple-test' into ah-simple-test
This commit is contained in:
commit
ef7e3f9093
|
|
@ -205,6 +205,25 @@ public class DevChangeController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取设备详情
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "获取设备详情")
|
||||
@GetMapping("/getOrderById")
|
||||
public AjaxResult getOrderById(CsDeviceDetails dto) {
|
||||
try {
|
||||
CsDeviceVo devInfo = service.getOrderById(dto);
|
||||
return AjaxResult.success(devInfo);
|
||||
} catch (Exception e) {
|
||||
logger.error("获取设备详情异常:{}", e.getMessage());
|
||||
return AjaxResult.error("查询失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取申请一级列表
|
||||
*
|
||||
|
|
@ -250,6 +269,19 @@ public class DevChangeController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "审核出库")
|
||||
@PostMapping("/orderOut")
|
||||
public AjaxResult orderOut(@RequestBody CsDeviceDetails entity) {
|
||||
return service.orderOut(entity);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
|
|
@ -263,6 +295,33 @@ public class DevChangeController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "审核出库")
|
||||
@PostMapping("/orderOutAll")
|
||||
public AjaxResult orderOutAll(@RequestBody CsDeviceDetails entity) {
|
||||
return service.orderOutAll(entity);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "审核出库")
|
||||
@PostMapping("/orderOutCancel")
|
||||
public AjaxResult orderOutCancel(@RequestBody CsDeviceDetails entity) {
|
||||
return service.orderOutCancel(entity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
|
|
@ -276,6 +335,18 @@ public class DevChangeController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "审核出库")
|
||||
@PostMapping("/orderOutCancelAll")
|
||||
public AjaxResult orderOutCancelAll(@RequestBody CsDeviceDetails entity) {
|
||||
return service.orderOutCancelAll(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核出库
|
||||
*
|
||||
|
|
@ -288,6 +359,7 @@ public class DevChangeController extends BaseController {
|
|||
return service.outCancelAll(entity);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "获取申请一级列表")
|
||||
@GetMapping("/getOutboundList")
|
||||
public TableDataInfo getOutboundList(CsDeviceInfo dto) {
|
||||
|
|
|
|||
|
|
@ -272,4 +272,26 @@ public interface DevChangeMapper {
|
|||
List<CsDeviceDetails> getDevDetailsInfoEquipment(CsDeviceDetails dto);
|
||||
|
||||
List<CsDeviceChange> getDevChangeRList(CsDeviceChange vo);
|
||||
|
||||
CsDeviceInfo getOrderById(CsDeviceDetails dto);
|
||||
|
||||
List<CsDeviceDetails> getOrderDetailsById(CsDeviceDetails dto);
|
||||
|
||||
CsDeviceDetails getOrderDetailsMaDevInfo(CsDeviceDetails csDeviceDetails);
|
||||
|
||||
CsDeviceDetails getOrderDetailsTypeToolInfo(CsDeviceDetails csDeviceDetails);
|
||||
|
||||
void updateOrderZb(CsDeviceDetails entity);
|
||||
|
||||
void updateOrderGj(CsDeviceDetails entity);
|
||||
|
||||
Integer orderOut(CsDeviceDetails entity);
|
||||
|
||||
Integer orderOutAll(CsDeviceDetails entity);
|
||||
|
||||
Integer orderOutCancel(CsDeviceDetails entity);
|
||||
|
||||
Integer orderOutCancelAll(CsDeviceDetails entity);
|
||||
|
||||
List<CsDeviceDetails> getOrderOutAllList(CsDeviceDetails entity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,4 +154,14 @@ public interface DevChangeService {
|
|||
AjaxResult outAll(CsDeviceDetails entity);
|
||||
|
||||
List<CsDeviceChange> getDevChangeRList(CsDeviceChange csDeviceChange);
|
||||
|
||||
CsDeviceVo getOrderById(CsDeviceDetails dto);
|
||||
|
||||
AjaxResult orderOut(CsDeviceDetails entity);
|
||||
|
||||
AjaxResult orderOutAll(CsDeviceDetails entity);
|
||||
|
||||
AjaxResult orderOutCancel(CsDeviceDetails entity);
|
||||
|
||||
AjaxResult orderOutCancelAll(CsDeviceDetails entity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -556,6 +556,126 @@ public class DevChangeServiceImpl implements DevChangeService {
|
|||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public CsDeviceVo getOrderById(CsDeviceDetails dto) {
|
||||
CsDeviceVo csDeviceVo = new CsDeviceVo();
|
||||
// 根据id查询主任务表数据
|
||||
CsDeviceInfo devInfo = mapper.getOrderById(dto);
|
||||
// 根据id查询设备详情表数据
|
||||
List<CsDeviceDetails> devDetailsList = mapper.getOrderDetailsById(dto);
|
||||
if (CollectionUtils.isNotEmpty(devDetailsList)) {
|
||||
// 根据devType去查询装备或工具详情
|
||||
for (CsDeviceDetails csDeviceDetails : devDetailsList) {
|
||||
CsDeviceDetails devDetails = new CsDeviceDetails();
|
||||
if (StringUtils.isNotBlank(csDeviceDetails.getDevType()) && "0".equals(csDeviceDetails.getDevType())) {
|
||||
if ("/".equals(csDeviceDetails.getDevCode())) {
|
||||
csDeviceDetails.setDevCode(null);
|
||||
}
|
||||
devDetails = mapper.getOrderDetailsMaDevInfo(csDeviceDetails);
|
||||
} else if (StringUtils.isNotBlank(csDeviceDetails.getDevType()) && "1".equals(csDeviceDetails.getDevType())) {
|
||||
if ("/".equals(csDeviceDetails.getDevCode())) {
|
||||
csDeviceDetails.setDevCode(null);
|
||||
}
|
||||
devDetails = mapper.getOrderDetailsTypeToolInfo(csDeviceDetails);
|
||||
}
|
||||
if (devDetails != null) {
|
||||
csDeviceDetails.setDevType(StringUtils.isNotBlank(devDetails.getDevType()) ? devDetails.getDevType() : "");
|
||||
csDeviceDetails.setCategory(StringUtils.isNotBlank(devDetails.getCategory()) ? devDetails.getCategory() : "");
|
||||
csDeviceDetails.setTypeName(StringUtils.isNotBlank(devDetails.getTypeName()) ? devDetails.getTypeName() : "");
|
||||
csDeviceDetails.setTypeModelName(StringUtils.isNotBlank(devDetails.getTypeModelName()) ? devDetails.getTypeModelName() : "");
|
||||
csDeviceDetails.setManageType(StringUtils.isNotBlank(devDetails.getManageType()) ? devDetails.getManageType() : "");
|
||||
csDeviceDetails.setDevCode(StringUtils.isNotBlank(devDetails.getDevCode()) ? devDetails.getDevCode() : "");
|
||||
csDeviceDetails.setStorageNum(devDetails.getStorageNum());
|
||||
// 用于编辑显示数据是否选中(前端根据typeId和id结合判断)
|
||||
csDeviceDetails.setId(devDetails.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
csDeviceVo.setDevInfo(devInfo);
|
||||
csDeviceVo.setDevDetailsList(devDetailsList);
|
||||
return csDeviceVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult orderOut(CsDeviceDetails entity) {
|
||||
try {
|
||||
//装备
|
||||
if (entity.getDevType().equals("1")) {
|
||||
mapper.updateOrderZb(entity);
|
||||
} else {
|
||||
mapper.updateOrderGj(entity);
|
||||
}
|
||||
Integer out = mapper.orderOut(entity);
|
||||
return out > 0 ? AjaxResult.success("出库成功") : AjaxResult.error("出库失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("出库失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult orderOutAll(CsDeviceDetails entity) {
|
||||
try {
|
||||
List<CsDeviceDetails> outAllList = mapper.getOrderOutAllList(entity);
|
||||
Integer out = mapper.orderOutAll(entity);
|
||||
if (out > 0) {
|
||||
outAllList.forEach(item -> {
|
||||
if (item.getDevType().equals("0")) {
|
||||
mapper.updateOrderZb(item);
|
||||
} else {
|
||||
mapper.updateOrderGj(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
return out > 0 ? AjaxResult.success("出库成功") : AjaxResult.error("出库失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("出库失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult orderOutCancel(CsDeviceDetails entity) {
|
||||
try {
|
||||
Integer out = mapper.orderOutCancel(entity);
|
||||
return out > 0 ? AjaxResult.success("出库成功") : AjaxResult.error("出库失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("出库失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult orderOutCancelAll(CsDeviceDetails entity) {
|
||||
try {
|
||||
Integer out = mapper.orderOutCancelAll(entity);
|
||||
return out > 0 ? AjaxResult.success("出库成功") : AjaxResult.error("出库失败");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("出库失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待出库单子
|
||||
*
|
||||
|
|
@ -842,12 +962,12 @@ public class DevChangeServiceImpl implements DevChangeService {
|
|||
public List<DevChangeVo> getDevDetails(CsDeviceChangeDetailsVo vo) {
|
||||
try {
|
||||
List<DevChangeVo> list = mapper.getDevDetails(vo);
|
||||
for(DevChangeVo devChangeVo : list){
|
||||
if(devChangeVo.getWorkingHours() == null){
|
||||
for (DevChangeVo devChangeVo : list) {
|
||||
if (devChangeVo.getWorkingHours() == null) {
|
||||
devChangeVo.setWorkingHours(0);
|
||||
}
|
||||
|
||||
devChangeVo.setRemainingHours(devChangeVo.getMaxWorkingHours()-devChangeVo.getWorkingHours());
|
||||
devChangeVo.setRemainingHours(devChangeVo.getMaxWorkingHours() - devChangeVo.getWorkingHours());
|
||||
}
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
|
|
@ -857,7 +977,7 @@ public class DevChangeServiceImpl implements DevChangeService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getVoltageLevel(JjProjectVo vo) {
|
||||
public List<Map<String, Object>> getVoltageLevel(JjProjectVo vo) {
|
||||
try {
|
||||
return mapper.getVoltageLevel(vo);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -200,4 +200,6 @@ public class OrderInfoDto {
|
|||
@ApiModelProperty(value = "区/县")
|
||||
private String proCounty;
|
||||
|
||||
private String taskStatus;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
d.brand as brand,
|
||||
'0' AS devType,
|
||||
mt.type_name as typeName,
|
||||
mt.manage_type as manageType,
|
||||
d.manage_type as manageType,
|
||||
d.production_date as productionDate,
|
||||
d.working_hours as workingHours,
|
||||
d.person as person,
|
||||
d.person_phone as personPhone,
|
||||
sd.leader as person,
|
||||
sd.phone as personPhone,
|
||||
c.company_name as companyName,
|
||||
c.company_id as companyId,
|
||||
c.operate_address as operateAddress,
|
||||
|
|
@ -46,6 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
bcd.order_user as orderUser,
|
||||
bcd.address as address
|
||||
FROM ma_dev_info d
|
||||
LEFT JOIN sys_dept sd ON sd.dept_id = d.on_company
|
||||
LEFT JOIN bm_company_info c ON d.on_company = c.company_id
|
||||
LEFT JOIN book_car_detail bcd ON d.ma_id = bcd.ma_id
|
||||
LEFT JOIN ma_type mt ON d.type_id = mt.type_id and mt.del_flag = '0'
|
||||
|
|
@ -65,10 +66,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
tt1.type_name as deviceName,
|
||||
tl.available_num as deviceCount,
|
||||
tl.type_id as typeId,
|
||||
tl.`status` as maStatus,
|
||||
if(tl.available_num = 0,2,1) as maStatus,
|
||||
ms.supplier_name as brand,
|
||||
tt.type_name as typeName,
|
||||
'1' AS devType,
|
||||
tt.type_name as typeName,
|
||||
tl.manage_mode as manageType,
|
||||
tl.production_date as productionDate,
|
||||
'' as workingHours,
|
||||
|
|
|
|||
|
|
@ -852,6 +852,122 @@
|
|||
ORDER BY
|
||||
cds.create_time DESC
|
||||
</select>
|
||||
<select id="getOrderById" resultType="com.bonus.material.devchange.domain.CsDeviceInfo">
|
||||
select order_id as id,
|
||||
pro_code as proCode,
|
||||
pro_name as proName,
|
||||
pro_type as proType,
|
||||
voltage_level as voltageLevel,
|
||||
use_unit as useUnit,
|
||||
pro_province as proProvince,
|
||||
pro_city as proCity,
|
||||
pro_county as proCounty,
|
||||
use_time as useTime,
|
||||
code as code,
|
||||
CASE
|
||||
-- 已完成:所有子表记录 is_finished = 1
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM ma_order_details cdc1
|
||||
WHERE cdc1.order_id = #{id}
|
||||
AND cdc1.is_finished <> '1' -- 不存在非1的记录
|
||||
) THEN '3'
|
||||
-- 待出库:所有子表记录 is_finished = 0
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM ma_order_details cdc2
|
||||
WHERE cdc2.order_id = #{id}
|
||||
AND cdc2.is_finished <> '0' -- 不存在非0的记录
|
||||
) THEN '1'
|
||||
-- 其余情况:出库中(包含 is_finished=2 或其他值)
|
||||
ELSE '2'
|
||||
END AS taskStatus
|
||||
from ma_order_info
|
||||
where order_id = #{id}
|
||||
</select>
|
||||
<select id="getOrderDetailsById" resultType="com.bonus.material.devchange.domain.CsDeviceDetails">
|
||||
SELECT id AS detailsId,
|
||||
devType AS devType,
|
||||
ma_id AS typeId,
|
||||
num AS num,
|
||||
rent_begin_time AS useStartTime,
|
||||
IFNULL(real_num, 0) AS realNum,
|
||||
rent_end_time AS useEndTime,
|
||||
is_finished AS isFinished
|
||||
FROM ma_order_details
|
||||
where order_id = #{id}
|
||||
</select>
|
||||
<select id="getOrderDetailsMaDevInfo" resultType="com.bonus.material.devchange.domain.CsDeviceDetails">
|
||||
SELECT CASE
|
||||
WHEN mt.level = 1 THEN mt.type_name
|
||||
WHEN mt.level = 2 THEN CONCAT(mt1.type_name, '>', mt.type_name)
|
||||
WHEN mt.level = 3 THEN CONCAT(mt2.type_name, '>', mt1.type_name, '>', mt.type_name)
|
||||
WHEN mt.level = 4 THEN CONCAT(mt3.type_name, '>', mt2.type_name, '>', mt1.type_name, '>',
|
||||
mt.type_name)
|
||||
WHEN mt.level = 5 THEN CONCAT(mt4.type_name, '>', mt3.type_name, '>', mt2.type_name, '>',
|
||||
mt1.type_name, '>', mt.type_name)
|
||||
WHEN mt.level = 6 THEN CONCAT(mt5.type_name, '>', mt4.type_name, '>', mt3.type_name, '>',
|
||||
mt2.type_name, '>', mt1.type_name, '>', mt.type_name)
|
||||
ELSE mt.type_name
|
||||
END AS category,
|
||||
mdi.device_name AS typeName,
|
||||
mdi.item_type_model AS typeModelName,
|
||||
mdi.manage_type AS manageType,
|
||||
mdi.code AS devCode,
|
||||
SUM(CASE WHEN mdi.ma_status = 1 THEN 1 ELSE 0 END) AS storageNum,
|
||||
1 AS devType,
|
||||
mdi.type_id AS typeId,
|
||||
mdi.ma_id AS id
|
||||
FROM ma_dev_info mdi
|
||||
LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id
|
||||
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id
|
||||
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id
|
||||
LEFT JOIN ma_type mt5 ON mt4.parent_id = mt5.type_id
|
||||
where mdi.is_active = '1'
|
||||
and mdi.ma_id = #{typeId}
|
||||
</select>
|
||||
<select id="getOrderDetailsTypeToolInfo" resultType="com.bonus.material.devchange.domain.CsDeviceDetails">
|
||||
SELECT CONCAT(tt4.type_name, '>', tt3.type_name, '>', tt2.type_name) as category,
|
||||
tt1.type_name as typeName,
|
||||
tt.type_name as typeModelName,
|
||||
tl.manage_mode as manageType,
|
||||
IFNULL(tl.tool_code,'/') as devCode,
|
||||
tl.available_num as storageNum,
|
||||
2 as devType,
|
||||
tl.type_id as typeId,
|
||||
tl.id as id
|
||||
FROM tool_ledger tl
|
||||
LEFT JOIN tool_type tt ON tl.type_id = tt.type_id
|
||||
LEFT JOIN tool_type tt1 ON tt.parent_id = tt1.type_id
|
||||
LEFT JOIN tool_type tt2 ON tt1.parent_id = tt2.type_id
|
||||
LEFT JOIN tool_type tt3 ON tt2.parent_id = tt3.type_id
|
||||
LEFT JOIN tool_type tt4 ON tt3.parent_id = tt4.type_id
|
||||
where
|
||||
tl.id = #{typeId}
|
||||
</select>
|
||||
<select id="getOrderOutAllList" resultType="com.bonus.material.devchange.domain.CsDeviceDetails">
|
||||
SELECT COALESCE(
|
||||
CASE
|
||||
WHEN cdcd.devType = '0' THEN CONCAT(a.ma_id, '')
|
||||
WHEN cdcd.devType = '1' THEN CONCAT(b.id, '')
|
||||
ELSE ''
|
||||
END, ''
|
||||
) AS id,
|
||||
cdcd.devType AS devType,
|
||||
COALESCE(cdcd.num, 0) - COALESCE(cdcd.real_num, 0) AS outNum
|
||||
FROM ma_order_details cdcd
|
||||
|
||||
LEFT JOIN ma_dev_info a
|
||||
ON cdcd.devType = '0'
|
||||
AND cdcd.ma_id = a.ma_id
|
||||
|
||||
LEFT JOIN tool_ledger b
|
||||
ON cdcd.devType = '1'
|
||||
AND cdcd.ma_id = b.id
|
||||
WHERE cdcd.order_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="addChangeInfoNew" keyProperty="id" useGeneratedKeys="true">
|
||||
|
|
@ -933,7 +1049,7 @@
|
|||
</set>
|
||||
where id = #{id}
|
||||
</update>
|
||||
<update id="out">
|
||||
<update id="out">
|
||||
UPDATE cs_device_change_details
|
||||
SET is_finished = CASE
|
||||
WHEN (IFNULL(real_num, 0) + #{outNum}) = num THEN '1'
|
||||
|
|
@ -981,6 +1097,48 @@
|
|||
change_status = '2'
|
||||
WHERE ma_id = #{id}
|
||||
</update>
|
||||
<update id="updateOrderZb">
|
||||
UPDATE ma_dev_info
|
||||
set ma_status = '3',
|
||||
change_status = '3'
|
||||
WHERE ma_id = #{id}
|
||||
</update>
|
||||
<update id="updateOrderGj">
|
||||
UPDATE tool_ledger
|
||||
set available_num = IFNULL(available_num, 0) - #{outNum},
|
||||
share_num = IFNULL(share_num, 0) + #{outNum},
|
||||
status ='1'
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
<update id="orderOut">
|
||||
UPDATE ma_order_details
|
||||
SET is_finished = CASE
|
||||
WHEN (IFNULL(real_num, 0) + #{outNum}) = num THEN '1'
|
||||
WHEN (IFNULL(real_num, 0) + #{outNum}) > 0 AND
|
||||
(IFNULL(real_num, 0) + #{outNum}) < num THEN '2'
|
||||
ELSE '0'
|
||||
END,
|
||||
real_num = IFNULL(real_num, 0) + #{outNum}
|
||||
WHERE id = #{detailsId}
|
||||
-- 可选:防止超量出库(若业务不允许实际数量超过申请数量,添加此条件)
|
||||
AND (IFNULL(real_num, 0) + #{outNum}) <= num
|
||||
</update>
|
||||
<update id="orderOutAll">
|
||||
UPDATE ma_order_details
|
||||
SET is_finished ='1',
|
||||
real_num = num
|
||||
WHERE order_id = #{id}
|
||||
</update>
|
||||
<update id="orderOutCancel">
|
||||
UPDATE ma_order_details
|
||||
SET is_finished ='1'
|
||||
WHERE id = #{detailsId}
|
||||
</update>
|
||||
<update id="orderOutCancelAll">
|
||||
UPDATE ma_order_details
|
||||
SET is_finished ='1'
|
||||
WHERE order_id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteChangeDetails">
|
||||
update cs_device_change_details set del_flag = '1' where change_id = #{id}
|
||||
|
|
|
|||
|
|
@ -157,7 +157,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
sd.dept_name as sellerName,
|
||||
moi.address,
|
||||
moi.order_id,
|
||||
dept.dept_name as companyName
|
||||
dept.dept_name as companyName,
|
||||
CASE
|
||||
-- 已完成:所有子表记录 is_finished = 1
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM ma_order_details cdc1
|
||||
WHERE cdc1.order_id = moi.order_id
|
||||
AND cdc1.is_finished <> '1' -- 不存在非1的记录
|
||||
) THEN '3'
|
||||
-- 待出库:所有子表记录 is_finished = 0
|
||||
WHEN NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM ma_order_details cdc2
|
||||
WHERE cdc2.order_id = moi.order_id
|
||||
AND cdc2.is_finished <> '0' -- 不存在非0的记录
|
||||
) THEN '1'
|
||||
-- 其余情况:出库中(包含 is_finished=2 或其他值)
|
||||
ELSE '2'
|
||||
END AS taskStatus
|
||||
FROM
|
||||
ma_order_details hh
|
||||
LEFT JOIN ma_order_info moi ON moi.order_id = hh.order_id
|
||||
|
|
@ -209,41 +227,79 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</select>
|
||||
|
||||
<select id="selectOrderDetailsById" resultType="com.bonus.material.order.domain.OrderDetailDto">
|
||||
SELECT
|
||||
mdi.device_name,
|
||||
mdi.code,
|
||||
mdi.identify_code,
|
||||
hh.order_status,
|
||||
hh.days,
|
||||
bfi.url,
|
||||
hh.id,
|
||||
hh.ma_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,
|
||||
hh.change_cost as changeCost,
|
||||
hh.relief_cost as reliefCost,
|
||||
hh.relief_change_cost as reliefChangeCost,
|
||||
CASE
|
||||
WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1
|
||||
ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1
|
||||
END AS dateDays
|
||||
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.task_type = 17 and bfi.file_type = 0
|
||||
left join ma_type mt ON mdi.type_id = mt.type_id
|
||||
AND bfi.file_type = 0
|
||||
WHERE
|
||||
hh.id = #{id} limit 1
|
||||
(SELECT mdi.device_name,
|
||||
mdi.code,
|
||||
mdi.identify_code,
|
||||
hh.order_status,
|
||||
hh.days,
|
||||
bfi.url,
|
||||
hh.id,
|
||||
hh.ma_id,
|
||||
hh.devType,
|
||||
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,
|
||||
hh.change_cost as changeCost,
|
||||
hh.relief_cost as reliefCost,
|
||||
hh.relief_change_cost as reliefChangeCost,
|
||||
CASE
|
||||
WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1
|
||||
ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1
|
||||
END AS dateDays
|
||||
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.task_type = 17 and bfi.file_type = 0
|
||||
left join ma_type mt ON mdi.type_id = mt.type_id
|
||||
AND bfi.file_type = 0
|
||||
WHERE hh.id = #{id}
|
||||
and hh.devType = '0'
|
||||
limit 1)
|
||||
UNION ALL
|
||||
(SELECT tt1.type_name AS device_name,
|
||||
mdi.tool_code AS code,
|
||||
mdi.identify_code,
|
||||
hh.order_status,
|
||||
hh.days,
|
||||
CASE
|
||||
WHEN mdi.fileList IS NOT NULL AND mdi.fileList != '' THEN SUBSTRING_INDEX(mdi.fileList, ',', 1)
|
||||
ELSE NULL
|
||||
END AS url,
|
||||
hh.id,
|
||||
hh.ma_id,
|
||||
hh.devType,
|
||||
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,
|
||||
hh.change_cost as changeCost,
|
||||
hh.relief_cost as reliefCost,
|
||||
hh.relief_change_cost as reliefChangeCost,
|
||||
CASE
|
||||
WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1
|
||||
ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1
|
||||
END AS dateDays
|
||||
FROM ma_order_details hh
|
||||
LEFT JOIN ma_order_info moi ON hh.order_id = moi.order_id
|
||||
LEFT JOIN tool_ledger mdi ON hh.ma_id = mdi.id
|
||||
LEFT JOIN tool_type tt ON mdi.type_id = tt.type_id
|
||||
LEFT JOIN tool_type tt1 ON tt.parent_id = tt1.type_id
|
||||
WHERE hh.id = #{id}
|
||||
and hh.devType = '1'
|
||||
limit 1)
|
||||
</select>
|
||||
|
||||
<select id="getOrderDetailsById" resultType="com.bonus.material.order.domain.OrderInfoDto">
|
||||
|
|
|
|||
Loading…
Reference in New Issue