叫料发布

Leon 4 years ago
parent bb17f7e1ab
commit 869b5035eb

@ -97,7 +97,7 @@ public class SfcDispatchDto implements Serializable{
/** /**
* *
*/ */
private Double dispatchQty; private BigDecimal dispatchQty;
/** /**
* *
*/ */
@ -368,11 +368,11 @@ public class SfcDispatchDto implements Serializable{
this.turnOperation = turnOperation; this.turnOperation = turnOperation;
} }
public Double getDispatchQty() { public BigDecimal getDispatchQty() {
return dispatchQty; return dispatchQty;
} }
public void setDispatchQty(Double dispatchQty) { public void setDispatchQty(BigDecimal dispatchQty) {
this.dispatchQty = dispatchQty; this.dispatchQty = dispatchQty;
} }

@ -3,6 +3,7 @@ package com.foreverwin.mesnac.dispatch.controller;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.dispatch.dto.IssueItemDto; import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.service.IssueItemService;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.R; import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
@ -28,7 +29,7 @@ import java.util.List;
public class CallItemController { public class CallItemController {
@Autowired @Autowired
public CallItemService callItemService; private CallItemService callItemService;
/** /**
@ -173,6 +174,9 @@ public class CallItemController {
} }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ResponseBody @ResponseBody
@GetMapping("/findIssueItemList") @GetMapping("/findIssueItemList")
public R findIssueItemList(String workCenter, String resource, String shopOrder, String dispatchNo, String requiredFromDate, String requiredToDate, Boolean matchResource) { public R findIssueItemList(String workCenter, String resource, String shopOrder, String dispatchNo, String requiredFromDate, String requiredToDate, Boolean matchResource) {

@ -1,6 +1,9 @@
package com.foreverwin.mesnac.dispatch.controller; package com.foreverwin.mesnac.dispatch.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.model.CallItem;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.R; import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
@ -10,6 +13,11 @@ import org.springframework.web.bind.annotation.*;
import com.foreverwin.mesnac.dispatch.service.IssueItemService; import com.foreverwin.mesnac.dispatch.service.IssueItemService;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
/** /**
* *
* @author Leon.L * @author Leon.L
@ -25,14 +33,15 @@ public class IssueItemController {
@ResponseBody @ResponseBody
@GetMapping("/scanIssueInventory") @GetMapping("/scanIssueInventory")
public R scanIssueInventory(String item, String inventory){ public R scanIssueInventory(String item, String inventory){
Map<String, Object> result;
try { try {
String site = CommonMethods.getSite(); String site = CommonMethods.getSite();
issueItemService.scanIssueInventory(site, item, inventory); result = issueItemService.scanIssueInventory(site, item, inventory);
} catch (Exception e) { } catch (Exception e) {
return R.failed(e.getMessage()); return R.failed(e.getMessage());
} }
return R.ok(); return R.ok(result);
} }

@ -0,0 +1,81 @@
package com.foreverwin.mesnac.dispatch.dto;
import java.io.Serializable;
import java.util.Date;
public class DateTimeQueryParam implements Serializable {
private String dateFromStr;
private String dateToStr;
private Date dateFrom;
private Date dateTo;
private String requireDateFromStr;
private String requireDateToStr;
private Date requireDateFrom;
private Date requireDateTo;
public String getDateFromStr() {
return dateFromStr;
}
public void setDateFromStr(String dateFromStr) {
this.dateFromStr = dateFromStr;
}
public String getDateToStr() {
return dateToStr;
}
public void setDateToStr(String dateToStr) {
this.dateToStr = dateToStr;
}
public Date getDateFrom() {
return dateFrom;
}
public void setDateFrom(Date dateFrom) {
this.dateFrom = dateFrom;
}
public Date getDateTo() {
return dateTo;
}
public void setDateTo(Date dateTo) {
this.dateTo = dateTo;
}
public String getRequireDateFromStr() {
return requireDateFromStr;
}
public void setRequireDateFromStr(String requireDateFromStr) {
this.requireDateFromStr = requireDateFromStr;
}
public String getRequireDateToStr() {
return requireDateToStr;
}
public void setRequireDateToStr(String requireDateToStr) {
this.requireDateToStr = requireDateToStr;
}
public Date getRequireDateFrom() {
return requireDateFrom;
}
public void setRequireDateFrom(Date requireDateFrom) {
this.requireDateFrom = requireDateFrom;
}
public Date getRequireDateTo() {
return requireDateTo;
}
public void setRequireDateTo(Date requireDateTo) {
this.requireDateTo = requireDateTo;
}
}

@ -1,9 +1,7 @@
package com.foreverwin.mesnac.dispatch.dto; package com.foreverwin.mesnac.dispatch.dto;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
public class IssueItemDto implements Serializable { public class IssueItemDto implements Serializable {

@ -42,7 +42,10 @@ public interface CallItemMapper extends BaseMapper<CallItem> {
void refreshRequiredTime(@Param("user") String user, @Param("dateTime") LocalDateTime dateTime, @Param("list") List<String> list); void refreshRequiredTime(@Param("user") String user, @Param("dateTime") LocalDateTime dateTime, @Param("list") List<String> list);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List<CallItem> findIssueMatchCallItemList(@Param("site")String site, @Param("workOrder")String workOrder, @Param("blankingSize")String blankingSize, @Param("resource")String resource, @Param("item")String item);
//车间发料查询 //车间发料查询
List<CallItem> finsIssueItemListToResource(IssueItemDto issueItemDto); List<CallItem> finsIssueItemListToResource(IssueItemDto issueItemDto);
List<CallItem> finsIssueItemListNoResource(IssueItemDto issueItemDto); List<CallItem> finsIssueItemListNoResource(IssueItemDto issueItemDto);

@ -1,9 +1,13 @@
package com.foreverwin.mesnac.dispatch.mapper; package com.foreverwin.mesnac.dispatch.mapper;
import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.model.CallItem;
import com.foreverwin.mesnac.dispatch.model.IssueItem; import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* <p> * <p>
* Mapper * Mapper
@ -14,5 +18,4 @@ import org.springframework.stereotype.Repository;
*/ */
@Repository @Repository
public interface IssueItemMapper extends BaseMapper<IssueItem> { public interface IssueItemMapper extends BaseMapper<IssueItem> {
} }

@ -87,7 +87,7 @@ public class CallItem extends Model<CallItem> {
* *
*/ */
@TableField("REQUIRED_QTY") @TableField("REQUIRED_QTY")
private Double requiredQty; private BigDecimal requiredQty;
/** /**
* *
*/ */
@ -97,7 +97,7 @@ public class CallItem extends Model<CallItem> {
* *
*/ */
@TableField("ISSUE_QTY") @TableField("ISSUE_QTY")
private Double issueQty; private BigDecimal issueQty;
/** /**
* *
*/ */
@ -126,13 +126,13 @@ public class CallItem extends Model<CallItem> {
/** /**
* *
*/ */
@TableField("UPDATE_USER") @TableField("MODIFY_USER")
private String updateUser; private String modifyUser;
/** /**
* *
*/ */
@TableField("UPDATED_DATE_TIME") @TableField("MODIFIED_DATE_TIME")
private LocalDateTime updatedDateTime; private LocalDateTime modifiedDateTime;
@TableField(exist = false) @TableField(exist = false)
@ -274,11 +274,11 @@ public class CallItem extends Model<CallItem> {
this.callType = callType; this.callType = callType;
} }
public Double getRequiredQty() { public BigDecimal getRequiredQty() {
return requiredQty; return requiredQty;
} }
public void setRequiredQty(Double requiredQty) { public void setRequiredQty(BigDecimal requiredQty) {
this.requiredQty = requiredQty; this.requiredQty = requiredQty;
} }
@ -290,11 +290,11 @@ public class CallItem extends Model<CallItem> {
this.requiredDateTime = requiredDateTime; this.requiredDateTime = requiredDateTime;
} }
public Double getIssueQty() { public BigDecimal getIssueQty() {
return issueQty; return issueQty;
} }
public void setIssueQty(Double issueQty) { public void setIssueQty(BigDecimal issueQty) {
this.issueQty = issueQty; this.issueQty = issueQty;
} }
@ -338,20 +338,20 @@ public class CallItem extends Model<CallItem> {
this.createdDateTime = createdDateTime; this.createdDateTime = createdDateTime;
} }
public String getUpdateUser() { public String getModifyUser() {
return updateUser; return modifyUser;
} }
public void setUpdateUser(String updateUser) { public void setModifyUser(String modifyUser) {
this.updateUser = updateUser; this.modifyUser = modifyUser;
} }
public LocalDateTime getUpdatedDateTime() { public LocalDateTime getModifiedDateTime() {
return updatedDateTime; return modifiedDateTime;
} }
public void setUpdatedDateTime(LocalDateTime updatedDateTime) { public void setModifiedDateTime(LocalDateTime modifiedDateTime) {
this.updatedDateTime = updatedDateTime; this.modifiedDateTime = modifiedDateTime;
} }
public String getItem() { public String getItem() {
@ -592,9 +592,9 @@ public class CallItem extends Model<CallItem> {
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
public static final String UPDATE_USER = "UPDATE_USER"; public static final String MODIFY_USER = "MODIFY_USER";
public static final String UPDATED_DATE_TIME = "UPDATED_DATE_TIME"; public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
@Override @Override
@ -624,8 +624,8 @@ public class CallItem extends Model<CallItem> {
", issueStatus = " + issueStatus + ", issueStatus = " + issueStatus +
", createUser = " + createUser + ", createUser = " + createUser +
", createdDateTime = " + createdDateTime + ", createdDateTime = " + createdDateTime +
", updateUser = " + updateUser + ", modifyUser = " + modifyUser +
", updatedDateTime = " + updatedDateTime + ", modifiedDateTime = " + modifiedDateTime +
"}"; "}";
} }
} }

@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.annotation.IdType;
*/ */
@TableName("Z_ISSUE_ITEM") @TableName("Z_ISSUE_ITEM")
public class IssueItem extends Model<IssueItem> { public class IssueItem extends Model<IssueItem> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -36,21 +35,6 @@ public class IssueItem extends Model<IssueItem> {
*/ */
@TableField("SITE") @TableField("SITE")
private String site; private String site;
/**
*
*/
@TableField("CALL_ITEM_NO")
private String callItemNo;
/**
*
*/
@TableField("SHOP_ORDER")
private String shopOrder;
/**
*
*/
@TableField("SFC")
private String sfc;
/** /**
* *
*/ */
@ -104,30 +88,6 @@ public class IssueItem extends Model<IssueItem> {
this.site = site; this.site = site;
} }
public String getCallItemNo() {
return callItemNo;
}
public void setCallItemNo(String callItemNo) {
this.callItemNo = callItemNo;
}
public String getShopOrder() {
return shopOrder;
}
public void setShopOrder(String shopOrder) {
this.shopOrder = shopOrder;
}
public String getSfc() {
return sfc;
}
public void setSfc(String sfc) {
this.sfc = sfc;
}
public String getItem() { public String getItem() {
return item; return item;
} }
@ -184,29 +144,23 @@ public class IssueItem extends Model<IssueItem> {
this.modifiedDateTime = modifiedDateTime; this.modifiedDateTime = modifiedDateTime;
} }
public static final String HANDLE = "HANDLE"; public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE";
public static final String CALL_ITEM_NO = "CALL_ITEM_NO";
public static final String SHOP_ORDER = "SHOP_ORDER";
public static final String SFC = "SFC"; public static final String SITE = "SITE";
public static final String ITEM = "ITEM"; public static final String ITEM = "ITEM";
public static final String INVENTORY = "INVENTORY"; public static final String INVENTORY = "INVENTORY";
public static final String QTY = "QTY"; public static final String QTY = "QTY";
public static final String CREATE_USER = "CREATE_USER"; public static final String CREATE_USER = "CREATE_USER";
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME"; public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
public static final String MODIFY_USER = "MODIFY_USER"; public static final String MODIFY_USER = "MODIFY_USER";
public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
@Override @Override
@ -219,9 +173,6 @@ public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
return "IssueItem{" + return "IssueItem{" +
"handle = " + handle + "handle = " + handle +
", site = " + site + ", site = " + site +
", callItemNo = " + callItemNo +
", shopOrder = " + shopOrder +
", sfc = " + sfc +
", item = " + item + ", item = " + item +
", inventory = " + inventory + ", inventory = " + inventory +
", qty = " + qty + ", qty = " + qty +

@ -97,7 +97,19 @@ public interface CallItemService extends IService<CallItem> {
void refreshRequiredTime(String site, String user, List<String> callItemNoList); void refreshRequiredTime(String site, String user, List<String> callItemNoList);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
*
*
* @param site
* @param workOrder
* @param item
* @param blankingSize
* @param resource
* @return
*/
List<CallItem> findIssueMatchCallItemList(String site, String workOrder, String blankingSize, String resource, String item);
/** /**
* *
* *

@ -1,11 +1,9 @@
package com.foreverwin.mesnac.dispatch.service; package com.foreverwin.mesnac.dispatch.service;
;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.model.IssueItem; import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map; import java.util.Map;
@ -19,7 +17,28 @@ import java.util.Map;
*/ */
public interface IssueItemService extends IService<IssueItem> { public interface IssueItemService extends IService<IssueItem> {
/**
*
* 1.-ERP
* 2.-
* 3.-SFC
*
* @param site
* @param item
* @param inventory
* @return
*/
Map<String, Object> scanIssueInventory(String site, String item, String inventory); Map<String, Object> scanIssueInventory(String site, String item, String inventory);
/**
*
* 1.
* 2.
* 3.|
*
* @param site
* @param user
* @param jsonObject
*/
void issueItem(String site, String user, JSONObject jsonObject); void issueItem(String site, String user, JSONObject jsonObject);
} }

@ -84,8 +84,8 @@ public class CallItemServiceImpl extends ServiceImpl<CallItemMapper, CallItem> i
callItem.setIssueStatus(Constants.CALL_ITEM_STATUS_NEW); callItem.setIssueStatus(Constants.CALL_ITEM_STATUS_NEW);
callItem.setCreateUser(user); callItem.setCreateUser(user);
callItem.setCreatedDateTime(nowDate); callItem.setCreatedDateTime(nowDate);
callItem.setUpdateUser(user); callItem.setModifyUser(user);
callItem.setUpdatedDateTime(nowDate); callItem.setModifiedDateTime(nowDate);
list.add(callItem); list.add(callItem);
} }
@ -105,8 +105,8 @@ public class CallItemServiceImpl extends ServiceImpl<CallItemMapper, CallItem> i
callItem.setIssueStatus(Constants.CALL_ITEM_STATUS_NEW); callItem.setIssueStatus(Constants.CALL_ITEM_STATUS_NEW);
callItem.setCreateUser(user); callItem.setCreateUser(user);
callItem.setCreatedDateTime(nowDate); callItem.setCreatedDateTime(nowDate);
callItem.setUpdateUser(user); callItem.setModifyUser(user);
callItem.setUpdatedDateTime(nowDate); callItem.setModifiedDateTime(nowDate);
list.add(callItem); list.add(callItem);
} }
@ -195,7 +195,12 @@ public class CallItemServiceImpl extends ServiceImpl<CallItemMapper, CallItem> i
} }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@Override
public List<CallItem> findIssueMatchCallItemList(String site, String workOrder, String blankingSize, String resource, String item) {
return callItemMapper.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item);
}
@Override @Override
public List<CallItem> findIssueItemList(IssueItemDto issueItemDto) { public List<CallItem> findIssueItemList(IssueItemDto issueItemDto) {
if (issueItemDto.getMatchResource()) { if (issueItemDto.getMatchResource()) {

@ -2,19 +2,26 @@ package com.foreverwin.mesnac.dispatch.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.constant.DataImportConstant; import com.foreverwin.mesnac.common.constant.DataImportConstant;
import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.ExceptionUtil; import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.dispatch.dto.IssueItemDto;
import com.foreverwin.mesnac.dispatch.model.CallItem;
import com.foreverwin.mesnac.dispatch.model.IssueItem; import com.foreverwin.mesnac.dispatch.model.IssueItem;
import com.foreverwin.mesnac.dispatch.mapper.IssueItemMapper; import com.foreverwin.mesnac.dispatch.mapper.IssueItemMapper;
import com.foreverwin.mesnac.dispatch.model.ItemBatch; import com.foreverwin.mesnac.dispatch.model.ItemBatch;
import com.foreverwin.mesnac.dispatch.service.CallItemService;
import com.foreverwin.mesnac.dispatch.service.IssueItemService; import com.foreverwin.mesnac.dispatch.service.IssueItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.dispatch.service.ItemBatchService; import com.foreverwin.mesnac.dispatch.service.ItemBatchService;
import com.foreverwin.mesnac.meapi.model.Inventory; import com.foreverwin.mesnac.meapi.model.Inventory;
import com.foreverwin.mesnac.meapi.model.Item; import com.foreverwin.mesnac.meapi.model.Item;
import com.foreverwin.mesnac.meapi.model.Sfc;
import com.foreverwin.mesnac.meapi.service.InventoryService; import com.foreverwin.mesnac.meapi.service.InventoryService;
import com.foreverwin.mesnac.meapi.service.ItemService; import com.foreverwin.mesnac.meapi.service.ItemService;
import com.foreverwin.mesnac.meapi.service.SfcService;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.meext.MEServices;
import com.sap.me.common.MaterialType; import com.sap.me.common.MaterialType;
@ -41,9 +48,13 @@ import java.util.*;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem> implements IssueItemService { public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem> implements IssueItemService {
@Autowired
private SfcService sfcService;
@Autowired @Autowired
private ItemService itemService; private ItemService itemService;
@Autowired @Autowired
private CallItemService callItemService;
@Autowired
private ItemBatchService itemBatchService; private ItemBatchService itemBatchService;
@Autowired @Autowired
private InventoryService inventoryService; private InventoryService inventoryService;
@ -53,11 +64,12 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
public Map<String, Object> scanIssueInventory(String site, String item, String inventory) { public Map<String, Object> scanIssueInventory(String site, String item, String inventory) {
Item itemModel = itemService.selectCurrent(site, item); Item itemModel = itemService.selectCurrent(site, item);
if (itemModel == null) { if (itemModel == null) {
throw BusinessException.build("物料【" +item+"】当前版本不存在!"); throw BusinessException.build("物料【" +item+"】当前版本不存在!");
} }
String itemBo = itemModel.getHandle(); String itemBo = itemModel.getHandle();
String materialType = itemModel.getMaterialType(); String materialType = itemModel.getMaterialType();
//返回参数
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (MaterialType.RAW.value().equals(materialType)){ if (MaterialType.RAW.value().equals(materialType)){
@ -66,15 +78,27 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
if (itemBatchList == null || itemBatchList.size() <= 0) { if (itemBatchList == null || itemBatchList.size() <= 0) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!"); throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!");
} }
} else { } else {
//半成品 //半成品|成品物料
String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory); String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory);
Inventory inventoryModel = inventoryService.getById(inventoryBo); Inventory inventoryModel = inventoryService.getById(inventoryBo);
if (inventoryModel == null) { if (inventoryModel == null) {
String sfcBo = HandleEnum.SFC.getHandle(site, inventory);
Sfc sfcModel = sfcService.getById(sfcBo);
if (sfcModel != null) {
if (!sfcModel.getItemBo().equals(itemBo)) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的批次!");
}
map.put("qty", sfcModel.getQty());
return map;
}
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!"); throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!");
} }
String invItemBo = inventoryModel.getItemBo();
if (invItemBo.equals(itemBo)) { if (!inventoryModel.getItemBo().equals(itemBo)) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的库存!"); throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的库存!");
} }
map.put("qty", inventoryModel.getQtyOnHand()); map.put("qty", inventoryModel.getQtyOnHand());
@ -92,6 +116,9 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
} }
String item = jsonObject.getString("item"); String item = jsonObject.getString("item");
if (StringUtil.isBlank(item)) {
throw BusinessException.build("物料编号不能为空!");
}
Item itemModel = itemService.selectCurrent(site, item); Item itemModel = itemService.selectCurrent(site, item);
if (itemModel == null) { if (itemModel == null) {
throw BusinessException.build("物料{0}没有维护当前版本!", item); throw BusinessException.build("物料{0}没有维护当前版本!", item);
@ -99,13 +126,17 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
String itemBo = itemModel.getHandle(); String itemBo = itemModel.getHandle();
String materialType = itemModel.getMaterialType(); String materialType = itemModel.getMaterialType();
Boolean oddments = jsonObject.getBoolean("oddments"); Boolean oddments = jsonObject.getBoolean("oddments");
String resource = jsonObject.getString("resource");
String workOrder = jsonObject.getString("workOrder");
String blankingSize = jsonObject.getString("blankingSize");
LocalDateTime dateTime = LocalDateTime.now(); LocalDateTime dateTime = LocalDateTime.now();
List<CallItem> callItemList = new ArrayList<>();
List<IssueItem> issueItemList = new ArrayList<>(); List<IssueItem> issueItemList = new ArrayList<>();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (!oddments) { if (!oddments) {
//非余料发料 原材料-创建库存,计算发料数量; 半成品-只计算发料数量 //非余料发料 原材料-创建库存,计算发料数量; 半成品|成品-只计算发料数量
InventoryServiceInterface meInventoryService; InventoryServiceInterface meInventoryService;
try { try {
meInventoryService = MEServices.create("com.sap.me.inventory", "InventoryService", site); meInventoryService = MEServices.create("com.sap.me.inventory", "InventoryService", site);
@ -119,7 +150,7 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
String inventory = _jsonObject.getString("inventory"); String inventory = _jsonObject.getString("inventory");
String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory); String inventoryBo = HandleEnum.INVENTORY.getHandle(site, inventory);
String qty = _jsonObject.getString("qty"); String qty = _jsonObject.getString("qty");
BigDecimal qtyOnHand = new BigDecimal(qty); BigDecimal issueInvQty = new BigDecimal(qty);
if (MaterialType.RAW.value().equals(materialType)) { if (MaterialType.RAW.value().equals(materialType)) {
//原材料 //原材料
@ -139,17 +170,17 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
InventoryValidateAndAddRequest request = new InventoryValidateAndAddRequest(); InventoryValidateAndAddRequest request = new InventoryValidateAndAddRequest();
request.setItemRef(itemBo); request.setItemRef(itemBo);
request.setInventoryId(inventory); request.setInventoryId(inventory);
request.setQuantityOnHand(qtyOnHand); request.setQuantityOnHand(issueInvQty);
meInventoryService.validateAndAdd(request); meInventoryService.validateAndAdd(request);
} else { } else {
qtyOnHand = qtyOnHand.add(inventoryModel.getQtyOnHand()); issueInvQty = issueInvQty.add(inventoryModel.getQtyOnHand());
//库存修改 //库存修改
InventoryValidateAndUpdateWithReceiveQuantityOverrideRequest request = new InventoryValidateAndUpdateWithReceiveQuantityOverrideRequest(); InventoryValidateAndUpdateWithReceiveQuantityOverrideRequest request = new InventoryValidateAndUpdateWithReceiveQuantityOverrideRequest();
request.setItemRef(itemBo); request.setItemRef(itemBo);
request.setInventoryId(inventory); request.setInventoryId(inventory);
request.setReceiveQty(qtyOnHand); request.setReceiveQty(issueInvQty);
request.setQuantityOnHand(qtyOnHand); request.setQuantityOnHand(issueInvQty);
request.setModifiedDateTime(inventoryModel.getModifiedDateTime()); request.setModifiedDateTime(inventoryModel.getModifiedDateTime());
meInventoryService.validateAndUpdateWithReceiveQtyOverride(request); meInventoryService.validateAndUpdateWithReceiveQtyOverride(request);
} }
@ -157,17 +188,68 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
ExceptionUtil.throwException(e); ExceptionUtil.throwException(e);
} }
} else { } else {
//半成品 //半成品|成品
inventoryService.getById(inventoryBo); Inventory inventoryModel = inventoryService.getById(inventoryBo);
if (inventoryModel == null) {
String sfcBo = HandleEnum.SFC.getHandle(site, inventory);
Sfc sfcModel = sfcService.getById(sfcBo);
if (sfcModel == null) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不存在!");
}
if (sfcModel != null && !sfcModel.getItemBo().equals(itemBo)) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的批次!");
}
if (new BigDecimal(sfcModel.getQty()).compareTo(issueInvQty) <= 0) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】的数量小于发料数量【" +issueInvQty+ "】!");
}
}
if (!inventoryModel.getItemBo().equals(itemBo)) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】不是物料【"+ item +"】的库存!");
}
if (inventoryModel.getQtyOnHand().compareTo(issueInvQty) <= 0) {
throw BusinessException.build("扫描的物料条码【 "+ inventory +" 】的库存数量小于发料数量【" +issueInvQty+ "】!");
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//查询匹配的叫料记录
List<CallItem> list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item);
if (list == null || list.size() <= 0) {
throw BusinessException.build("根据发料数据未找到发料记录!");
}
BigDecimal remainQty = new BigDecimal(qty);
for (CallItem callItem: list) {
BigDecimal issueQty = callItem.getIssueQty();
BigDecimal requiredQty = callItem.getRequiredQty();
//还需发料数量
requiredQty = requiredQty.subtract(issueQty);
if (remainQty.compareTo(requiredQty) == 1) {
issueQty = issueQty.add(requiredQty);
} else {
issueQty = issueQty.add(remainQty);
}
//叫料数据修改
if (issueQty.compareTo(requiredQty) >= 0) {
callItem.setStatus(Constants.CALL_ITEM_STATUS_ISSUED);
}
callItem.setIssueQty(issueQty);
callItem.setModifyUser(user);
callItem.setModifiedDateTime(dateTime);
callItemList.add(callItem);
remainQty = remainQty.subtract(requiredQty);
if (remainQty.compareTo(BigDecimal.ZERO) <= 0) {
break;
}
} }
//发料明细记录 //发料明细记录
IssueItem issueItem = new IssueItem(); IssueItem issueItem = new IssueItem();
issueItem.setHandle("IssueItemBO:" + site + "," + UUID.randomUUID().toString()); issueItem.setHandle("IssueItemBO:" + site + "," + UUID.randomUUID().toString());
issueItem.setSite(site); issueItem.setSite(site);
issueItem.setCallItemNo("");
issueItem.setShopOrder("");
issueItem.setSfc("");
issueItem.setItem(item); issueItem.setItem(item);
issueItem.setInventory(inventory); issueItem.setInventory(inventory);
issueItem.setQty(new BigDecimal(qty)); issueItem.setQty(new BigDecimal(qty));
@ -177,11 +259,19 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
issueItem.setModifiedDateTime(dateTime); issueItem.setModifiedDateTime(dateTime);
issueItemList.add(issueItem); issueItemList.add(issueItem);
}//end for }//end for
}// end if } else {
//余料发料
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//记录发料历史
if (issueItemList != null && issueItemList.size() > 0) { if (issueItemList != null && issueItemList.size() > 0) {
this.saveBatch(issueItemList); this.saveBatch(issueItemList);
} }
//修改叫料记录
if (callItemList != null && callItemList.size() > 0) {
callItemService.updateBatchById(callItemList);
}
} }
} }

@ -22,8 +22,8 @@
<result column="ISSUE_STATUS" property="issueStatus" /> <result column="ISSUE_STATUS" property="issueStatus" />
<result column="CREATE_USER" property="createUser" /> <result column="CREATE_USER" property="createUser" />
<result column="CREATED_DATE_TIME" property="createdDateTime" /> <result column="CREATED_DATE_TIME" property="createdDateTime" />
<result column="UPDATE_USER" property="updateUser" /> <result column="MODIFY_USER" property="modifyUser" />
<result column="UPDATED_DATE_TIME" property="updatedDateTime" /> <result column="MODIFIED_DATE_TIME" property="modifiedDateTime" />
</resultMap> </resultMap>
<resultMap id="FullResultMap" type="com.foreverwin.mesnac.dispatch.model.CallItem" extends="BaseResultMap"> <resultMap id="FullResultMap" type="com.foreverwin.mesnac.dispatch.model.CallItem" extends="BaseResultMap">
@ -47,7 +47,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
HANDLE, SITE, SFC_DISPATCH_BO, CALL_ITEM_NO, SHOP_ORDER, SFC, OPERATION, STEP_ID, RESRCE, COMPONENT_BO, CALL_TYPE, REQUIRED_QTY, REQUIRED_DATE_TIME, STATUS, CALL_STATUS, ISSUE_STATUS, CREATE_USER, CREATED_DATE_TIME, UPDATE_USER, UPDATED_DATE_TIME HANDLE, SITE, SFC_DISPATCH_BO, CALL_ITEM_NO, SHOP_ORDER, SFC, OPERATION, STEP_ID, RESRCE, COMPONENT_BO, CALL_TYPE, REQUIRED_QTY, REQUIRED_DATE_TIME, STATUS, CALL_STATUS, ISSUE_STATUS, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
</sql> </sql>
<!-- BaseMapper标准查询/修改/删除 --> <!-- BaseMapper标准查询/修改/删除 -->
@ -100,8 +100,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</where> </where>
</select> </select>
@ -131,8 +131,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -170,8 +170,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -209,8 +209,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -248,8 +248,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -287,8 +287,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -326,8 +326,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -361,8 +361,8 @@
<if test="issueStatus!=null">ISSUE_STATUS,</if> <if test="issueStatus!=null">ISSUE_STATUS,</if>
<if test="createUser!=null">CREATE_USER,</if> <if test="createUser!=null">CREATE_USER,</if>
<if test="createdDateTime!=null">CREATED_DATE_TIME,</if> <if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
<if test="updateUser!=null">UPDATE_USER,</if> <if test="modifyUser!=null">MODIFY_USER,</if>
<if test="updatedDateTime!=null">UPDATED_DATE_TIME,</if> <if test="modifiedDateTime!=null">MODIFIED_DATE_TIME,</if>
</trim> VALUES </trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
#{handle}, #{handle},
@ -384,8 +384,8 @@
<if test="issueStatus!=null">#{issueStatus},</if> <if test="issueStatus!=null">#{issueStatus},</if>
<if test="createUser!=null">#{createUser},</if> <if test="createUser!=null">#{createUser},</if>
<if test="createdDateTime!=null">#{createdDateTime},</if> <if test="createdDateTime!=null">#{createdDateTime},</if>
<if test="updateUser!=null">#{updateUser},</if> <if test="modifyUser!=null">#{modifyUser},</if>
<if test="updatedDateTime!=null">#{updatedDateTime},</if> <if test="modifiedDateTime!=null">#{modifiedDateTime},</if>
</trim> </trim>
</insert> </insert>
@ -414,14 +414,14 @@
#{issueStatus}, #{issueStatus},
#{createUser}, #{createUser},
#{createdDateTime}, #{createdDateTime},
#{updateUser}, #{modifyUser},
#{updatedDateTime}, #{modifiedDateTime},
</trim> </trim>
</insert> </insert>
<update id="updateById"> <update id="modifyById">
UPDATE Z_CALL_ITEM <trim prefix="SET" suffixOverrides=","> MODIFY Z_CALL_ITEM <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if> <if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if> <if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if>
<if test="et.callItemNo!=null">CALL_ITEM_NO=#{et.callItemNo},</if> <if test="et.callItemNo!=null">CALL_ITEM_NO=#{et.callItemNo},</if>
@ -440,14 +440,14 @@
<if test="et.issueStatus!=null">ISSUE_STATUS=#{et.issueStatus},</if> <if test="et.issueStatus!=null">ISSUE_STATUS=#{et.issueStatus},</if>
<if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if> <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if> <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.updateUser!=null">UPDATE_USER=#{et.updateUser},</if> <if test="et.modifyUser!=null">MODIFY_USER=#{et.modifyUser},</if>
<if test="et.updatedDateTime!=null">UPDATED_DATE_TIME=#{et.updatedDateTime},</if> <if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if> </trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update> </update>
<update id="updateAllColumnById"> <update id="modifyAllColumnById">
UPDATE Z_CALL_ITEM <trim prefix="SET" suffixOverrides=","> MODIFY Z_CALL_ITEM <trim prefix="SET" suffixOverrides=",">
SITE=#{et.site}, SITE=#{et.site},
SFC_DISPATCH_BO=#{et.sfcDispatchBo}, SFC_DISPATCH_BO=#{et.sfcDispatchBo},
CALL_ITEM_NO=#{et.callItemNo}, CALL_ITEM_NO=#{et.callItemNo},
@ -466,14 +466,14 @@
ISSUE_STATUS=#{et.issueStatus}, ISSUE_STATUS=#{et.issueStatus},
CREATE_USER=#{et.createUser}, CREATE_USER=#{et.createUser},
CREATED_DATE_TIME=#{et.createdDateTime}, CREATED_DATE_TIME=#{et.createdDateTime},
UPDATE_USER=#{et.updateUser}, MODIFY_USER=#{et.modifyUser},
UPDATED_DATE_TIME=#{et.updatedDateTime}, MODIFIED_DATE_TIME=#{et.modifiedDateTime},
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if> </trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update> </update>
<update id="update"> <update id="modify">
UPDATE Z_CALL_ITEM <trim prefix="SET" suffixOverrides=","> MODIFY Z_CALL_ITEM <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if> <if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if> <if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if>
<if test="et.callItemNo!=null">CALL_ITEM_NO=#{et.callItemNo},</if> <if test="et.callItemNo!=null">CALL_ITEM_NO=#{et.callItemNo},</if>
@ -492,8 +492,8 @@
<if test="et.issueStatus!=null">ISSUE_STATUS=#{et.issueStatus},</if> <if test="et.issueStatus!=null">ISSUE_STATUS=#{et.issueStatus},</if>
<if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if> <if test="et.createUser!=null">CREATE_USER=#{et.createUser},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if> <if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.updateUser!=null">UPDATE_USER=#{et.updateUser},</if> <if test="et.modifyUser!=null">MODIFY_USER=#{et.modifyUser},</if>
<if test="et.updatedDateTime!=null">UPDATED_DATE_TIME=#{et.updatedDateTime},</if> <if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
</trim> </trim>
<where> <where>
<if test="ew!=null"> <if test="ew!=null">
@ -517,8 +517,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -573,8 +573,8 @@
<if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if> <if test="ew.entity.issueStatus!=null"> AND ISSUE_STATUS=#{ew.entity.issueStatus}</if>
<if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if> <if test="ew.entity.createUser!=null"> AND CREATE_USER=#{ew.entity.createUser}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if> <if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.updateUser!=null"> AND UPDATE_USER=#{ew.entity.updateUser}</if> <if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.updatedDateTime!=null"> AND UPDATED_DATE_TIME=#{ew.entity.updatedDateTime}</if> <if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if> </if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere"> <if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment} ${ew.sqlSegment}
@ -623,7 +623,7 @@
<select id="selectCallItemAndType" resultMap="FullResultMap"> <select id="selectCallItemAndType" resultMap="FullResultMap">
SELECT ZCI.HANDLE, ZCI.SITE, ZCI.CALL_ITEM_NO, ZCI.SHOP_ORDER, ZCI.SFC, ZCI.SFC_DISPATCH_BO, ZCI.OPERATION, ZCI.STEP_ID, ZCI.RESRCE, ZCI.COMPONENT_BO, CP.MATERIAL_TYPE, ZCI.CALL_TYPE, ZCI.REQUIRED_QTY, ZCI.REQUIRED_DATE_TIME, SELECT ZCI.HANDLE, ZCI.SITE, ZCI.CALL_ITEM_NO, ZCI.SHOP_ORDER, ZCI.SFC, ZCI.SFC_DISPATCH_BO, ZCI.OPERATION, ZCI.STEP_ID, ZCI.RESRCE, ZCI.COMPONENT_BO, CP.MATERIAL_TYPE, ZCI.CALL_TYPE, ZCI.REQUIRED_QTY, ZCI.REQUIRED_DATE_TIME,
ZCI.ISSUE_QTY, ZCI.STATUS, ZCI.CALL_STATUS, ZCI.ISSUE_STATUS, ZCI.CREATE_USER, ZCI.CREATED_DATE_TIME, ZCI.UPDATE_USER, ZCI.UPDATED_DATE_TIME ZCI.ISSUE_QTY, ZCI.STATUS, ZCI.CALL_STATUS, ZCI.ISSUE_STATUS, ZCI.CREATE_USER, ZCI.CREATED_DATE_TIME, ZCI.MODIFY_USER, ZCI.MODIFIED_DATE_TIME
FROM Z_CALL_ITEM ZCI FROM Z_CALL_ITEM ZCI
INNER JOIN ITEM CP ON CP.HANDLE = ZCI.COMPONENT_BO INNER JOIN ITEM CP ON CP.HANDLE = ZCI.COMPONENT_BO
WHERE ZCI.SFC_DISPATCH_BO = #{sfcDispatchBo} WHERE ZCI.SFC_DISPATCH_BO = #{sfcDispatchBo}
@ -815,16 +815,16 @@
ORDER BY ZSD.SFC, ZSD.STEP_ID, ZCI.CALL_TYPE ORDER BY ZSD.SFC, ZSD.STEP_ID, ZCI.CALL_TYPE
</select> </select>
<update id="updateCallItemStatusByDispatchBo"> <update id="modifyCallItemStatusByDispatchBo">
UPDATE Z_CALL_ITEM SET STATUS = #{status}, UPDATE_USER = #{user}, UPDATED_DATE_TIME = #{dateTime} MODIFY Z_CALL_ITEM SET STATUS = #{status}, MODIFY_USER = #{user}, MODIFIED_DATE_TIME = #{dateTime}
WHERE STATUS != '804' AND SFC_DISPATCH_BO IN WHERE STATUS != '804' AND SFC_DISPATCH_BO IN
<foreach item="item" collection="list" separator="," open="(" close=")" index=""> <foreach item="item" collection="list" separator="," open="(" close=")" index="">
#{item.sfcDispatchBo} #{item.sfcDispatchBo}
</foreach> </foreach>
</update> </update>
<update id="updateCallItemStatusByCallItemNo"> <update id="modifyCallItemStatusByCallItemNo">
UPDATE Z_CALL_ITEM SET STATUS = #{status}, UPDATE_USER = #{user}, UPDATED_DATE_TIME = #{dateTime} MODIFY Z_CALL_ITEM SET STATUS = #{status}, MODIFY_USER = #{user}, MODIFIED_DATE_TIME = #{dateTime}
WHERE STATUS != '804' AND CALL_ITEM_NO IN WHERE STATUS != '804' AND CALL_ITEM_NO IN
<foreach item="item" collection="list" separator="," open="(" close=")" index=""> <foreach item="item" collection="list" separator="," open="(" close=")" index="">
#{item} #{item}
@ -832,7 +832,7 @@
</update> </update>
<update id="refreshRequiredTime"> <update id="refreshRequiredTime">
UPDATE Z_CALL_ITEM SET UPDATE_USER = #{user}, UPDATED_DATE_TIME = #{dateTime}, REQUIRED_DATE_TIME = ( MODIFY Z_CALL_ITEM SET MODIFY_USER = #{user}, MODIFIED_DATE_TIME = #{dateTime}, REQUIRED_DATE_TIME = (
SELECT ZSD.PLANNED_START_DATE SELECT ZSD.PLANNED_START_DATE
FROM Z_SFC_DISPATCH ZSD FROM Z_SFC_DISPATCH ZSD
WHERE Z_CALL_ITEM.SFC_DISPATCH_BO = ZSD.HANDLE WHERE Z_CALL_ITEM.SFC_DISPATCH_BO = ZSD.HANDLE
@ -843,17 +843,35 @@
</foreach> </foreach>
</update> </update>
<select id="findIssueMatchCallItemList" resultMap="FullResultMap">
SELECT B.HANDLE, B.SITE, B.CALL_ITEM_NO, B.SHOP_ORDER, B.SFC, B.RESRCE, B.REQUIRED_QTY, NVL(B.ISSUE_QTY,0) ISSUE_QTY, B.REQUIRED_DATE_TIME, B.STATUS
FROM Z_CALL_ITEM B
INNER JOIN Z_SFC_DISPATCH P ON B.SFC_DISPATCH_BO = P.HANDLE
INNER JOIN ITEM M ON B.COMPONENT_BO = M.HANDLE
INNER JOIN SHOP_ORDER Z ON Z.SITE = B.SITE AND Z.SHOP_ORDER = B.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = Z.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER'
WHERE B.SITE = #{site} AND M.ITEM = #{item} AND P.BLANKING_SIZE = #{blankingSize}
AND (B.ISSUE_QTY IS NULL OR B.ISSUE_QTY &lt; B.REQUIRED_QTY)
<if test="workOrder != null and workOrder != ''">
AND CF.VALUE = #{workOrder}
</if>
<if test="resource != null and resource != ''">
AND B.RESRCE = #{resource}
</if>
ORDER BY B.REQUIRED_DATE_TIME
</select>
<select id="finsIssueItemListToResource" resultMap="FullResultMap"> <select id="finsIssueItemListToResource" resultMap="FullResultMap">
SELECT VIP.SITE, VIP.WORK_ORDER, VIP.CALL_TYPE, VIP.ITEM_BO, VIP.ITEM, VIP.ITEM_DESCRIPTION, VIP.REQUIRED_QTY, VIP.BLANKING_SIZE, VIP.RESRCE, SIP.SOURCE_RESOURCE SELECT VIP.SITE, VIP.WORK_ORDER, VIP.ITEM_BO, VIP.ITEM, VIP.ITEM_DESCRIPTION, VIP.REQUIRED_QTY, VIP.BLANKING_SIZE, VIP.RESRCE, SIP.SOURCE_RESOURCE
FROM ( FROM (
SELECT L.SITE, CF.VALUE WORK_ORDER, L.CALL_TYPE, CP.HANDLE ITEM_BO, CP.ITEM, CT.DESCRIPTION ITEM_DESCRIPTION, SUM(L.REQUIRED_QTY) REQUIRED_QTY, W.BLANKING_SIZE, W.RESRCE SELECT L.SITE, CF.VALUE WORK_ORDER, CP.HANDLE ITEM_BO, CP.ITEM, CT.DESCRIPTION ITEM_DESCRIPTION, SUM(L.REQUIRED_QTY)-SUM(NVL(L.ISSUE_QTY,0)) REQUIRED_QTY, W.BLANKING_SIZE, W.RESRCE
FROM Z_CALL_ITEM L FROM Z_CALL_ITEM L
INNER JOIN Z_SFC_DISPATCH W ON L.SFC_DISPATCH_BO = W.HANDLE INNER JOIN Z_SFC_DISPATCH W ON L.SFC_DISPATCH_BO = W.HANDLE
INNER JOIN ITEM CP ON CP.HANDLE = L.COMPONENT_BO INNER JOIN ITEM CP ON CP.HANDLE = L.COMPONENT_BO
LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh' LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
INNER JOIN SHOP_ORDER SO ON SO.SITE = L.SITE AND SO.SHOP_ORDER = L.SHOP_ORDER INNER JOIN SHOP_ORDER SO ON SO.SITE = L.SITE AND SO.SHOP_ORDER = L.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER' LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER'
WHERE L.SITE = #{site} AND L.CALL_TYPE = 'MATERIAL' WHERE L.SITE = #{site} AND L.STATUS = '802'
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND W.WORK_CENTER = #{workCenter} AND W.WORK_CENTER = #{workCenter}
</if> </if>
@ -872,7 +890,7 @@
<if test="requiredToDT != null"> <if test="requiredToDT != null">
AND L.REQUIRED_DATE_TIME &lt;= #{requiredToDT} AND L.REQUIRED_DATE_TIME &lt;= #{requiredToDT}
</if> </if>
GROUP BY L.SITE, CF.VALUE, L.CALL_TYPE, CP.HANDLE, CP.ITEM, CT.DESCRIPTION, W.BLANKING_SIZE, W.RESRCE GROUP BY L.SITE, CF.VALUE, CP.HANDLE, CP.ITEM, CT.DESCRIPTION, W.BLANKING_SIZE, W.RESRCE
) VIP ) VIP
LEFT JOIN ( LEFT JOIN (
SELECT L.SITE, L.ITEM_BO, ZD.RESRCE SOURCE_RESOURCE SELECT L.SITE, L.ITEM_BO, ZD.RESRCE SOURCE_RESOURCE
@ -885,20 +903,20 @@
INNER JOIN Z_SFC_DISPATCH ZD ON ZD.SITE = ZS.SITE AND ZD.SFC = ZS.SFC AND ZD.DISPATCH_SEQ = ZS.DISPATCH_SEQ INNER JOIN Z_SFC_DISPATCH ZD ON ZD.SITE = ZS.SITE AND ZD.SFC = ZS.SFC AND ZD.DISPATCH_SEQ = ZS.DISPATCH_SEQ
WHERE W.QTY_ON_HAND > 0 WHERE W.QTY_ON_HAND > 0
) SIP ) SIP
ON VIP.SITE = SIP.SITE AND VIP.ITEM_BO = SIP.ITEM_BO ON VIP.SITE = SIP.SITE AND VIP.ITEM_BO = SIP.ITEM_BO AND VIP.REQUIRED_QTY > 0
</select> </select>
<select id="finsIssueItemListNoResource" resultMap="FullResultMap"> <select id="finsIssueItemListNoResource" resultMap="FullResultMap">
SELECT VIP.SITE, VIP.WORK_ORDER, VIP.CALL_TYPE, VIP.ITEM_BO, VIP.ITEM, VIP.ITEM_DESCRIPTION, VIP.REQUIRED_QTY, VIP.BLANKING_SIZE, SIP.SOURCE_RESOURCE SELECT VIP.SITE, VIP.WORK_ORDER, VIP.ITEM_BO, VIP.ITEM, VIP.ITEM_DESCRIPTION, VIP.REQUIRED_QTY, VIP.BLANKING_SIZE, SIP.SOURCE_RESOURCE
FROM ( FROM (
SELECT L.SITE, CF.VALUE WORK_ORDER, L.CALL_TYPE, CP.HANDLE ITEM_BO, CP.ITEM, CT.DESCRIPTION ITEM_DESCRIPTION, SUM(L.REQUIRED_QTY) REQUIRED_QTY, W.BLANKING_SIZE SELECT L.SITE, CF.VALUE WORK_ORDER, CP.HANDLE ITEM_BO, CP.ITEM, CT.DESCRIPTION ITEM_DESCRIPTION, SUM(L.REQUIRED_QTY)-SUM(NVL(L.ISSUE_QTY,0)) REQUIRED_QTY, W.BLANKING_SIZE
FROM Z_CALL_ITEM L FROM Z_CALL_ITEM L
INNER JOIN Z_SFC_DISPATCH W ON L.SFC_DISPATCH_BO = W.HANDLE INNER JOIN Z_SFC_DISPATCH W ON L.SFC_DISPATCH_BO = W.HANDLE
INNER JOIN ITEM CP ON CP.HANDLE = L.COMPONENT_BO INNER JOIN ITEM CP ON CP.HANDLE = L.COMPONENT_BO
LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh' LEFT JOIN ITEM_T CT ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
INNER JOIN SHOP_ORDER SO ON SO.SITE = L.SITE AND SO.SHOP_ORDER = L.SHOP_ORDER INNER JOIN SHOP_ORDER SO ON SO.SITE = L.SITE AND SO.SHOP_ORDER = L.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER' LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF."ATTRIBUTE" = 'WORK_ORDER'
WHERE L.SITE = #{site} AND L.CALL_TYPE = 'MATERIAL' WHERE L.SITE = #{site} AND L.STATUS = '802'
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND W.WORK_CENTER = #{workCenter} AND W.WORK_CENTER = #{workCenter}
</if> </if>
@ -917,7 +935,7 @@
<if test="requiredToDT != null"> <if test="requiredToDT != null">
AND L.REQUIRED_DATE_TIME &lt;= #{requiredToDT} AND L.REQUIRED_DATE_TIME &lt;= #{requiredToDT}
</if> </if>
GROUP BY L.SITE, CF.VALUE, L.CALL_TYPE, CP.HANDLE, CP.ITEM, CT.DESCRIPTION, W.BLANKING_SIZE GROUP BY L.SITE, CF.VALUE, CP.HANDLE, CP.ITEM, CT.DESCRIPTION, W.BLANKING_SIZE
) VIP ) VIP
LEFT JOIN ( LEFT JOIN (
SELECT L.SITE, L.ITEM_BO, ZD.RESRCE SOURCE_RESOURCE SELECT L.SITE, L.ITEM_BO, ZD.RESRCE SOURCE_RESOURCE
@ -930,6 +948,6 @@
INNER JOIN Z_SFC_DISPATCH ZD ON ZD.SITE = ZS.SITE AND ZD.SFC = ZS.SFC AND ZD.DISPATCH_SEQ = ZS.DISPATCH_SEQ INNER JOIN Z_SFC_DISPATCH ZD ON ZD.SITE = ZS.SITE AND ZD.SFC = ZS.SFC AND ZD.DISPATCH_SEQ = ZS.DISPATCH_SEQ
WHERE W.QTY_ON_HAND > 0 WHERE W.QTY_ON_HAND > 0
) SIP ) SIP
ON VIP.SITE = SIP.SITE AND VIP.ITEM_BO = SIP.ITEM_BO ON VIP.SITE = SIP.SITE AND VIP.ITEM_BO = SIP.ITEM_BO AND VIP.REQUIRED_QTY > 0
</select> </select>
</mapper> </mapper>

@ -6,9 +6,6 @@
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.dispatch.model.IssueItem"> <resultMap id="BaseResultMap" type="com.foreverwin.mesnac.dispatch.model.IssueItem">
<result column="HANDLE" property="handle" /> <result column="HANDLE" property="handle" />
<result column="SITE" property="site" /> <result column="SITE" property="site" />
<result column="CALL_ITEM_NO" property="callItemNo" />
<result column="SHOP_ORDER" property="shopOrder" />
<result column="SFC" property="sfc" />
<result column="ITEM" property="item" /> <result column="ITEM" property="item" />
<result column="INVENTORY" property="inventory" /> <result column="INVENTORY" property="inventory" />
<result column="QTY" property="qty" /> <result column="QTY" property="qty" />
@ -20,7 +17,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
HANDLE, SITE, CALL_ITEM_NO, SHOP_ORDER, SFC, ITEM, INVENTORY, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME HANDLE, SITE, ITEM, INVENTORY, QTY, CREATE_USER, CREATED_DATE_TIME, MODIFY_USER, MODIFIED_DATE_TIME
</sql> </sql>
<!-- BaseMapper标准查询/修改/删除 --> <!-- BaseMapper标准查询/修改/删除 -->
@ -47,9 +44,6 @@
HANDLE=#{ew.handle} HANDLE=#{ew.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -69,9 +63,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -99,9 +90,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -129,9 +117,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -159,9 +144,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -189,9 +171,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -219,9 +198,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -245,9 +221,6 @@
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE, HANDLE,
<if test="site!=null">SITE,</if> <if test="site!=null">SITE,</if>
<if test="callItemNo!=null">CALL_ITEM_NO,</if>
<if test="shopOrder!=null">SHOP_ORDER,</if>
<if test="sfc!=null">SFC,</if>
<if test="item!=null">ITEM,</if> <if test="item!=null">ITEM,</if>
<if test="inventory!=null">INVENTORY,</if> <if test="inventory!=null">INVENTORY,</if>
<if test="qty!=null">QTY,</if> <if test="qty!=null">QTY,</if>
@ -259,9 +232,6 @@
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
#{handle}, #{handle},
<if test="site!=null">#{site},</if> <if test="site!=null">#{site},</if>
<if test="callItemNo!=null">#{callItemNo},</if>
<if test="shopOrder!=null">#{shopOrder},</if>
<if test="sfc!=null">#{sfc},</if>
<if test="item!=null">#{item},</if> <if test="item!=null">#{item},</if>
<if test="inventory!=null">#{inventory},</if> <if test="inventory!=null">#{inventory},</if>
<if test="qty!=null">#{qty},</if> <if test="qty!=null">#{qty},</if>
@ -280,9 +250,6 @@
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
#{handle}, #{handle},
#{site}, #{site},
#{callItemNo},
#{shopOrder},
#{sfc},
#{item}, #{item},
#{inventory}, #{inventory},
#{qty}, #{qty},
@ -293,18 +260,10 @@
</trim> </trim>
</insert> </insert>
<update id="update"> <update id="update">
UPDATE Z_ISSUE_ITEM <trim prefix="SET" suffixOverrides=","> UPDATE Z_ISSUE_ITEM <trim prefix="SET" suffixOverrides=",">
<if test="et.handle!=null">HANDLE=#{et.handle},</if> <if test="et.handle!=null">HANDLE=#{et.handle},</if>
<if test="et.site!=null">SITE=#{et.site},</if> <if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.callItemNo!=null">CALL_ITEM_NO=#{et.callItemNo},</if>
<if test="et.shopOrder!=null">SHOP_ORDER=#{et.shopOrder},</if>
<if test="et.sfc!=null">SFC=#{et.sfc},</if>
<if test="et.item!=null">ITEM=#{et.item},</if> <if test="et.item!=null">ITEM=#{et.item},</if>
<if test="et.inventory!=null">INVENTORY=#{et.inventory},</if> <if test="et.inventory!=null">INVENTORY=#{et.inventory},</if>
<if test="et.qty!=null">QTY=#{et.qty},</if> <if test="et.qty!=null">QTY=#{et.qty},</if>
@ -318,9 +277,6 @@
<if test="ew.entity!=null"> <if test="ew.entity!=null">
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>
@ -362,9 +318,6 @@
HANDLE=#{ew.entity.handle} HANDLE=#{ew.entity.handle}
</if> </if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if> <if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.callItemNo!=null"> AND CALL_ITEM_NO=#{ew.entity.callItemNo}</if>
<if test="ew.entity.shopOrder!=null"> AND SHOP_ORDER=#{ew.entity.shopOrder}</if>
<if test="ew.entity.sfc!=null"> AND SFC=#{ew.entity.sfc}</if>
<if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if> <if test="ew.entity.item!=null"> AND ITEM=#{ew.entity.item}</if>
<if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if> <if test="ew.entity.inventory!=null"> AND INVENTORY=#{ew.entity.inventory}</if>
<if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if> <if test="ew.entity.qty!=null"> AND QTY=#{ew.entity.qty}</if>

Loading…
Cancel
Save