车间发料修改

master
zpl 4 years ago
parent d123c530a4
commit f740da5672

@ -286,4 +286,34 @@ public class CallItemController {
return R.ok(result); return R.ok(result);
} }
@ResponseBody
@GetMapping("/findIssueItemListPda")
public R findIssueItemListPda(String workCenter, String resource, String requiredFromDate, String requiredToDate, Boolean matchResource) {
List<CallItem> result;
try {
String site = CommonMethods.getSite();
//参数拼装
IssueItemDto issueItemDto = new IssueItemDto();
issueItemDto.setSite(site);
issueItemDto.setResource(resource);
issueItemDto.setWorkCenter(workCenter);
issueItemDto.setMatchResource(matchResource);
if (StringUtil.notBlank(requiredFromDate)) {
issueItemDto.setRequiredFromDT(LocalDate.parse(requiredFromDate, DateTimeFormatter.ISO_DATE));
}
if (StringUtil.notBlank(requiredToDate)) {
issueItemDto.setRequiredToDT(LocalDate.parse(requiredToDate, DateTimeFormatter.ISO_DATE));
}
result = callItemService.findIssueItemListPda(issueItemDto);
} catch (Exception e) {
return R.failed(e.getMessage());
}
return R.ok(result);
}
} }

@ -62,4 +62,9 @@ public interface CallItemMapper extends BaseMapper<CallItem> {
//车间发料查询 //车间发料查询
List<CallItem> finsIssueItemListToResource(IssueItemDto issueItemDto); List<CallItem> finsIssueItemListToResource(IssueItemDto issueItemDto);
List<CallItem> finsIssueItemListNoResource(IssueItemDto issueItemDto); List<CallItem> finsIssueItemListNoResource(IssueItemDto issueItemDto);
//车间发料PDA界面查询
List<CallItem> finsIssueItemListNoResourcePda(IssueItemDto issueItemDto);
List<CallItem> finsIssueItemListToResourcePda(IssueItemDto issueItemDto);
} }

@ -154,4 +154,16 @@ public interface CallItemService extends IService<CallItem> {
* @return * @return
*/ */
List<CallItem> findIssueItemList(IssueItemDto issueItemDto); List<CallItem> findIssueItemList(IssueItemDto issueItemDto);
/**
*
*
* @param issueItemDto
* @return
*/
List<CallItem> findIssueItemListPda(IssueItemDto issueItemDto);
} }

@ -434,4 +434,80 @@ public class CallItemServiceImpl extends ServiceImpl<CallItemMapper, CallItem> i
} }
return list; return list;
} }
@Override
public List<CallItem> findIssueItemListPda(IssueItemDto issueItemDto) {
List<CallItem> list;
if (issueItemDto.getMatchResource()) {
list = callItemMapper.finsIssueItemListToResourcePda(issueItemDto);
} else {
list = callItemMapper.finsIssueItemListNoResourcePda(issueItemDto);
}
if (list == null || list.size() < 1) {
return list;
}
//计算合计(按下料尺寸)
//物料组为GB(钢板):合计=下料尺寸*号最后两位相乘*需求数量
//其他物料: 合计:下料尺寸*号最后一位*需求数量
Map<String, BigDecimal> compQtyMap = new HashMap<>();
for (CallItem callItem: list) {
String component = callItem.getItem();
String itemGroup = callItem.getItemGroup();
BigDecimal reqQty = callItem.getDispatchQty();
String blankingSize = callItem.getBlankingSize();
if (StringUtil.isBlank(blankingSize)) {
callItem.setSizeReqQty(reqQty);
compQtyMap.put(component, reqQty);
continue;
}
if (StringUtil.notBlank(itemGroup) && "GB".equals(itemGroup)) {
if (!blankingSize.contains("×") || blankingSize.split("×").length < 2) {
callItem.setSizeReqQty(reqQty);
compQtyMap.put(component, reqQty);
continue;
}
String []size = blankingSize.split("×");
if (size != null && size.length >= 2) {
int sizeLength = size.length;
BigDecimal length = new BigDecimal(size[sizeLength-1]);
BigDecimal width = new BigDecimal(size[sizeLength-2]);
BigDecimal sizeReqQty = length.multiply(width).multiply(reqQty);
callItem.setSizeReqQty(sizeReqQty);
//按物料汇总需求数量
compQtyMap.put(component, (compQtyMap.get(component) != null ? compQtyMap.get(component).add(sizeReqQty) : sizeReqQty));
}
} else {
String[] size = new String[1];
if (blankingSize.contains("×")) {
size = blankingSize.split("×");
} else {
size[0] = blankingSize;
}
if (size != null && size.length >= 1) {
int sizeLength = size.length;
BigDecimal length = new BigDecimal(size[sizeLength-1]);
BigDecimal sizeReqQty = length.multiply(reqQty);
callItem.setSizeReqQty(sizeReqQty);
//按物料汇总需求数量
compQtyMap.put(component, (compQtyMap.get(component) != null ? compQtyMap.get(component).add(sizeReqQty) : sizeReqQty));
}
}
}
//计算总数量(按数量汇总)
for (CallItem callItem : list) {
callItem.setCompReqQty(compQtyMap.get(callItem.getItem()));
}
return list;
}
} }

@ -978,6 +978,72 @@
ORDER BY VIP.WORK_ORDER, VIP.ITEM ORDER BY VIP.WORK_ORDER, VIP.ITEM
</select> </select>
<select id="finsIssueItemListNoResourcePda" resultMap="FullResultMap">
SELECT ZSD.WORK_CENTER , WCT.DESCRIPTION WORK_CENTER_DESCRIPTION ,
I.ITEM , IT.DESCRIPTION ITEM_DESCRIPTION , ZCI.COMPONENT_BO , ZSD.BLANKING_SIZE ,SUM(ZSD.DISPATCH_QTY) DISPATCH_QTY,
SUM(ZCI.REQUIRED_QTY)-SUM(NVL(ZCI.ISSUE_QTY,0)) REQUIRED_QTY ,MIN(ZCI.REQUIRED_DATE_TIME ) REQUIRED_DATE_TIME ,IG.ITEM_GROUP
FROM Z_CALL_ITEM ZCI
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZSD.HANDLE = ZCI.SFC_DISPATCH_BO
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER AND WC.SITE = ZCI.SITE
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = 'zh'
LEFT JOIN ITEM I ON I.HANDLE = ZCI.COMPONENT_BO
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = 'zh'
LEFT JOIN ITEM_GROUP_MEMBER IGM ON IGM.ITEM_BO = ZCI.COMPONENT_BO
LEFT JOIN ITEM_GROUP IG ON IG.HANDLE = IGM.ITEM_GROUP_BO
WHERE ZCI.CALL_TYPE = 'MATERIAL' AND ZCI.STATUS = '802' AND ZCI.SITE = #{site}
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
</if>
<if test="resource != null and resource != ''">
AND ZCI.RESRCE = #{resource}
</if>
<if test="item != null and item != ''">
AND I.ITEM = #{item}
</if>
<if test="requiredFromDT != null">
AND ZCI.REQUIRED_DATE_TIME >= #{requiredFromDT}
</if>
<if test="requiredToDT != null">
AND ZCI.REQUIRED_DATE_TIME &lt;= #{requiredToDT}
</if>
GROUP BY ZCI.COMPONENT_BO ,ZSD.WORK_CENTER ,WCT.DESCRIPTION ,I.ITEM ,IT.DESCRIPTION ,ZSD.BLANKING_SIZE ,IG.ITEM_GROUP
ORDER BY ZCI.COMPONENT_BO
</select>
<select id="finsIssueItemListToResourcePda" resultMap="FullResultMap">
SELECT ZSD.WORK_CENTER , WCT.DESCRIPTION WORK_CENTER_DESCRIPTION ,
I.ITEM , IT.DESCRIPTION ITEM_DESCRIPTION , ZCI.COMPONENT_BO , ZSD.BLANKING_SIZE ,SUM(ZSD.DISPATCH_QTY) DISPATCH_QTY,
SUM(ZCI.REQUIRED_QTY)-SUM(NVL(ZCI.ISSUE_QTY,0)) REQUIRED_QTY ,MIN(ZCI.REQUIRED_DATE_TIME ) REQUIRED_DATE_TIME ,
ZCI.RESRCE, R.DESCRIPTION RESOURCE_DESCRIPTION , IG.ITEM_GROUP
FROM Z_CALL_ITEM ZCI
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZSD.HANDLE = ZCI.SFC_DISPATCH_BO
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER AND WC.SITE = ZCI.SITE
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = 'zh'
LEFT JOIN ITEM I ON I.HANDLE = ZCI.COMPONENT_BO
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = 'zh'
LEFT JOIN ITEM_GROUP_MEMBER IGM ON IGM.ITEM_BO = ZCI.COMPONENT_BO
LEFT JOIN ITEM_GROUP IG ON IG.HANDLE = IGM.ITEM_GROUP_BO
LEFT JOIN RESRCE R ON R.RESRCE = ZCI.RESRCE AND R.SITE = ZCI.SITE
WHERE ZCI.CALL_TYPE = 'MATERIAL' AND ZCI.STATUS = '802' AND ZCI.SITE = #{site}
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
</if>
<if test="resource != null and resource != ''">
AND ZCI.RESRCE = #{resource}
</if>
<if test="item != null and item != ''">
AND I.ITEM = #{item}
</if>
<if test="requiredFromDT != null">
AND ZCI.REQUIRED_DATE_TIME >= #{requiredFromDT}
</if>
<if test="requiredToDT != null">
AND ZCI.REQUIRED_DATE_TIME &lt;= #{requiredToDT}
</if>
GROUP BY ZCI.COMPONENT_BO ,ZSD.WORK_CENTER ,WCT.DESCRIPTION ,I.ITEM ,IT.DESCRIPTION ,ZSD.BLANKING_SIZE ,IG.ITEM_GROUP , ZCI.RESRCE, R.DESCRIPTION
ORDER BY ZCI.COMPONENT_BO
</select>
<select id="findCallItemListPda" resultMap="FullResultMap"> <select id="findCallItemListPda" resultMap="FullResultMap">
SELECT MML.* , ZSD.PLANNED_START_DATE FROM SELECT MML.* , ZSD.PLANNED_START_DATE FROM
( SELECT ZCI.SITE, CF.VALUE WORK_ORDER, ZCI.STATUS ,WC.WORK_CENTER, WCT.DESCRIPTION WORK_CENTER_DESCRIPTION, ( SELECT ZCI.SITE, CF.VALUE WORK_ORDER, ZCI.STATUS ,WC.WORK_CENTER, WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,

Loading…
Cancel
Save