Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
39a952ae4c
|
|
@ -107,7 +107,6 @@ public class SecondaryWarehouseController extends BaseController {
|
|||
@PostMapping("/exportList")
|
||||
public void exportList(HttpServletResponse response, @RequestBody SecondaryWarehouse bean) {
|
||||
if (bean.getLeaseType().equals(0)) {
|
||||
|
||||
SecondaryWarehouseVo bean1 = new SecondaryWarehouseVo();
|
||||
BeanUtils.copyProperties(bean, bean1);
|
||||
List<SecondaryWarehouseVo> list = service.getList1(bean1);
|
||||
|
|
@ -131,6 +130,37 @@ public class SecondaryWarehouseController extends BaseController {
|
|||
return toAjax(i);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取二级库报废申请列表")
|
||||
@GetMapping("/getSecondScrapList")
|
||||
public TableDataInfo getSecondScrapList(SecondCcrapApplyDetails bean) {
|
||||
startPage();
|
||||
List<SecondCcrapApplyDetails> list = service.getSecondScrapList(bean);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "获取二级库报废申请列表详情(查看)")
|
||||
@GetMapping("/getSecondScrapListDetails")
|
||||
public TableDataInfo getSecondScrapListDetails(SecondCcrapApplyDetails bean) {
|
||||
startPage();
|
||||
List<SecondCcrapApplyDetails> list = service.getSecondScrapListDetails(bean);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "二级库报废申请")
|
||||
@PostMapping("/seconfScrap")
|
||||
public AjaxResult seconfScrap(SecondCcrapApplyDetails bean) {
|
||||
Integer i = service.seconfScrap(bean);
|
||||
return toAjax(i);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "二级库报废审核(通过/驳回)")
|
||||
@PostMapping("/auditSeconfScrap")
|
||||
public AjaxResult auditSeconfScrap(SecondCcrapApplyDetails bean) {
|
||||
Integer i = service.auditSeconfScrap(bean);
|
||||
return toAjax(i);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取操作记录
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
package com.bonus.sgzb.material.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:liang.chao
|
||||
* @Date:2025/1/16 - 13:29
|
||||
*/
|
||||
@Data
|
||||
public class SecondCcrapApplyDetails {
|
||||
private Integer id;
|
||||
// 报废单号
|
||||
private String code;
|
||||
// 机具ID
|
||||
private String maId;
|
||||
// 规格ID
|
||||
private String typeId;
|
||||
// 报废数量,默认值为0
|
||||
private Integer scrapNum;
|
||||
// 状态(0进行中,1已审核,2驳回)
|
||||
private Integer status;
|
||||
// 审核人
|
||||
private Integer auditBy;
|
||||
// 审核时间
|
||||
private Date auditTime;
|
||||
// 报废申请备注
|
||||
private String auditRemark;
|
||||
// 创建者
|
||||
private String createBy;
|
||||
// 创建时间
|
||||
private Date createTime;
|
||||
// 更新者
|
||||
private String updateBy;
|
||||
// 更新时间
|
||||
private Date updateTime;
|
||||
// 所属二级库
|
||||
private Integer unitId;
|
||||
private Integer type;
|
||||
|
||||
private List<TeamLeaseInfo> teamLeaseInfos;
|
||||
|
||||
private String unitName;
|
||||
private String modelName;
|
||||
private String typeName;
|
||||
}
|
||||
|
|
@ -79,4 +79,18 @@ public interface SecondaryWarehouseMapper {
|
|||
Integer selectParentId(TeamLeaseInfo teamLeaseInfo);
|
||||
|
||||
List<MaMachine> getDevStockCount(SecondaryWarehouse bean);
|
||||
|
||||
List<SecondCcrapApplyDetails> getSecondScrapList(SecondCcrapApplyDetails bean);
|
||||
|
||||
Integer secondScrapApplyDetails(SecondCcrapApplyDetails teamLeaseInfo);
|
||||
|
||||
Integer auditSeconfScrap(SecondCcrapApplyDetails bean);
|
||||
|
||||
List<SecondCcrapApplyDetails> getSeconfScrapByCode(SecondCcrapApplyDetails bean);
|
||||
|
||||
Integer updateMaMachineStatus(String maId);
|
||||
|
||||
Integer updateDevNum(SecondCcrapApplyDetails secondCcrapApplyDetails);
|
||||
|
||||
List<SecondCcrapApplyDetails> getSecondScrapListDetails(SecondCcrapApplyDetails bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,4 +42,12 @@ public interface SecondaryWarehouseService {
|
|||
Integer getDevCount(SecondaryWarehouse bean);
|
||||
|
||||
List<MaMachine> getDevStockCount(SecondaryWarehouse bean);
|
||||
|
||||
List<SecondCcrapApplyDetails> getSecondScrapList(SecondCcrapApplyDetails bean);
|
||||
|
||||
Integer seconfScrap(SecondCcrapApplyDetails bean);
|
||||
|
||||
Integer auditSeconfScrap(SecondCcrapApplyDetails bean);
|
||||
|
||||
List<SecondCcrapApplyDetails> getSecondScrapListDetails(SecondCcrapApplyDetails bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,6 +152,74 @@ public class SecondaryWarehouseServiceImpl implements SecondaryWarehouseService
|
|||
return mapper.getDevStockCount(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SecondCcrapApplyDetails> getSecondScrapList(SecondCcrapApplyDetails bean) {
|
||||
return mapper.getSecondScrapList(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer seconfScrap(SecondCcrapApplyDetails teamLeaseInfo) {
|
||||
teamLeaseInfo.setCreateBy(String.valueOf(SecurityUtils.getLoginUser().getUserid()));
|
||||
Integer num = 0;
|
||||
String code = "BF" + System.currentTimeMillis();
|
||||
if (teamLeaseInfo.getTeamLeaseInfos().size() > 0) {
|
||||
num = 0;
|
||||
for (TeamLeaseInfo bean : teamLeaseInfo.getTeamLeaseInfos()) {
|
||||
// 编码设备
|
||||
if (StringUtils.isNotBlank(bean.getMaIds())) {
|
||||
for (String maId : bean.getMaIds().split(",")) {
|
||||
// 出库
|
||||
teamLeaseInfo.setMaId(maId);
|
||||
teamLeaseInfo.setTypeId(bean.getTypeId());
|
||||
teamLeaseInfo.setScrapNum(1);
|
||||
teamLeaseInfo.setCode(code);
|
||||
teamLeaseInfo.setStatus(0);
|
||||
num = mapper.secondScrapApplyDetails(teamLeaseInfo);
|
||||
}
|
||||
} else {
|
||||
// 数量设备
|
||||
teamLeaseInfo.setScrapNum(bean.getOutNum());
|
||||
teamLeaseInfo.setTypeId(bean.getTypeId());
|
||||
teamLeaseInfo.setMaId(null);
|
||||
teamLeaseInfo.setCode(code);
|
||||
teamLeaseInfo.setStatus(0);
|
||||
num = mapper.secondScrapApplyDetails(teamLeaseInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer auditSeconfScrap(SecondCcrapApplyDetails bean) {
|
||||
// 目前先做成统一审核,后续如果需要对不同机具单独审核在做修改
|
||||
int num = 0;
|
||||
if (bean.getStatus() == 1) {
|
||||
//同意
|
||||
num = mapper.auditSeconfScrap(bean);
|
||||
if (num > 0) {
|
||||
// 更新设备状态
|
||||
List<SecondCcrapApplyDetails> list = mapper.getSeconfScrapByCode(bean);
|
||||
for (SecondCcrapApplyDetails secondCcrapApplyDetails : list) {
|
||||
if (StringUtils.isNotBlank(secondCcrapApplyDetails.getMaId())) {
|
||||
mapper.updateMaMachineStatus(secondCcrapApplyDetails.getMaId());
|
||||
} else {
|
||||
mapper.updateDevNum(secondCcrapApplyDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (bean.getStatus() == 2) {
|
||||
//驳回
|
||||
num = mapper.auditSeconfScrap(bean);
|
||||
}
|
||||
return num;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SecondCcrapApplyDetails> getSecondScrapListDetails(SecondCcrapApplyDetails bean) {
|
||||
return mapper.getSecondScrapListDetails(bean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SecondaryWarehouse> getList(SecondaryWarehouse bean) {
|
||||
bean.setLeaseType(1);
|
||||
|
|
|
|||
|
|
@ -30,6 +30,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
WHERE
|
||||
id = #{id}
|
||||
</update>
|
||||
<update id="auditSeconfScrap">
|
||||
UPDATE second_ccrap_apply_details
|
||||
SET
|
||||
audit_by = #{auditBy},
|
||||
audit_time = now(),
|
||||
status = #{status}
|
||||
WHERE
|
||||
code = #{code}
|
||||
</update>
|
||||
<update id="updateMaMachineStatus">
|
||||
UPDATE ma_machine
|
||||
SET
|
||||
ma_status = 22
|
||||
WHERE
|
||||
ma_id = #{maId}
|
||||
</update>
|
||||
<update id="updateDevNum">
|
||||
UPDATE ma_type
|
||||
SET
|
||||
num = num - #{scrapNum}
|
||||
WHERE
|
||||
type_id = #{typeId}
|
||||
</update>
|
||||
<delete id="delConfig">
|
||||
DELETE FROM second_lot_config
|
||||
WHERE
|
||||
|
|
@ -388,35 +411,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where ma_id = #{maId}
|
||||
</select>
|
||||
<select id="getUseMaStatusByMaId" resultType="com.bonus.sgzb.base.api.domain.MaMachine">
|
||||
WITH type_counts AS (
|
||||
SELECT
|
||||
rd.ma_id,
|
||||
SUM(CASE WHEN rd.type = '1' THEN 1 ELSE 0 END) as type1_count,
|
||||
SUM(CASE WHEN rd.type = '2' THEN 1 ELSE 0 END) as type2_count
|
||||
FROM
|
||||
receive_detail rd
|
||||
WHERE
|
||||
rd.type IN ('1', '2')
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.unit_id = #{unitId}
|
||||
GROUP BY
|
||||
rd.ma_id
|
||||
),
|
||||
ranked_details AS (
|
||||
SELECT
|
||||
rd.*,
|
||||
tc.type1_count,
|
||||
tc.type2_count,
|
||||
ROW_NUMBER() OVER (PARTITION BY rd.ma_id, rd.type ORDER BY rd.out_num DESC) as rn
|
||||
FROM
|
||||
receive_detail rd
|
||||
JOIN
|
||||
type_counts tc ON rd.ma_id = tc.ma_id
|
||||
WHERE
|
||||
rd.type IN ('1', '2')
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.unit_id = #{unitId}
|
||||
)
|
||||
SELECT DISTINCT
|
||||
mt.type_name modelName,
|
||||
mt.manage_type manageType,
|
||||
|
|
@ -426,77 +420,82 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mt.unit_name AS nuitName,
|
||||
SUM(rd.out_num) receiveNum,
|
||||
GROUP_CONCAT(rd.ma_id) maIds
|
||||
FROM
|
||||
ranked_details rd
|
||||
LEFT JOIN
|
||||
ma_machine mm ON rd.ma_id = mm.ma_id
|
||||
LEFT JOIN
|
||||
ma_type mt ON mt.type_id = mm.type_id
|
||||
LEFT JOIN
|
||||
ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE
|
||||
mm.ma_status = 132
|
||||
FROM (
|
||||
SELECT
|
||||
rd.*,
|
||||
tc.type1_count,
|
||||
tc.type2_count,
|
||||
@rn := IF(@prev_ma_id = rd.ma_id AND @prev_type = rd.type, @rn + 1, 1) AS rn,
|
||||
@prev_ma_id := rd.ma_id,
|
||||
@prev_type := rd.type
|
||||
FROM receive_detail rd,
|
||||
(SELECT
|
||||
rd.ma_id,
|
||||
SUM(CASE WHEN rd.type = '1' THEN 1 ELSE 0 END) as type1_count,
|
||||
SUM(CASE WHEN rd.type = '2' THEN 1 ELSE 0 END) as type2_count
|
||||
FROM receive_detail rd
|
||||
WHERE rd.type IN ('1', '2')
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.unit_id = #{unitId}
|
||||
GROUP BY rd.ma_id) tc,
|
||||
(SELECT @prev_ma_id := NULL, @prev_type := NULL, @rn := 0) vars
|
||||
WHERE rd.type IN ('1', '2')
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.unit_id = #{unitId}
|
||||
AND rd.ma_id = tc.ma_id
|
||||
ORDER BY rd.ma_id, rd.type, rd.out_num DESC
|
||||
) rd
|
||||
LEFT JOIN ma_machine mm ON rd.ma_id = mm.ma_id
|
||||
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE mm.ma_status = 132
|
||||
AND ((rd.type = '1' AND rd.rn <= GREATEST(0, rd.type1_count - rd.type2_count))
|
||||
OR (rd.type = '2' AND rd.rn <= GREATEST(0, rd.type2_count - rd.type1_count)))
|
||||
GROUP BY
|
||||
rd.type_id, rd.parent_id UNION
|
||||
GROUP BY rd.type_id, rd.parent_id
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
mt.type_name modelName,
|
||||
mt.manage_type manageType,
|
||||
mt2.type_name typeName,
|
||||
rd.type_id typeId,
|
||||
rd.parent_id as id,
|
||||
mt.unit_name AS nuitName,
|
||||
(SUM(CASE WHEN rd.type = '1' THEN rd.out_num ELSE 0 END)
|
||||
- SUM(CASE WHEN rd.type = '2' THEN rd.out_num ELSE 0 END)) AS receiveNum,
|
||||
GROUP_CONCAT( rd.ma_id ) maIds
|
||||
FROM
|
||||
receive_detail rd
|
||||
LEFT JOIN ma_type mt ON mt.type_id = rd.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE
|
||||
rd.type IN ( '1', '2' )
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.ma_id IS NULL
|
||||
AND rd.unit_id = #{unitId}
|
||||
AND NOT EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd2
|
||||
WHERE
|
||||
rd2.ma_id = rd.ma_id
|
||||
AND ((
|
||||
rd2.type = '1'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd3
|
||||
WHERE
|
||||
rd3.ma_id = rd.ma_id
|
||||
AND rd3.type = '2'
|
||||
AND rd3.type_id = rd2.type_id
|
||||
AND rd3.team_group_id = rd2.team_group_id
|
||||
AND rd3.unit_id = rd2.unit_id
|
||||
))
|
||||
OR (
|
||||
rd2.type = '2'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd4
|
||||
WHERE
|
||||
rd4.ma_id = rd.ma_id
|
||||
AND rd4.type = '1'
|
||||
AND rd4.type_id = rd2.type_id
|
||||
AND rd4.team_group_id = rd2.team_group_id
|
||||
AND rd4.unit_id = rd2.unit_id
|
||||
)))
|
||||
mt.type_name modelName,
|
||||
mt.manage_type manageType,
|
||||
mt2.type_name typeName,
|
||||
rd.type_id typeId,
|
||||
rd.parent_id as id,
|
||||
mt.unit_name AS nuitName,
|
||||
(SUM(CASE WHEN rd.type = '1' THEN rd.out_num ELSE 0 END)
|
||||
- SUM(CASE WHEN rd.type = '2' THEN rd.out_num ELSE 0 END)) AS receiveNum,
|
||||
GROUP_CONCAT(rd.ma_id) maIds
|
||||
FROM receive_detail rd
|
||||
LEFT JOIN ma_type mt ON mt.type_id = rd.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE rd.type IN ('1', '2')
|
||||
AND rd.team_group_id = #{teamGroupId}
|
||||
AND rd.ma_id IS NULL
|
||||
AND rd.unit_id = #{unitId}
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM receive_detail rd2
|
||||
WHERE rd2.ma_id = rd.ma_id
|
||||
AND ((rd2.type = '1'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM receive_detail rd3
|
||||
WHERE rd3.ma_id = rd.ma_id
|
||||
AND rd3.type = '2'
|
||||
AND rd3.type_id = rd2.type_id
|
||||
AND rd3.team_group_id = rd2.team_group_id
|
||||
AND rd3.unit_id = rd2.unit_id))
|
||||
OR (rd2.type = '2'
|
||||
AND EXISTS (
|
||||
SELECT 1
|
||||
FROM receive_detail rd4
|
||||
WHERE rd4.ma_id = rd.ma_id
|
||||
AND rd4.type = '1'
|
||||
AND rd4.type_id = rd2.type_id
|
||||
AND rd4.team_group_id = rd2.team_group_id
|
||||
AND rd4.unit_id = rd2.unit_id)))
|
||||
)
|
||||
GROUP BY
|
||||
rd.type_id, rd.parent_id
|
||||
GROUP BY rd.type_id, rd.parent_id
|
||||
</select>
|
||||
<select id="getDevCount" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
|
|
@ -512,37 +511,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
WHERE id = #{id}
|
||||
</select>
|
||||
<select id="getDevStockCount" resultType="com.bonus.sgzb.base.api.domain.MaMachine">
|
||||
WITH type_counts AS (
|
||||
SELECT
|
||||
rd.ma_id,
|
||||
SUM( CASE WHEN rd.type = '1' THEN 1 ELSE 0 END ) AS type1_count,
|
||||
SUM( CASE WHEN rd.type = '2' THEN 1 ELSE 0 END ) AS type2_count
|
||||
FROM
|
||||
receive_detail rd
|
||||
WHERE
|
||||
rd.type IN ( '1', '2' )
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
GROUP BY
|
||||
rd.ma_id
|
||||
),
|
||||
ranked_details AS (
|
||||
SELECT
|
||||
rd.*,
|
||||
tc.type1_count,
|
||||
tc.type2_count,
|
||||
ROW_NUMBER() OVER ( PARTITION BY rd.ma_id, rd.type ORDER BY rd.out_num DESC ) AS rn
|
||||
|
||||
FROM
|
||||
receive_detail rd
|
||||
JOIN type_counts tc ON rd.ma_id = tc.ma_id
|
||||
WHERE
|
||||
rd.type IN ( '1', '2' )
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
) SELECT DISTINCT
|
||||
SELECT DISTINCT
|
||||
mt.type_name modelName,
|
||||
mt.manage_type manageType,
|
||||
mt2.type_name typeName,
|
||||
|
|
@ -551,33 +521,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
rd.parent_id AS id,
|
||||
slc.name as name,
|
||||
mt.unit_name AS unitName,
|
||||
SUM( rd.out_num ) receiveNum,
|
||||
GROUP_CONCAT( rd.ma_id ) maIds
|
||||
FROM
|
||||
ranked_details rd
|
||||
SUM(rd.out_num) receiveNum,
|
||||
GROUP_CONCAT(rd.ma_id) maIds
|
||||
FROM (
|
||||
SELECT rd.*,
|
||||
(SELECT type1_count FROM (SELECT tc.ma_id, tc.type1_count FROM (SELECT rd.ma_id,
|
||||
SUM(CASE WHEN rd.type = '1' THEN 1 ELSE 0 END) AS type1_count,
|
||||
SUM(CASE WHEN rd.type = '2' THEN 1 ELSE 0 END) AS type2_count
|
||||
FROM receive_detail rd
|
||||
WHERE rd.type IN ('1', '2')
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
GROUP BY rd.ma_id) tc WHERE tc.ma_id = rd.ma_id) ttc) AS type1_count,
|
||||
(SELECT type2_count FROM (SELECT tc.ma_id, tc.type2_count FROM (SELECT rd.ma_id,
|
||||
SUM(CASE WHEN rd.type = '1' THEN 1 ELSE 0 END) AS type1_count,
|
||||
SUM(CASE WHEN rd.type = '2' THEN 1 ELSE 0 END) AS type2_count
|
||||
FROM receive_detail rd
|
||||
WHERE rd.type IN ('1', '2')
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
GROUP BY rd.ma_id) tc WHERE tc.ma_id = rd.ma_id) ttc) AS type2_count,
|
||||
@rn := IF(@prev_ma_id = rd.ma_id AND @prev_type = rd.type, @rn + 1, 1) AS rn,
|
||||
@prev_ma_id := rd.ma_id,
|
||||
@prev_type := rd.type
|
||||
FROM receive_detail rd,
|
||||
(SELECT @prev_ma_id := NULL, @prev_type := NULL, @rn := 0) vars
|
||||
WHERE rd.type IN ('1', '2')
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
ORDER BY rd.ma_id, rd.type, rd.out_num DESC
|
||||
) rd
|
||||
LEFT JOIN team_group tg ON rd.team_group_id = tg.id
|
||||
left join second_lot_config slc on rd.unit_id = slc.unit_id
|
||||
LEFT JOIN second_lot_config slc ON rd.unit_id = slc.unit_id
|
||||
LEFT JOIN ma_machine mm ON rd.ma_id = mm.ma_id
|
||||
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE
|
||||
mm.ma_status = 132
|
||||
WHERE mm.ma_status = 132
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND tg.NAME like concat('%', #{keyword}, '%')
|
||||
AND tg.NAME LIKE CONCAT('%', #{keyword}, '%')
|
||||
</if>
|
||||
AND ((
|
||||
rd.type = '1'
|
||||
AND rd.rn <= GREATEST( 0, rd.type1_count - rd.type2_count ))
|
||||
AND ((rd.type = '1' AND rd.rn <= GREATEST(0, rd.type1_count - rd.type2_count))
|
||||
OR (rd.type = '2' AND rd.rn <= GREATEST(0, rd.type2_count - rd.type1_count)))
|
||||
GROUP BY rd.type_id, rd.parent_id
|
||||
|
||||
OR (
|
||||
rd.type = '2'
|
||||
AND rd.rn <= GREATEST( 0, rd.type2_count - rd.type1_count )))
|
||||
|
||||
GROUP BY
|
||||
rd.type_id,
|
||||
rd.parent_id
|
||||
|
||||
union
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
mt.type_name modelName,
|
||||
|
|
@ -590,38 +580,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mt.unit_name AS nuitName,
|
||||
(SUM(CASE WHEN rd.type = '1' THEN rd.out_num ELSE 0 END)
|
||||
- SUM(CASE WHEN rd.type = '2' THEN rd.out_num ELSE 0 END)) AS receiveNum,
|
||||
GROUP_CONCAT( rd.ma_id ) maIds
|
||||
FROM
|
||||
receive_detail rd
|
||||
GROUP_CONCAT(rd.ma_id) maIds
|
||||
FROM receive_detail rd
|
||||
LEFT JOIN team_group tg ON rd.team_group_id = tg.id
|
||||
left join second_lot_config slc on rd.unit_id = slc.unit_id
|
||||
LEFT JOIN second_lot_config slc ON rd.unit_id = slc.unit_id
|
||||
LEFT JOIN ma_type mt ON mt.type_id = rd.type_id
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
WHERE
|
||||
rd.type IN ( '1', '2' )
|
||||
WHERE rd.type IN ('1', '2')
|
||||
AND rd.ma_id IS NULL
|
||||
<if test="keyword != null and keyword != ''">
|
||||
AND tg.NAME like concat('%', #{keyword}, '%')
|
||||
AND tg.NAME LIKE CONCAT('%', #{keyword}, '%')
|
||||
</if>
|
||||
<if test="unitId != null">
|
||||
AND rd.unit_id = #{unitId}
|
||||
</if>
|
||||
AND NOT EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd2
|
||||
WHERE
|
||||
rd2.ma_id = rd.ma_id
|
||||
SELECT 1
|
||||
FROM receive_detail rd2
|
||||
WHERE rd2.ma_id = rd.ma_id
|
||||
AND ((
|
||||
rd2.type = '1'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd3
|
||||
WHERE
|
||||
rd3.ma_id = rd.ma_id
|
||||
SELECT 1
|
||||
FROM receive_detail rd3
|
||||
WHERE rd3.ma_id = rd.ma_id
|
||||
AND rd3.type = '2'
|
||||
AND rd3.type_id = rd2.type_id
|
||||
AND rd3.team_group_id = rd2.team_group_id
|
||||
|
|
@ -630,20 +612,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
OR (
|
||||
rd2.type = '2'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
receive_detail rd4
|
||||
WHERE
|
||||
rd4.ma_id = rd.ma_id
|
||||
SELECT 1
|
||||
FROM receive_detail rd4
|
||||
WHERE rd4.ma_id = rd.ma_id
|
||||
AND rd4.type = '1'
|
||||
AND rd4.type_id = rd2.type_id
|
||||
AND rd4.team_group_id = rd2.team_group_id
|
||||
AND rd4.unit_id = rd2.unit_id
|
||||
)))
|
||||
)
|
||||
GROUP BY rd.type_id, rd.parent_id
|
||||
</select>
|
||||
<select id="getSecondScrapList" resultType="com.bonus.sgzb.material.domain.SecondCcrapApplyDetails">
|
||||
SELECT
|
||||
ssd.*,
|
||||
slc.NAME AS unitName
|
||||
FROM
|
||||
second_scrap_apply_details ssd
|
||||
LEFT JOIN second_lot_config slc ON ssd.unit_id = slc.unit_id
|
||||
where 1=1
|
||||
<if test="unitId != null">
|
||||
AND ssd.unit_id = #{unitId}
|
||||
</if>
|
||||
<if test="code != null and code !=''">
|
||||
AND ssd.code like concat('%', #{code}, '%')
|
||||
</if>
|
||||
GROUP BY
|
||||
rd.type_id, rd.parent_id
|
||||
ssd.CODE
|
||||
</select>
|
||||
<select id="getSeconfScrapByCode" resultType="com.bonus.sgzb.material.domain.SecondCcrapApplyDetails">
|
||||
select * from second_scrap_apply_details where code = #{code}
|
||||
</select>
|
||||
<select id="getSecondScrapListDetails" resultType="com.bonus.sgzb.material.domain.SecondCcrapApplyDetails">
|
||||
select
|
||||
ssd.*,
|
||||
mt.type_name AS modelName,
|
||||
mt2.type_name AS typeName
|
||||
from
|
||||
second_scrap_apply_details ssd
|
||||
left join ma_type mt on ssd.type_id = mt.type_id
|
||||
left join ma_type mt2 on mt.parent_id = mt2.type_id
|
||||
where
|
||||
ssd.code = #{code}
|
||||
</select>
|
||||
|
||||
<insert id="addConfig">
|
||||
|
|
@ -661,4 +671,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<insert id="addNum">
|
||||
update ma_type set num = num + #{outNum} where type_id = #{typeId}
|
||||
</insert>
|
||||
<insert id="secondScrapApplyDetails">
|
||||
insert into second_scrap_apply_details (code,ma_id,type_id,scrap_num,create_by,create_time,unit_id,status,audit_remark)
|
||||
values (#{code},#{maId},#{typeId},#{scrapNum},#{createBy},now(),#{unitId},#{status},#{auditRemark});
|
||||
</insert>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue