Merge remote-tracking branch 'origin/master'

master
Yangwl 1 year ago
commit f9d882fdff

@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestBody;
*/
@FeignClient(contextId = "remoteEnergyService", value = ServiceNameConstants.ENERGY_SERVICE, fallbackFactory = RemoteEnergyFallbackFactory.class)
public interface RemoteEnergyService {
@PostMapping("/energy/addDatasource")
@PostMapping("/buildInfo/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty);
@PostMapping("/energy/removeDatasource")
@PostMapping("/buildInfo/removeDatasource")
public R removeDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty);
}

@ -130,4 +130,11 @@ public interface RemoteSapService {
*/
@PostMapping("/sap/temporarilyCollected")
public R temporarilyCollected(@RequestBody(required = false) List<Map> mapList) ;
/**
*sap105
*/
@PostMapping("/sap/sap105temporarilyCollected")
public R sap105temporarilyCollected(@RequestBody(required = false) List<Map> mapList) ;
}

@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
import java.util.List;
/**
* base_equipment
@ -156,6 +157,44 @@ public class EquEquipmentDTO extends BaseEntity {
@Excel(name = "SAP资产号")
private String sapAsset;
private String factoryCode;
private String sapCode;
private String sapName;
private List<EquEquipmentDTO> details;
public List<EquEquipmentDTO> getDetails() {
return details;
}
public void setDetails(List<EquEquipmentDTO> details) {
this.details = details;
}
public String getSapCode() {
return sapCode;
}
public void setSapCode(String sapCode) {
this.sapCode = sapCode;
}
public String getSapName() {
return sapName;
}
public void setSapName(String sapName) {
this.sapName = sapName;
}
public String getFactoryCode() {
return factoryCode;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public void setEquipmentId(Long equipmentId) {
this.equipmentId = equipmentId;
}

@ -143,6 +143,11 @@ public class RemoteSapFallbackFactory implements FallbackFactory<RemoteSapServic
return R.fail("来料暂收过账失败" + throwable.getMessage());
}
@Override
public R sap105temporarilyCollected(List<Map> mapList) {
return R.fail("105过账失败" + throwable.getMessage());
}
};
}
}

@ -118,6 +118,7 @@ public class ExcelMapUtil {
cellStyle.setBorderLeft(BorderStyle.THIN);
// 设置右边框
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
return cellStyle;
}

@ -1,17 +1,24 @@
package com.op.energy.base.controller;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty;
import com.op.common.core.domain.R;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.datasource.creator.DynamicDatasourceCreator;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.energy.base.domain.BaseBuildInfo;
import com.op.energy.base.domain.Ztree;
import com.op.energy.base.service.IBaseBuildInfoService;
import com.op.system.api.domain.DataSourcePropertyDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@ -26,7 +33,10 @@ import java.util.List;
public class BaseBuildInfoController extends BaseController {
@Autowired
private IBaseBuildInfoService baseBuildInfoService;
@Resource
private DynamicDatasourceCreator dynamicDatasourceCreator;
@Resource
private DynamicRoutingDataSource dynamicRoutingDataSource;
/**
*
*/
@ -97,5 +107,19 @@ public class BaseBuildInfoController extends BaseController {
List<Ztree> ztrees = baseBuildInfoService.selectBaseBuildInfoTree();
return ztrees;
}
@PostMapping("/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();
BeanUtils.copyProperties(dto,dataSourceProperty);
dynamicDatasourceCreator.createDynamicDataSource(dataSourceProperty);
return R.ok();
}
@PostMapping("/removeDatasource")
public R removeDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();
BeanUtils.copyProperties(dto,dataSourceProperty);
dynamicRoutingDataSource.removeDataSource(dataSourceProperty.getPoolName());
return R.ok();
}
}

@ -68,6 +68,9 @@ public class MesInspectionReport extends BaseEntity {
//项目名
private String projectName;
//线体名
private String lineName;
//开线
private String openLine;
//清换线
@ -150,4 +153,7 @@ public class MesInspectionReport extends BaseEntity {
public void setTeam(String team) { this.team = team; }
public String getTeam() { return team; }
public void setLineName(String lineName) { this.lineName = lineName; }
public String getLineName() { return lineName; }
}

@ -119,6 +119,15 @@ public class MesPrepareDetail extends BaseEntity {
private String workorderCode;
private String parentOrder;
private String prodLineCode;
private int xh;
public int getXh() {
return xh;
}
public void setXh(int xh) {
this.xh = xh;
}
public String getProductDateStr() {
return productDateStr;

@ -1,6 +1,7 @@
package com.op.mes.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
@ -112,8 +113,15 @@ public class MesPrepareDetailServiceImpl implements IMesPrepareDetailService {
.replace("\"","")
.replace("\"","")
.replace("]]",""));
mesPrepareDetailList = mesPrepareDetailList.stream()
.filter(dto ->!dto.getQuantity().equals("0.00"))
.collect(Collectors.toList());
PrintPrepareVo printPrepareVo = new PrintPrepareVo();
printPrepareVo.setMesPrepare(mesPrepare);
int i = 1;
for(MesPrepareDetail dto:mesPrepareDetailList){
dto.setXh(i++);
}
printPrepareVo.setMesPrepareDetailList(mesPrepareDetailList);
return AjaxResult.success(printPrepareVo);
}
@ -131,6 +139,13 @@ public class MesPrepareDetailServiceImpl implements IMesPrepareDetailService {
qodetail.setProductDateStr(productDate);
qodetail.setRecoil("X");
List<MesPrepareDetail> mesPrepareDetailList = mesPrepareDetailMapper.selectPreDetailHzList(qodetail);
mesPrepareDetailList = mesPrepareDetailList.stream()
.filter(dto ->!dto.getQuantity().equals("0.00"))
.collect(Collectors.toList());
int i = 1;
for(MesPrepareDetail dto:mesPrepareDetailList){
dto.setXh(i++);
}
PrintPrepareVo printPrepareVo = new PrintPrepareVo();
printPrepareVo.setMesPrepare(mesPrepare);
printPrepareVo.setMesPrepareDetailList(mesPrepareDetailList);

@ -34,6 +34,7 @@
<result property="equipmentName" column="equipment_name"/>
<result property="projectName" column="project_name"/>
<result property="lineName" column="line_name"/>
</resultMap>
@ -126,6 +127,7 @@
<select id="selectSelfMutualInspectionData" resultMap="MesInspectionReportResult" parameterType="MesInspectionReport">
select top 1
mts.line_code,
be.equipment_name as line_name,
mts.product_date,
mts.product_code,
mts.product_name,
@ -134,6 +136,7 @@
mts.remark,
mts.create_by
from mes_table_self mts
left join base_equipment be on mts.line_code = be.equipment_code
<where>
and mts.report_name = #{reportName}
and mts.del_flag = '0'

@ -955,9 +955,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="getProductReason" resultType="java.lang.String">
SELECT
STRING_AGG(Reason, ';') AS Reasons
STRING_AGG(concat('【',Reason,attr2,'H】'), ';') AS Reasons
FROM
mes_report_work where workorder_code = #{workorderCode} and del_flag = '0' and Reason is not null
mes_report_work where workorder_code = #{workorderCode} and del_flag = '0'
and Reason is not null
and reason !=''
and reason !='无'
GROUP BY
workorder_code;
</select>

@ -10,6 +10,7 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.common.datasource.creator.DynamicDatasourceCreator;
import com.op.open.service.OpenService;
import com.op.system.api.domain.DataSourcePropertyDTO;
import com.op.system.api.domain.device.EquEquipmentDTO;
import com.op.system.api.domain.device.EquRepairOrderDTO;
import com.op.system.api.domain.dto.WCSDTO;
import com.op.system.api.domain.dto.WechartDTO;
@ -257,4 +258,13 @@ public class OpenController extends BaseController {
public AjaxResult sendProductCheckNo(@RequestBody List<BaseProductDTO> dots) {
return openService.sendProductCheckNo(dots);
}
//给oa提供的设备sap设备增加
@PostMapping("/addEquSapInfo")
public AjaxResult addEquSapInfo(@RequestBody EquEquipmentDTO dto) {
if(StringUtils.isNotBlank(dto.getFactoryCode())){
return error("[factoryCode] is null ");
}
return openService.addEquSapInfo(dto);
}
}

@ -96,5 +96,9 @@ public interface OpenMapper {
int updateProductNoBatchs(@Param("list") List<BaseProductDTO> updates);
int addProductNoBatchs(@Param("list")List<BaseProductDTO> everyList);
//
// int updateEquBatchs(@Param("list") List<EquEquipmentDTO> updates);
//
// int addEquBatchs(@Param("list") List<EquEquipmentDTO> everyList);
}

@ -1,6 +1,7 @@
package com.op.open.service;
import com.op.common.core.web.domain.AjaxResult;
import com.op.system.api.domain.device.EquEquipmentDTO;
import com.op.system.api.domain.device.EquRepairOrderDTO;
import com.op.system.api.domain.dto.WCSDTO;
import com.op.system.api.domain.dto.WechartDTO;
@ -43,4 +44,6 @@ public interface OpenService {
AjaxResult getDeliveryNoteDetail(Map paramMap);
AjaxResult sendProductCheckNo(List<BaseProductDTO> dots);
AjaxResult addEquSapInfo(EquEquipmentDTO dto);
}

@ -706,7 +706,72 @@ public class OpenServiceImpl implements OpenService {
return error(e.getMessage());
}
}
@Override
public AjaxResult addEquSapInfo(EquEquipmentDTO dto) {
// try {
// logger.info("oa增加sap设备发送参数"+JSONObject.toJSONString(dto));
// List<EquEquipmentDTO> dtos = dto.getDetails();
// if(CollectionUtils.isEmpty(dtos)){
// return error("oa增加sap设备发送参数为空");
// }
// DynamicDataSourceContextHolder.push("ds_"+dtos.get(0).getFactoryCode());
// Date nowDate = DateUtils.getNowDate();
// String createBy = SecurityUtils.getUsername();
// for(EquEquipmentDTO equ:dtos){
// equ.setCreateBy(createBy);
// equ.setUpdateBy(createBy);
// equ.setCreateTime(nowDate);
// equ.setUpdateTime(nowDate);
// }
//
//
// //sap返回的sap设备编码
// List<String> codes = dtos.stream().map(EquEquipmentDTO::getSapCode).collect(Collectors.toList());
// //sap返回的客户编码-本地已存在
// List<String> exsitCodes = openMapper.getExsitCodes(codes);
// //sap返回的产品编码-本地不存在// 差集 (list2 - list1)
// List<String> noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item)).collect(Collectors.toList());
//
// List<EquEquipmentDTO> updates = new ArrayList<>();
// for (String exsitCode : exsitCodes) {
// List<EquEquipmentDTO> updates0 = dtos.stream().filter(up -> up.getSapCode().equals(exsitCode)).collect(Collectors.toList());
// updates.addAll(updates0);
// }
// if (!CollectionUtils.isEmpty(updates)) {
// int m = openMapper.updateEquBatchs(updates);
// System.out.println("oa更新设备成功条数" + m);
// }
// List<EquEquipmentDTO> adds = new ArrayList<>();
// for (String noExsitCode : noExsitCodes) {
// List<EquEquipmentDTO> adds0 = dtos.stream().filter(ad -> ad.getSapCode().equals(noExsitCode)).collect(Collectors.toList());
// adds.addAll(adds0);
// }
// if (!CollectionUtils.isEmpty(adds)) {
//
// int allsize = adds.size();
// int inserttimes = allsize / 100 + 1;
// for (int m = 0; m < inserttimes; m++) {
// List<EquEquipmentDTO> everyList;
// if (m < (inserttimes - 1)) {
// everyList = adds.subList(m * 100, (m + 1) * 100);
// } else {
// everyList = adds.subList(m * 100, allsize);
// }
// if (everyList.size() > 0) {
// openMapper.addEquBatchs(everyList);
// }
// }
//
// System.out.println("oa新增设备成功条数" + allsize);
// }
//
// return success();
// } catch (Exception e) {
// e.printStackTrace();
// return error(e.getMessage());
// }
return success();
}
protected Boolean oneMinHas(Date lastData){
if(lastData != null){
int year= Integer.parseInt(String.format("%tY", lastData));

@ -315,6 +315,12 @@ public class ProOrderWorkorderController extends BaseController {
return proOrderWorkorderService.getIdCardList(proOrderWorkorder);
}
/**获取标识卡-重置**/
@PostMapping("/getIdCardListRefresh")
public List<ProOrderWorkorder> getIdCardListRefresh(@RequestBody ProOrderWorkorder proOrderWorkorder) {
return proOrderWorkorderService.getIdCardListRefresh(proOrderWorkorder);
}
//获取批次号
@GetMapping("/getBatchCode/{workorderId}")
public List<ProOrderWorkorder> getBatchCode(@PathVariable("workorderId") String workorderId) {

@ -153,4 +153,6 @@ public interface IProOrderWorkorderService {
List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder);
List<ProOrderWorkorder> getBatchCode(String workorderId);//获取批次号
List<ProOrderWorkorder> getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder);
}

@ -762,6 +762,9 @@ public class ProOrderServiceImpl implements IProOrderService {
@DS("#header.poolName")
public List<CascaderDTO> getProEquipment(String routeCode) {
List<CascaderDTO> level= proOrderMapper.getRouteProcess(routeCode);
if(CollectionUtils.isEmpty(level)){
return null;
}
List<CascaderDTO> level2= proOrderMapper.getRouteProcessEquips(level);
Map<String,CascaderDTO> equipMap = new HashMap<>();//设备字典
if(!CollectionUtils.isEmpty(level2)){

@ -1269,20 +1269,21 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
@DS("#header.poolName")
public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> dtos = new ArrayList<>();
//如果标识卡之前版本已经被用(attr1->1),则不生成新的
ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
// //如果标识卡之前版本已经被用(attr1->1),则不生成新的
// ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
//清除之前的非补打的
List<ProOrderWorkorder> dtos0 = null;
if(proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0")&&oldVersion==null) {
//不是增打和补打且还没用于入库
proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
}
// if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) {
// //不是增打和补打且还没用于入库
// proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
// }
if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0
if(oldVersion != null){
dtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder);
for(ProOrderWorkorder pow:dtos){
List<ProOrderWorkorder> olddtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder);
if(!CollectionUtils.isEmpty(olddtos)){
for(ProOrderWorkorder pow:olddtos){
pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量
}
dtos.addAll(olddtos);
}else{
dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
ProOrderWorkorder pw = null;
@ -1386,6 +1387,70 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
return dtos;
}
@Override
@DS("#header.poolName")
public List<ProOrderWorkorder> getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> dtos = new ArrayList<>();
//如果标识卡之前版本已经被用(attr1->1),则不生成新的
//ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
//清除之前的非补打的
List<ProOrderWorkorder> dtos0 = null;
//if(oldVersion==null) {
//重置
proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
//}
dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
ProOrderWorkorder pw = null;
int i = 1;
Date nowDate = DateUtils.getNowDate();
for(ProOrderWorkorder pow:dtos0){
if(pow.getPalletNum()!=null){
BigDecimal pall = pow.getBatchQuantity();
BigDecimal pn = pow.getPalletNum();
while(pall.compareTo(BigDecimal.ZERO)>0){
pw = new ProOrderWorkorder();
pw.setProductName(pow.getProductName());
pw.setWorkorderCode(pow.getWorkorderCode());
pw.setBatchCode(pow.getBatchCode());
pw.setProductDateStr(pow.getProductDateStr());
pw.setRecordId(IdUtils.fastSimpleUUID());
if(pall.compareTo(pn)<0) {//最后一托盘
pw.setBatchQuantity(pall);
}else{
pw.setBatchQuantity(pn);
}
pw.setUnit(pow.getUnit());
pw.setUmrez(pw.getBatchQuantity().multiply(pow.getUmrez()));//子单数量
pw.setPalletNo(i++);
//批次+板号+物料+工单号
pw.setPalletCode(
pow.getBatchCode() + "-"
+ pw.getPalletNo() + "-"
+ pow.getProductCode().replace("0000000","") + "-"
+ pow.getWorkorderCode().replace("000","")
);//workorderCode 实际上是订单号
pw.setCreateTime(nowDate);
pw.setCreateBy(SecurityUtils.getUsername());
pw.setAddFlag("0");//增打标志
dtos.add(pw);
pall = pall.subtract(pn);
}
}
}
if(!CollectionUtils.isEmpty(dtos)) {//不是增打和补打
proOrderWorkorderMapper.addBatchPallet(dtos);
proOrderWorkorder.setProdType("1");//补打标识临时借用
List<ProOrderWorkorder> dtosZ = proOrderWorkorderMapper.getPreIdCardListB(proOrderWorkorder);//增打
if(!CollectionUtils.isEmpty(dtosZ)){
dtos.addAll(dtosZ);
}
}
return dtos;
}
/**
*

@ -719,7 +719,7 @@
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0'
<if test="palletNo != null">and powbp.pallet_num = #{palletNo}</if>
<if test="prodType != null">and powbp.add_flag = #{prodType}</if>
and powbp.del_flag = '0'
order by CAST(powbp.pallet_num AS INT),powb.batch_code
</select>
@ -885,7 +885,7 @@
from pro_order_workorder_batch_pallet powbp
left join pro_order_workorder pow on powbp.workorder_code = pow.workorder_code_sap
left join base_product bp on bp.product_code = pow.product_code
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0'
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powbp.del_flag = '0'
order by CAST(powbp.pallet_num AS INT)
</select>
@ -1027,9 +1027,9 @@
</foreach>
</delete>
<delete id="cleanCard">
delete from pro_order_workorder_batch_pallet where workorder_code in(
update pro_order_workorder_batch_pallet set del_flag = '1' where workorder_code in(
select workorder_code_sap from pro_order_workorder where workorder_code = #{workorderCode}
) and add_flag = '0' and attr1 != '1'
) and add_flag = '0' and attr1 = '0'
</delete>
<update id="updateCheckTaskBatch" parameterType="com.op.plan.domain.dto.CheckTaskBatchDTO">
update qc_check_task set income_batch_no = #{newIncomeBatchNo}

@ -41,7 +41,7 @@ public class QcCheckProjectController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:project:list")
//@RequiresPermissions("quality:project:list")
@GetMapping("/list")
public TableDataInfo list(QcCheckProject qcCheckProject) {
startPage();

@ -0,0 +1,111 @@
package com.op.quality.controller;
import java.security.Security;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.QcProductCpkUpdown;
import com.op.quality.service.IQcProductCpkUpdownService;
import org.apache.catalina.security.SecurityUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.web.page.TableDataInfo;
/**
* CPKController
*
* @author Open Platform
* @date 2024-09-12
*/
@RestController
@RequestMapping("/cpkUpdown")
public class QcProductCpkUpdownController extends BaseController {
@Autowired
private IQcProductCpkUpdownService qcProductCpkUpdownService;
/**
* CPK
*/
@GetMapping("/list")
public TableDataInfo list(QcProductCpkUpdown qcProductCpkUpdown) {
startPage();
List<QcProductCpkUpdown> list = qcProductCpkUpdownService.selectQcProductCpkUpdownList(qcProductCpkUpdown);
return getDataTable(list);
}
/**
* CPK
*/
@Log(title = "CPK上下限维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcProductCpkUpdown qcProductCpkUpdown) {
List<QcProductCpkUpdown> list = qcProductCpkUpdownService.selectQcProductCpkUpdownList(qcProductCpkUpdown);
ExcelUtil<QcProductCpkUpdown> util = new ExcelUtil<QcProductCpkUpdown>(QcProductCpkUpdown. class);
util.exportExcel(response, list, "CPK上下限维护数据");
}
/**
* CPK
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcProductCpkUpdownService.selectQcProductCpkUpdownById(id));
}
/**
* CPK
*/
@RequiresPermissions("quality:cpkUpDowConfig:add")
@Log(title = "CPK上下限维护", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcProductCpkUpdown qcProductCpkUpdown) {
qcProductCpkUpdown.setId(IdUtils.fastSimpleUUID());
qcProductCpkUpdown.setCreateBy(SecurityUtils.getUsername());
qcProductCpkUpdown.setCreateTime(DateUtils.getNowDate());
QcProductCpkUpdown exsit = qcProductCpkUpdownService.checkCpkUpdown(qcProductCpkUpdown);
if(exsit!=null){
return AjaxResult.error("数据已存在");
}
return toAjax(qcProductCpkUpdownService.insertQcProductCpkUpdown(qcProductCpkUpdown));
}
/**
* CPK
*/
@RequiresPermissions("quality:cpkUpDowConfig:edit")
@Log(title = "CPK上下限维护", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcProductCpkUpdown qcProductCpkUpdown) {
qcProductCpkUpdown.setUpdateBy(SecurityUtils.getUsername());
qcProductCpkUpdown.setUpdateTime(DateUtils.getNowDate());
return toAjax(qcProductCpkUpdownService.updateQcProductCpkUpdown(qcProductCpkUpdown));
}
/**
* CPK
*/
@RequiresPermissions("quality:cpkUpDowConfig:remove")
@Log(title = "CPK上下限维护", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcProductCpkUpdownService.deleteQcProductCpkUpdownByIds(ids));
}
}

@ -14,9 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import com.op.common.core.domain.ExcelCol;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.poi.ExcelMapUtil;
import com.op.quality.domain.QcCheckDetail;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.domain.QcCheckType;
import com.op.quality.domain.*;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import com.op.system.api.domain.quality.FactoryDto;
@ -35,7 +33,6 @@ import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.quality.domain.QcStaticTable;
import com.op.quality.service.IQcStaticTableService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
@ -421,20 +418,53 @@ public class QcStaticTableController extends BaseController {
return getDataTable(list);
}
@PostMapping("/exportProduceAnalysis")
public void exportProduceAnalysis(HttpServletResponse response, QcStaticTable qcStaticTable) {
//默认时间范围T 00:00:00~T+1 00:00:00
if (StringUtils.isEmpty(qcStaticTable.getYmArrayStart())) {
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ymStr = dtf.format(date);
qcStaticTable.setYmArrayStart(ymStr);
qcStaticTable.setYmArrayEnd(ymStr);
@PostMapping("/exportCPK")
public void exportCPK(HttpServletResponse response, QcStaticTable qcStaticTable) {
QcStaticTable resultInfo = qcStaticTableService.getDLTableCPKInfo(qcStaticTable);
//第一行标题
List<String> title1Cols = resultInfo.getTitleCol1();
//第二行标题
List<String> title2Cols = resultInfo.getTitleCol2();
String titleRow1 = String.join(",", title1Cols);
//表格结构数据
ArrayList<ExcelCol> excelCols = new ArrayList<>();
excelCols.add(new ExcelCol("日期", "ymdms", 30));
List<String> titleKeys = new ArrayList<>();
for (int m = 0; m < title1Cols.size(); m++) {
for (int n = 0; n < title2Cols.size(); n++) {
excelCols.add(new ExcelCol(title2Cols.get(n), "mcode" + m + "Pcode" + n, 80));
titleKeys.add("mcode" + m + "Pcode" + n);
}
}
List<QcStaticTable> list = qcStaticTableService.getQmsRateTable(qcStaticTable);
ExcelUtil<QcStaticTable> util = new ExcelUtil<QcStaticTable>(QcStaticTable.class);
util.exportExcel(response, list, "质检不良统计");
//第三行开始数据
List<HashMap> list = new ArrayList<>();
//具体数据
List<HashMap> dxData = resultInfo.getDxData();
for (HashMap mapdto : dxData) {
list.add(mapdto);
}
String titleName = "定量检测项测量值CPK";
SXSSFWorkbook workbook = null;
try {
//设置响应头
response.setHeader("Content-disposition",
"attachment; filename=" + titleName);
response.setContentType("application/octet-stream;charset=UTF-8");
ServletOutputStream outputStream = response.getOutputStream();
//调用工具类
workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list);
workbook.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (workbook != null) {
workbook.dispose();
}
}
}
/**

@ -154,7 +154,11 @@ public class QuaController extends BaseController {
*/
@GetMapping(value = "getCheckTaskList")
public List<QcCheckTaskIncome> getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) {
if("0".equals(qcCheckTaskIncome.getCheckStatus())){
qcCheckTaskIncome.setDelFlag("0");//临时借用
}else{
qcCheckTaskIncome.setDelFlag("1");
}
if(StringUtils.isNotBlank(qcCheckTaskIncome.getCheckStatus())){
qcCheckTaskIncome.setCheckStatus("'"+ qcCheckTaskIncome.getCheckStatus().replace(",","','")+"'");
}

@ -0,0 +1,71 @@
package com.op.quality.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import com.op.system.api.domain.quality.ChartDTO;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
* qc_static_table
*
* @author Open Platform
* @date 2024-09-10
*/
public class QcCPKDTO{
@Excel(name = "检验节点")
private String checkType;
@Excel(name = "检验日期")
private String checkDate;
@Excel(name = "产品编码")
private String materialCode;
@Excel(name = "产品名称")
private String materialName;
@Excel(name = "CPK值")
private String cpkVal;
public String getCheckType() {
return checkType;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getCheckDate() {
return checkDate;
}
public void setCheckDate(String checkDate) {
this.checkDate = checkDate;
}
public String getMaterialCode() {
return materialCode;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}
public String getMaterialName() {
return materialName;
}
public void setMaterialName(String materialName) {
this.materialName = materialName;
}
public String getCpkVal() {
return cpkVal;
}
public void setCpkVal(String cpkVal) {
this.cpkVal = cpkVal;
}
}

@ -190,9 +190,17 @@ public class QcCheckReportIncome extends BaseEntity {
private String standardNo;
private String jgy;
private String cxzz;
private String pgy;
public String getCxzz() {
return cxzz;
}
public void setCxzz(String cxzz) {
this.cxzz = cxzz;
}
public String getJgy() {
return jgy;
}

@ -0,0 +1,153 @@
package com.op.quality.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
/**
* qc_product_cpk_updown
*
* @author Open Platform
* @date 2024-09-12
*/
public class QcProductCpkUpdown extends BaseEntity {
private static final long serialVersionUID=1L;
/** id */
private String id;
/** 类型编码material来料检验、produce生产检验、product成品检验 */
@Excel(name = "类型编码material来料检验、produce生产检验、product成品检验")
private String typeCode;
/** 检验节点 */
@Excel(name = "检验节点")
private String checkType;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
/** 物料号 */
@Excel(name = "物料号")
private String materialCode;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 上限 */
@Excel(name = "上限")
private BigDecimal upVal;
/** 下限 */
@Excel(name = "下限")
private BigDecimal downVal;
private String ruleCode;
private String ruleName;
public String getRuleCode() {
return ruleCode;
}
public void setRuleCode(String ruleCode) {
this.ruleCode = ruleCode;
}
public String getRuleName() {
return ruleName;
}
public void setRuleName(String ruleName) {
this.ruleName = ruleName;
}
public void setId(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setTypeCode(String typeCode){
this.typeCode = typeCode;
}
public String getTypeCode(){
return typeCode;
}
public void setCheckType(String checkType){
this.checkType = checkType;
}
public String getCheckType(){
return checkType;
}
public void setFactoryCode(String factoryCode){
this.factoryCode = factoryCode;
}
public String getFactoryCode(){
return factoryCode;
}
public void setDelFlag(String delFlag){
this.delFlag = delFlag;
}
public String getDelFlag(){
return delFlag;
}
public void setMaterialCode(String materialCode){
this.materialCode = materialCode;
}
public String getMaterialCode(){
return materialCode;
}
public void setMaterialName(String materialName){
this.materialName = materialName;
}
public String getMaterialName(){
return materialName;
}
public void setUpVal(BigDecimal upVal){
this.upVal = upVal;
}
public BigDecimal getUpVal(){
return upVal;
}
public void setDownVal(BigDecimal downVal){
this.downVal = downVal;
}
public BigDecimal getDownVal(){
return downVal;
}
@Override
public String toString(){
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id",getId())
.append("typeCode",getTypeCode())
.append("checkType",getCheckType())
.append("createBy",getCreateBy())
.append("createTime",getCreateTime())
.append("updateBy",getUpdateBy())
.append("updateTime",getUpdateTime())
.append("factoryCode",getFactoryCode())
.append("delFlag",getDelFlag())
.append("materialCode",getMaterialCode())
.append("materialName",getMaterialName())
.append("upVal",getUpVal())
.append("downVal",getDownVal())
.toString();
}
}

@ -0,0 +1,64 @@
package com.op.quality.mapper;
import com.op.quality.domain.QcProductCpkUpdown;
import java.util.List;
/**
* Mapper
*
* @author Open Platform
* @date 2024-09-12
*/
public interface QcProductCpkUpdownMapper {
/**
*
*
* @param id
* @return
*/
public QcProductCpkUpdown selectQcProductCpkUpdownById(String id);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public List<QcProductCpkUpdown> selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param id
* @return
*/
public int deleteQcProductCpkUpdownById(String id);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProductCpkUpdownByIds(String[] ids);
QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
}

@ -0,0 +1,64 @@
package com.op.quality.service;
import com.op.quality.domain.QcProductCpkUpdown;
import java.util.List;
/**
* Service
*
* @author Open Platform
* @date 2024-09-12
*/
public interface IQcProductCpkUpdownService {
/**
*
*
* @param id
* @return
*/
public QcProductCpkUpdown selectQcProductCpkUpdownById(String id);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public List<QcProductCpkUpdown> selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProductCpkUpdownByIds(String[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteQcProductCpkUpdownById(String id);
QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown);
}

@ -0,0 +1,104 @@
package com.op.quality.service.impl;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.quality.domain.QcProductCpkUpdown;
import com.op.quality.mapper.QcProductCpkUpdownMapper;
import com.op.quality.service.IQcProductCpkUpdownService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* Service
*
* @author Open Platform
* @date 2024-09-12
*/
@Service
public class QcProductCpkUpdownServiceImpl implements IQcProductCpkUpdownService {
@Autowired
private QcProductCpkUpdownMapper qcProductCpkUpdownMapper;
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public QcProductCpkUpdown selectQcProductCpkUpdownById(String id) {
return qcProductCpkUpdownMapper.selectQcProductCpkUpdownById(id);
}
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
@Override
@DS("#header.poolName")
public List<QcProductCpkUpdown> selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown) {
return qcProductCpkUpdownMapper.selectQcProductCpkUpdownList(qcProductCpkUpdown);
}
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) {
qcProductCpkUpdown.setCreateTime(DateUtils.getNowDate());
return qcProductCpkUpdownMapper.insertQcProductCpkUpdown(qcProductCpkUpdown);
}
/**
*
*
* @param qcProductCpkUpdown
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) {
qcProductCpkUpdown.setUpdateTime(DateUtils.getNowDate());
return qcProductCpkUpdownMapper.updateQcProductCpkUpdown(qcProductCpkUpdown);
}
/**
*
*
* @param ids
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProductCpkUpdownByIds(String[] ids) {
return qcProductCpkUpdownMapper.deleteQcProductCpkUpdownByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProductCpkUpdownById(String id) {
return qcProductCpkUpdownMapper.deleteQcProductCpkUpdownById(id);
}
@Override
@DS("#header.poolName")
public QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) {
return qcProductCpkUpdownMapper.checkCpkUpdown(qcProductCpkUpdown);
}
}

@ -707,7 +707,11 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
List<String> avgArray = Arrays.asList(avgArrayStr.split(","));
BigDecimal addVal = new BigDecimal("0.00");
for (String avgVal : avgArray) {
addVal = addVal.add(new BigDecimal(avgVal));
if(avgVal.matches(".*\\..*\\..*")){
addVal = addVal.add(new BigDecimal(avgVal.substring(2)));
}else{
addVal = addVal.add(new BigDecimal(avgVal));
}
}
BigDecimal avg = addVal.divide(new BigDecimal(avgArray.size()), 2, BigDecimal.ROUND_HALF_UP);
result.put("mcode" + m + "Pcode" + n, avg);
@ -764,6 +768,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
if(qcStaticTable.getProjectNoArray()!=null){
qcStaticTable.setProjectNo(qcStaticTable.getProjectNoArray()[0]);
QcStaticTable upandown = qcStaticTableMapper.getUpAndDown(qcStaticTable);
if(upandown!=null){
dto.setUpperDiff(upandown.getUpperDiff());
dto.setDownDiff(upandown.getDownDiff());
@ -779,7 +784,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
for (String day : days) {
HashMap result = new HashMap();
result.put("ymdms", day + " AVG");
result.put("ymdms", day + " CPK");
int i = 0, j = 0;
for (int m = 0; m < colCode1.size(); m++) {
for (int n = 0; n < colCode2.size(); n++) {
@ -789,7 +794,15 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
String avgArrayStr = avgdto.getQuality().replace("[", "")
.replace("]", "")
.replace("\"", "");
List<String> avgArray = Arrays.asList(avgArrayStr.split(","));
List<String> avgArray0 = Arrays.asList(avgArrayStr.split(","));
List<String> avgArray = new ArrayList<>();
for(String avg:avgArray0){
if(avg.matches(".*\\..*\\..*")){
avgArray.add(avg.substring(2));
}else{
avgArray.add(avg);
}
}
double[] data = avgArray.stream()
.mapToDouble(Double::parseDouble) // 将String转换为double
.toArray(); // 转换为double数组 ;
@ -847,6 +860,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
}
return Math.sqrt(temp / (data.length - 1));
}
@Override
@DS("#header.poolName")
public List<QcStaticTable> getProjectList(String checkType) {
@ -1152,13 +1166,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
}
public static void main(String args[]){
List<String> months = new ArrayList<>();
for (Month month : Month.values()) {
// 使用String.format来构造"yyyy-MM"格式的字符串
// %d用于整数年份和月份但月份需要前面补0使用%02d
String formattedMonth = String.format("%d-%02d",2024, month.getValue());
months.add(formattedMonth);
}
System.out.println(months);
String ymd = "1、0.4016";
System.out.println(ymd.substring(2));
}
}

@ -40,7 +40,9 @@
<result property="productType" column="product_type"/>
<result property="orderType" column="order_type"/>
<result property="standardNo" column="standardNo"/>
<result property="jgy" column="jgy"/>
<result property="pgy" column="pgy"/>
<result property="cxzz" column="cxzz"/>
</resultMap>
<sql id="selectQcCheckReportIncomeVo">
@ -97,8 +99,8 @@
qct.check_status, qct.check_man_code, qct.check_man_name,
qct.check_time, qct.check_result, qct.status, qct.check_type, qct.attr1, qct.attr2, qct.attr3, qct.attr4,
qct.create_by, qct.create_time, qct.update_by, qct.update_time,
qct.factory_code, qct.del_flag,qct.reason,qct.product_type,qct.order_type,qct.jgy,qct.pgy,
bp.mvgr5 standardNo
qct.factory_code, qct.del_flag,qct.reason,qct.product_type,qct.order_type,qct.jgy,qct.pgy,qct.cxzz,
ISNULL(bp.mvgr5, '成品蚊香【物料组】') standardNo
from qc_check_task qct
left join base_product bp on bp.product_code = qct.material_code
where qct.record_id = #{recordId}

@ -161,7 +161,7 @@
qctp.weight
from qc_check_task_detail td
left join qc_check_type_project qctp on td.type_project_id = qctp.id
left join lanju_op_cloud.dbo.sys_dict_data dic on dic.dict_value = td.unit_code and dic.status ='0'
left join lanju_op_cloud.dbo.sys_dict_data dic on dic.dict_value = td.unit_code and dic.status ='0' and dic.dict_type = 'unit'
where td.belong_to = #{belongTo} and td.del_flag='0' and qctp.del_flag = '0' and td.rule_name is not null
order by qctp.sort
</select>

@ -241,6 +241,7 @@
where CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</select>
<select id="getPutInOrder" resultType="com.op.quality.domain.QcCheckTaskIncome">
<!--
select * from (
SELECT
wms_raw_order_in_sn.user_defined5 AS orderNo,
@ -290,7 +291,41 @@
base_warehouse.warehouse_name,
wms_fp_storage_news_sn.wh_code
) t
-->
select t0.orderNo,
t0.materialCode,
t0.materialName,
t0.quality,
t0.incomeTime,
t0.supplierCode,
t0.supplierName,
t0.check_Type
from (
select t.order_no orderNo,
t.material_code materialCode,
t.material_name materialName,
t.quality quality,
t.income_time incomeTime,
t.supplier_code supplierCode,
t.supplier_name supplierName,
t.check_type check_Type,
bp.warehouse_cycle,
case when qct.create_time is not null then DATEDIFF(day, qct.create_time, GETDATE())
else DATEDIFF(day, t.income_time, GETDATE()) end days
from qc_check_task t
left join base_product_attached bp on t.material_code = concat('0000000',bp.product_code)
left join (
select order_no,material_code,max(create_time) create_time
from qc_check_task where check_type='checkTypeCC' and del_flag = '0' GROUP BY order_no,material_code
) qct on qct.order_no = t.order_no
and t.material_code = qct.material_code
where bp.warehouse_cycle is not null and t.check_type in('checkTypeLL','checkTypeCP') and t.del_flag = '0'
<if test="materialCode != null">and t.material_code like concat('%',#{materialCode}, '%')</if>
<if test="materialName != null">and t.material_name like concat('%',#{materialName}, '%')</if>
)t0
where t0.days >= t0.warehouse_cycle
</select>
<select id="getPutInOrderList" resultType="com.op.quality.domain.QcCheckTaskInventory">
select t0.orderNo,
t0.materialCode,
@ -313,8 +348,8 @@
case when qct.create_time is not null then DATEDIFF(day, qct.create_time, GETDATE())
else DATEDIFF(day, t.income_time, GETDATE()) end days
from qc_check_task t
left join base_product_attached bp on t.material_code = concat('0000000',bp.product_code)
left join (
left join base_product_attached bp on t.material_code = concat('0000000',bp.product_code)
left join (
select order_no,material_code,max(create_time) create_time
from qc_check_task where check_type='checkTypeCC' and del_flag = '0' GROUP BY order_no,material_code
) qct on qct.order_no = t.order_no
@ -322,6 +357,7 @@
where bp.warehouse_cycle is not null and t.check_type in('checkTypeLL','checkTypeCP') and t.del_flag = '0'
)t0
where t0.days >= t0.warehouse_cycle
</select>
<insert id="insertQcCheckOaTask" parameterType="OACheckTaskDTO">

@ -275,11 +275,10 @@
<if test="checkType != null and checkType != ''">and qct.check_type = #{checkType}</if>
<if test="checkTimeStart != null and checkTimeStart != ''">and CONVERT(varchar(10),qct.check_time, 120) = #{checkTimeStart}</if>
<if test="checkManCode != null and checkManCode != ''">and qctu.check_man_code = #{checkManCode}</if>
<if test="checkStatus != null and checkStatus != ''">and qct.check_status in (${checkStatus})</if>
and (
<!--CONVERT(varchar(10),qct.create_time, 120) = CONVERT(varchar(10),GETDATE(), 120) or-->
CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120)
)
<if test="checkStatus != null and checkStatus != ''">and qct.check_status in (${checkStatus})</if>
<if test='delFlag == "0"'>
and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120))
</if>
</where>
order by qct.create_time desc
</select>

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcProductCpkUpdownMapper">
<resultMap type="QcProductCpkUpdown" id="QcProductCpkUpdownResult">
<result property="id" column="id"/>
<result property="typeCode" column="type_code"/>
<result property="checkType" column="check_type"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="factoryCode" column="factory_code"/>
<result property="delFlag" column="del_flag"/>
<result property="materialCode" column="material_code"/>
<result property="materialName" column="material_name"/>
<result property="upVal" column="up_val"/>
<result property="downVal" column="down_val"/>
<result property="ruleCode" column="rule_code"/>
<result property="ruleName" column="rule_name"/>
</resultMap>
<sql id="selectQcProductCpkUpdownVo">
select id, type_code, check_type, create_by, create_time, update_by, update_time,
factory_code, del_flag, material_code, material_name, up_val, down_val,
rule_code,rule_name
from qc_product_cpk_updown
</sql>
<select id="selectQcProductCpkUpdownList" parameterType="QcProductCpkUpdown" resultMap="QcProductCpkUpdownResult">
select qpcu.id, qpcu.type_code, qpcu.create_by,
qpcu.create_time, qpcu.update_by, qpcu.update_time,
qpcu.material_code, qpcu.material_name, qpcu.up_val, qpcu.down_val,
qpcu.rule_code,qpcu.rule_name,qct.check_name check_type
from qc_product_cpk_updown qpcu
left join qc_check_type qct on qct.order_code = qpcu.check_type
<where>
<if test="typeCode != null and typeCode != ''">
and qpcu.type_code = #{typeCode}
</if>
<if test="checkType != null and checkType != ''">
and qpcu.check_type = #{checkType}
</if>
<if test="factoryCode != null and factoryCode != ''">
and qpcu.factory_code = #{factoryCode}
</if>
<if test="materialCode != null and materialCode != ''">
and qpcu.material_code like concat('%', #{materialCode}, '%')
</if>
<if test="materialName != null and materialName != ''">
and qpcu.material_name like concat('%', #{materialName}, '%')
</if>
<if test="upVal != null ">
and qpcu.up_val = #{upVal}
</if>
<if test="downVal != null ">
and qpcu.down_val = #{downVal}
</if>
<if test="ruleCode != null ">
and qpcu.rule_code like concat('%', #{ruleCode}, '%')
</if>
<if test="ruleName != null ">
and qpcu.rule_name like concat('%', #{ruleName}, '%')
</if>
and qpcu.del_flag = '0'
</where>
</select>
<select id="selectQcProductCpkUpdownById" parameterType="String"
resultMap="QcProductCpkUpdownResult">
<include refid="selectQcProductCpkUpdownVo"/>
where id = #{id}
</select>
<select id="checkCpkUpdown" resultType="com.op.quality.domain.QcProductCpkUpdown">
select top 1 type_code typeCode, check_type checkType,
material_code materialCode, material_name materialName,
rule_code ruleCode,rule_name ruleName
from qc_product_cpk_updown
where check_type = #{checkType}
and material_code = #{materialCode}
and rule_code = #{ruleCode}
</select>
<insert id="insertQcProductCpkUpdown" parameterType="QcProductCpkUpdown">
insert into qc_product_cpk_updown
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="typeCode != null">type_code,</if>
<if test="checkType != null">check_type,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="materialCode != null">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="upVal != null">up_val,</if>
<if test="downVal != null">down_val,</if>
<if test="ruleCode != null">rule_code,</if>
<if test="ruleName != null">rule_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="typeCode != null">#{typeCode},</if>
<if test="checkType != null">#{checkType},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode}, </if>
<if test="delFlag != null">#{delFlag},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="upVal != null">#{upVal},</if>
<if test="downVal != null">#{downVal},</if>
<if test="ruleCode != null">#{ruleCode},</if>
<if test="ruleName != null">#{ruleName},</if>
</trim>
</insert>
<update id="updateQcProductCpkUpdown" parameterType="QcProductCpkUpdown">
update qc_product_cpk_updown
<trim prefix="SET" suffixOverrides=",">
<if test="typeCode != null">type_code =#{typeCode},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="updateBy != null">update_by =#{updateBy},</if>
<if test="updateTime != null">update_time =#{updateTime}, </if>
<if test="delFlag != null">del_flag =#{delFlag},</if>
<if test="materialCode != null">material_code =#{materialCode},</if>
<if test="materialName != null">material_name =#{materialName},</if>
<if test="upVal != null">up_val =#{upVal},</if>
<if test="downVal != null">down_val =#{downVal},</if>
<if test="ruleCode != null">rule_code =#{ruleCode},</if>
<if test="ruleName != null">rule_name = #{ruleName},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteQcProductCpkUpdownById" parameterType="String">
update qc_product_cpk_updown set del_flag = '1' where id = #{id}
</delete>
<delete id="deleteQcProductCpkUpdownByIds" parameterType="String">
update qc_product_cpk_updown set del_flag = '1' where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -653,42 +653,140 @@ public class SapItemSyncImpl implements SapItemSyncService {
@Override
public R sap105temporarilyCollected(List<Map> mapList) {
try {
Map map= mapList.get(0);
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_103_MIGO");
JCoFunction func = repository.getFunction("ZMES_GET_MSEG");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("来料暂收参数-------" + mapList.toString());
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
System.out.println(L_ITEM);
for (Map map : mapList) {
L_ITEM.appendRow();
L_ITEM.setValue("EBELN", map.get("EBELN"));
L_ITEM.setValue("EBELP", map.get("EBELP"));
L_ITEM.setValue("MATNR", map.get("MATNR"));
L_ITEM.setValue("WERKS", map.get("WERKS"));
L_ITEM.setValue("QUANTITY", map.get("QUANTITY"));
}
System.out.println(L_ITEM);
log.info("取物料凭证数据接口的参数-------" + mapList.toString());
JCoTable S_MBLNR = func.getTableParameterList().getTable("S_MBLNR");
//交货单号
JCoTable S_MJAHR = func.getTableParameterList().getTable("S_MJAHR");
//销售凭证类型
JCoTable S_MATNR = func.getTableParameterList().getTable("S_MATNR");
// S_MBLNR.setValue("S_MBLNR", S_MBLNR);
S_MBLNR.appendRow();
S_MBLNR.setValue(Constants.SIGN, "I");
S_MBLNR.setValue(Constants.OPTION, "BT");
S_MBLNR.setValue(Constants.LOW,map.get("S_MBLNR"));
S_MBLNR.setValue(Constants.HIGH,map.get("S_MBLNR"));
S_MJAHR.appendRow();
S_MJAHR.setValue(Constants.SIGN, "I");
S_MJAHR.setValue(Constants.OPTION, "BT");
S_MJAHR.setValue(Constants.LOW,map.get("S_MJAHR"));
S_MJAHR.setValue(Constants.HIGH,map.get("S_MJAHR"));
S_MATNR.appendRow();
S_MATNR.setValue(Constants.SIGN, "I");
S_MATNR.setValue(Constants.OPTION, "BT");
S_MATNR.setValue(Constants.LOW,map.get("S_MATNR"));
S_MATNR.setValue(Constants.HIGH,map.get("S_MATNR"));
func.execute(dest);//执行调用函数
/**
* RETCODE CHAR3 200-500-
* L_MSG CHAR220
* MATERIALDOCUMENT CHAR10
* MATDOCUMENTYEAR NUMC4
* MBLNR
* MJAHR
* ZEILE
* EBELN
* EBELP
* MATNR
* WERKS
* LGORT
* MENGE
* MEINS
* ERFMG
* ERFME
* BPMNG
* BPRME
*/
String RETCODE = func.getExportParameterList().getString("RETCODE");
String MESSAGE = func.getExportParameterList().getString("L_MSG");
String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT");
String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR");
log.info("暂收结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR);
if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){
return R.fail(MESSAGE);
JCoTable maraTable = func.getTableParameterList().getTable("LT_MSEG");
// 首先检查表中是否有行
if (maraTable.getNumRows() > 0) {
// 遍历每一行
String mblnr = new String(); // 物料凭证编号
String mjahr = new String(); // 物料凭证年度
String zeile = new String(); // 物料凭证中的项目
String ebeln = new String(); // 采购订单编号
String ebelp = new String(); // 采购凭证的项目编号
String matnr = new String(); // 物料号
String werks = new String(); // 工厂
String lgort = new String(); // 库存地点
String menge = new String(); // 数量
String meins = new String(); // 基本计量单位
String erfmg = new String(); // 以输入单位计的数量
String erfme = new String(); // 条目单位
String bpmng = new String(); // 采购订单价格单位的数量
String bprme = new String(); // 订单价格单位(采购)
String RETCODE= new String();
String MESSAGE= new String();
String MATERIALDOCUMENT = new String();
String MATDOCUMENTYEAR= new String();
for (int i = 0; i < maraTable.getNumRows(); i++) {
mblnr = maraTable.getString("MBLNR"); // 物料凭证编号
mjahr = maraTable.getString("MJAHR"); // 物料凭证年度
zeile = maraTable.getString("ZEILE"); // 物料凭证中的项目
ebeln = maraTable.getString("EBELN"); // 采购订单编号
matnr = maraTable.getString("MATNR"); // 物料号
werks = maraTable.getString("WERKS"); // 工厂
lgort = maraTable.getString("LGORT"); // 库存地点
menge = maraTable.getString("MENGE"); // 数量
meins = maraTable.getString("MEINS"); // 基本计量单位
erfmg = maraTable.getString("ERFMG"); // 以输入单位计的数量
erfme = maraTable.getString("ERFME"); // 条目单位
bpmng = maraTable.getString("BPMNG"); // 采购订单价格单位的数量
bprme = maraTable.getString("BPRME"); // 订单价格单位(采购)
// 处理获取到的字段值
System.out.println("物料凭证编号: " + mblnr);
System.out.println("物料凭证年度: " + mjahr);
System.out.println("物料凭证中的项目: " + zeile);
System.out.println("采购订单编号: " + ebeln);
System.out.println("采购凭证的项目编号: " + ebelp);
System.out.println("物料号: " + matnr);
System.out.println("工厂: " + werks);
System.out.println("库存地点: " + lgort);
System.out.println("数量: " + menge);
System.out.println("基本计量单位: " + meins);
System.out.println("以输入单位计的数量: " + erfmg);
System.out.println("条目单位: " + erfme);
System.out.println("采购订单价格单位的数量: " + bpmng);
System.out.println("订单价格单位(采购): " + bprme);
JCoFunction func2 = repository.getFunction("ZMES_105_MIGO");
if (func2 == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("105参数-------" + mapList.toString());
JCoTable L_ITEM = func2.getTableParameterList().getTable("L_ITEM");
L_ITEM.appendRow();
L_ITEM.setValue("LFBNR",mblnr);//参考凭证的凭证号
L_ITEM.setValue("LFPOS",zeile);//参考凭证项目
L_ITEM.setValue("BSTNR", ebeln);//采购订单编号
L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号
L_ITEM.setValue("WERKS", werks);//工厂
L_ITEM.setValue("LGORT", "0001");//库存地点
L_ITEM.setValue("QUANTITY",menge);//数量
L_ITEM.setValue("BATCH", map.get("incomeBatchNo"));//批号
L_ITEM.setValue("HSDAT","");//生产日期
System.out.println(L_ITEM);
func2.execute(dest);//执行调用函数
RETCODE = func2.getExportParameterList().getString("RETCODE");
MESSAGE = func2.getExportParameterList().getString("L_MSG");
MATERIALDOCUMENT = func2.getExportParameterList().getString("MATERIALDOCUMENT");
MATDOCUMENTYEAR = func2.getExportParameterList().getString("MATDOCUMENTYEAR");
log.info("105结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR);
}
if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){
return R.fail(MESSAGE);
}
Map Resmap = new HashMap();
Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT);
Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR);
return R.ok(Resmap, MESSAGE);
} else {
// 表为空的处理
System.out.println("表中没有数据。");
return R.fail("没有暂收数据");
}
Map Resmap = new HashMap();
Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT);
Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR);
return R.ok(Resmap, MESSAGE);
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());

@ -593,7 +593,7 @@ public class SysUserServiceImpl implements ISysUserService {
}
int n = 0;
//sap返回的供应商编码
//sap返回的编码
List<String> codes = dtos.stream().map(HRInfo::getUserName).collect(Collectors.toList());
//sap返回的工作中心编码-本地已存在
List<String> exsitCodes = userMapper.getExsitCodes(codes);

@ -252,7 +252,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update_by = #{item.updateBy},
update_time = #{item.updateTime}
where
user_name = #{item.userName}
user_name = #{item.userName} and del_flag = '0'
</foreach>
</update>
@ -285,7 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select max(create_time) from sys_user where create_by = 'job' and del_flag = '0'
</select>
<select id="getExsitCodes" resultType="java.lang.String">
select user_name from sys_user where user_name in
select user_name from sys_user where del_flag = '0' and user_name in
<foreach collection="list" item="code" open="(" separator="," close=")">
#{code}
</foreach>

@ -101,13 +101,13 @@ public class Equipment extends BaseEntity {
* 3
*/
@Excel(name = "预留字段3")
private Long attr3;
private String attr3;
/**
* 4
*/
@Excel(name = "预留字段4")
private Long attr4;
private String attr4;
/** 单台能力工时 */
// @Excel(name = "单台能力工时")
@ -135,6 +135,22 @@ public class Equipment extends BaseEntity {
private String itemCode;
private String itemName;
public String getAttr4() {
return attr4;
}
public String getAttr3() {
return attr3;
}
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public void setItemCode(String itemCode) {
this.itemCode = itemCode;
}
@ -263,21 +279,6 @@ public class Equipment extends BaseEntity {
return attr2;
}
public void setAttr3(Long attr3) {
this.attr3 = attr3;
}
public Long getAttr3() {
return attr3;
}
public void setAttr4(Long attr4) {
this.attr4 = attr4;
}
public Long getAttr4() {
return attr4;
}
// public void setUnitWorkingHours(String unitWorkingHours) {
// this.unitWorkingHours = unitWorkingHours;

@ -120,7 +120,10 @@
</sql>
<sql id="selectEquipmentVo">
select equipment_id, equipment_code, equipment_name, equipment_brand, equipment_spec, equipment_type_id, equipment_type_code, equipment_type_name, workshop_id, workshop_code, workshop_name, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, workshop_section, equipment_location, hourly_unit_price from base_equipment
select equipment_id, equipment_code, equipment_name, equipment_brand, equipment_spec, equipment_type_id,
equipment_type_code, equipment_type_name, workshop_id, workshop_code, workshop_name, status,
remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,
workshop_section, equipment_location, hourly_unit_price from base_equipment
</sql>
<sql id="selectProProcessVo">

@ -329,7 +329,17 @@ public class OdsProcureOrderController extends BaseController {
odsProcureOrderService.OutboundPostingSAPfc(orderList);
return success();
}
/**
*
*
* @param orderList
* @return
*/
@PostMapping("/OutboundPostingzcSAP")
public AjaxResult OutboundPostingzcSAP(@RequestBody List<OdsProcureOutOrder> orderList) {
odsProcureOrderService.OutboundPostingzcSAP(orderList);
return success();
}
@PostMapping("/listCKT")
public AjaxResult listCKT(BaseWarehouse baseWarehouse) {

@ -65,6 +65,12 @@ public class OdsProcureOutOrderController extends BaseController {
List<OdsProcureOutOrder> list = odsProcureOutOrderService.selectOdsProcureOutOrderListZUfc(odsProcureOutOrder);
return getDataTable(list);
}
@PostMapping("/listZC")
public TableDataInfo listZC(OdsProcureOutOrder odsProcureOutOrder) {
startPage();
List<OdsProcureOutOrder> list = odsProcureOutOrderService.selectOdsProcureOutOrderListZC(odsProcureOutOrder);
return getDataTable(list);
}
/**
*
*/

@ -3,6 +3,8 @@ package com.op.wms.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.wms.domain.OdsProcureOrder;
import com.op.wms.service.IOdsProcureOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -22,6 +24,8 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
import static com.op.common.core.web.domain.AjaxResult.success;
/**
* Controller
*
@ -34,6 +38,8 @@ public class WmsRawOrderInController extends BaseController {
@Autowired
private IWmsRawOrderInService wmsRawOrderInService;
@Autowired
private IOdsProcureOrderService odsProcureOrderService;
/**
*
*/
@ -95,4 +101,9 @@ public class WmsRawOrderInController extends BaseController {
public AjaxResult remove(@PathVariable String[] rawOrderInIds) {
return toAjax(wmsRawOrderInService.deleteWmsRawOrderInByRawOrderInIds(rawOrderInIds));
}
@PostMapping("/sap105temporarilyCollected")
public AjaxResult sap105temporarilyCollected(@RequestBody List<OdsProcureOrder> odsProcureOrder) {
String result = odsProcureOrderService.sap105temporarilyCollected(odsProcureOrder);
return success(result);
}
}

@ -5,9 +5,6 @@ package com.op.wms.controller;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.web.page.TableDataInfo;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.system.api.RemoteOpenService;
import com.op.wms.domain.*;
import com.op.wms.service.*;
import org.springframework.beans.factory.annotation.Autowired;
@ -232,7 +229,41 @@ public class WmsToWCSmissionController {
List<OdsProcureOutOrder> result = odsProcureOrderService.ProductionMaterialRequisition(odsProcureOutOrder);
return success(result);
}
/**
* --
*
* @param odsProcureOutOrder
* @return
*/
@PostMapping("/ProductionMaterialRequisitionSC")
public AjaxResult ProductionMaterialRequisitionSC(@RequestBody OdsProcureOutOrder odsProcureOutOrder) {
List<OdsProcureOutOrder> result = odsProcureOrderService.ProductionMaterialRequisitionSC(odsProcureOutOrder);
return success(result);
}
/**
* --
*
* @param wmsOdsMateStorageNewsSn
* @return
*/
@PostMapping("/SweepMaterialCardSC")
public AjaxResult SweepMaterialCardSC(@RequestBody WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) {
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn1 = odsProcureOrderService.SweepMaterialCardSC(wmsOdsMateStorageNewsSn);
return success(wmsOdsMateStorageNewsSn1);
}
/**
* --
*
* @param orderList
* @return
*/
@PostMapping("/NewConMaterialOutSC")
public AjaxResult NewConMaterialOutSC(@RequestBody List<OdsProcureOutOrder> orderList) {
String result = odsProcureOrderService.NewConMaterialOutSC(orderList);
return success(result);
}
/**
* --
*
@ -794,4 +825,5 @@ public class WmsToWCSmissionController {
return success(result);
}
}

@ -31,6 +31,17 @@ public class OdsProcureOrder extends BaseEntity {
*
*/
// 托盘数量
private BigDecimal palletNum;
public BigDecimal getPalletNum() {
return palletNum;
}
public void setPalletNum(BigDecimal palletNum) {
this.palletNum = palletNum;
}
private BigDecimal operationNumber;
private BigDecimal czNumber;
@ -238,9 +249,9 @@ public class OdsProcureOrder extends BaseEntity {
private String userDefined4;
/**
* 5
*
*/
@Excel(name = "用户自定义属性5")
@Excel(name = "送货单号")
private String userDefined5;
/**
@ -639,38 +650,56 @@ public class OdsProcureOrder extends BaseEntity {
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("siteCode", getSiteCode())
.append("ID", getID())
.append("procureCode", getProcureCode())
.append("materialCode", getMaterialCode())
.append("materialDesc", getMaterialDesc())
.append("planDate", getPlanDate())
.append("planNumber", getPlanNumber())
.append("Unit", getUnit())
.append("realityNumber", getRealityNumber())
.append("orderStatus", getOrderStatus())
.append("userDefined1", getUserDefined1())
.append("userDefined2", getUserDefined2())
.append("userDefined3", getUserDefined3())
.append("userDefined4", getUserDefined4())
.append("userDefined5", getUserDefined5())
.append("userDefined6", getUserDefined6())
.append("userDefined7", getUserDefined7())
.append("userDefined8", getUserDefined8())
.append("userDefined9", getUserDefined9())
.append("userDefined10", getUserDefined10())
.append("userDefined11", getUserDefined11())
.append("supplierCode", getSupplierCode())
.append("supplierName", getSupplierName())
.append("Remark", getRemark())
.append("createBy", getCreateBy())
.append("createDate", getCreateDate())
.append("lastUpdateBy", getLastUpdateBy())
.append("lastUpdateDate", getLastUpdateDate())
.append("Active", getActive())
.append("enterpriseId", getEnterpriseId())
.append("enterpriseCode", getEnterpriseCode())
.toString();
return "OdsProcureOrder{" +
"ID='" + ID + '\'' +
", factoryCode='" + factoryCode + '\'' +
", list=" + list +
", palletNum=" + palletNum +
", operationNumber=" + operationNumber +
", czNumber=" + czNumber +
", siteCode='" + siteCode + '\'' +
", cardNum='" + cardNum + '\'' +
", whCode='" + whCode + '\'' +
", waCode='" + waCode + '\'' +
", sn='" + sn + '\'' +
", poLine='" + poLine + '\'' +
", procureCode='" + procureCode + '\'' +
", receiptNoCode='" + receiptNoCode + '\'' +
", materialCode='" + materialCode + '\'' +
", incomeBatchNo='" + incomeBatchNo + '\'' +
", materialDesc='" + materialDesc + '\'' +
", planDate=" + planDate +
", planNumber=" + planNumber +
", buNumber=" + buNumber +
", Unit='" + Unit + '\'' +
", realityNumber=" + realityNumber +
", orderStatus='" + orderStatus + '\'' +
", userDefined1='" + userDefined1 + '\'' +
", userDefined2='" + userDefined2 + '\'' +
", userDefined3='" + userDefined3 + '\'' +
", userDefined4='" + userDefined4 + '\'' +
", userDefined5='" + userDefined5 + '\'' +
", userDefined6='" + userDefined6 + '\'' +
", userDefined7='" + userDefined7 + '\'' +
", userDefined8='" + userDefined8 + '\'' +
", userDefined9='" + userDefined9 + '\'' +
", userDefined10='" + userDefined10 + '\'' +
", userDefined11='" + userDefined11 + '\'' +
", supplierCode='" + supplierCode + '\'' +
", Remark='" + Remark + '\'' +
", supplierName='" + supplierName + '\'' +
", createDate=" + createDate +
", lastUpdateBy='" + lastUpdateBy + '\'' +
", lastUpdateDate=" + lastUpdateDate +
", lastUpdateDateMIN=" + lastUpdateDateMIN +
", lastUpdateDateMAX=" + lastUpdateDateMAX +
", Active='" + Active + '\'' +
", enterpriseId='" + enterpriseId + '\'' +
", enterpriseCode='" + enterpriseCode + '\'' +
", SapTempInfor='" + SapTempInfor + '\'' +
", SapTempStatus='" + SapTempStatus + '\'' +
", SAPstatus='" + SAPstatus + '\'' +
", SAPmessage='" + SAPmessage + '\'' +
'}';
}
}

@ -30,6 +30,15 @@ public class OdsProcureOutOrder extends BaseEntity {
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
List<WmsOdsMateStorageNewsSn> wmsOdsMateStorageNewsSns;
public List<WmsOdsMateStorageNewsSn> getWmsOdsMateStorageNewsSns() {
return wmsOdsMateStorageNewsSns;
}
public void setWmsOdsMateStorageNewsSns(List<WmsOdsMateStorageNewsSn> wmsOdsMateStorageNewsSns) {
this.wmsOdsMateStorageNewsSns = wmsOdsMateStorageNewsSns;
}
/**
*
@ -97,6 +106,15 @@ public class OdsProcureOutOrder extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date planDate;
private String needDate;
public String getNeedDate() {
return needDate;
}
public void setNeedDate(String needDate) {
this.needDate = needDate;
}
private String planDateMin;
@ -123,6 +141,15 @@ public class OdsProcureOutOrder extends BaseEntity {
*/
@Excel(name = "计划数量")
private BigDecimal planNumber;
private BigDecimal amount;
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
private String sn;
@ -302,6 +329,43 @@ public class OdsProcureOutOrder extends BaseEntity {
private String enterpriseCode;
private String sapMag;
private String sapXMag;
private String mateOrderInSnId;
private String whCode;
private String waCode;
private String wlCode;
public String getWhCode() {
return whCode;
}
public void setWhCode(String whCode) {
this.whCode = whCode;
}
public String getWaCode() {
return waCode;
}
public void setWaCode(String waCode) {
this.waCode = waCode;
}
public String getWlCode() {
return wlCode;
}
public void setWlCode(String wlCode) {
this.wlCode = wlCode;
}
public String getMateOrderInSnId() {
return mateOrderInSnId;
}
public void setMateOrderInSnId(String mateOrderInSnId) {
this.mateOrderInSnId = mateOrderInSnId;
}
public String getSapMag() {
return sapMag;

@ -88,6 +88,16 @@ public class WmsOdsMateStorageNewsSn extends BaseEntity {
*/
@Excel(name = "数量")
private BigDecimal amount;
@Excel(name = "出库数量")
private BigDecimal outNumber;
public BigDecimal getOutNumber() {
return outNumber;
}
public void setOutNumber(BigDecimal outNumber) {
this.outNumber = outNumber;
}
/**
* 1

@ -339,6 +339,7 @@ public class WmsRawOrderIn extends BaseEntity {
*/
@Excel(name = "有效标记")
private String activeFlag;
private String incomeBatchNo;
public void setRawOrderInId(String rawOrderInId) {
this.rawOrderInId = rawOrderInId;

@ -79,4 +79,14 @@ public interface OdsProcureOrderMapper {
OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder);
void updateodsProcureOrderCard(OdsProcureOrder order1);
OdsProcureOrder selectOdsProcureOrderByIDAndSap(String id);
/**
*
*
* @param odsProcureOrder
* @return
*/
public List<OdsProcureOrder> selectOdsProcureOrderList1(OdsProcureOrder odsProcureOrder);
}

@ -4,6 +4,8 @@ import java.util.List;
import com.op.system.api.domain.sap.SapMaterialPosting;
import com.op.wms.domain.OdsProcureOutOrder;
import com.op.wms.domain.WmsOdsEmStorageNews;
import com.op.wms.domain.WmsOdsMateStorageNews;
import org.apache.ibatis.annotations.Param;
/**
@ -59,45 +61,70 @@ public interface OdsProcureOutOrderMapper {
* @param IDs
* @return
*/
public int deleteOdsProcureOutOrderByIDs(String[] IDs);
public int deleteOdsProcureOutOrderByIDs(String[] IDs);
OdsProcureOutOrder selectmesPrepare(OdsProcureOutOrder odsProcureOrder);
public OdsProcureOutOrder selectmesPrepare(OdsProcureOutOrder odsProcureOrder);
List<OdsProcureOutOrder> selectmesPrepareDetail(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectmesPrepareDetail(OdsProcureOutOrder odsProcureOutOrder);
void insertWmsRawMissionOut(OdsProcureOutOrder order);
public void insertWmsRawMissionOut(OdsProcureOutOrder order);
void updateOdsProcureOutOrderByid(OdsProcureOutOrder odsProcureOutOrder);
public void updateOdsProcureOutOrderByid(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListByIds(@Param("list") List<OdsProcureOutOrder> orderList);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListByIds(@Param("list") List<OdsProcureOutOrder> orderList);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZU(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZU(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUT(OdsProcureOutOrder odsProcureOutOrder1);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUT(OdsProcureOutOrder odsProcureOutOrder1);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListByu1(@Param("list") List<OdsProcureOutOrder> orderList);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListByu1(@Param("list") List<OdsProcureOutOrder> orderList);
void updateOdsProcureOutOrderByids(@Param("order") OdsProcureOutOrder order, @Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
public void updateOdsProcureOutOrderByids(@Param("order") OdsProcureOutOrder order, @Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
List<String> selectOdsProcureOutOrderListZUKEN(OdsProcureOutOrder order);
public List<String> selectOdsProcureOutOrderListZUKEN(OdsProcureOutOrder order);
List<String> selectOdsProcureOutOrderListZUKENX(OdsProcureOutOrder order);
public List<String> selectOdsProcureOutOrderListZUKENX(OdsProcureOutOrder order);
String selectMachineCode(@Param("order")OdsProcureOutOrder odsProcureOutOrder);
public String selectMachineCode(@Param("order")OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectmesPrepareDetailWhite(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectmesPrepareDetailWhite(OdsProcureOutOrder odsProcureOutOrder);
OdsProcureOutOrder selectmesPreparelike(OdsProcureOutOrder odsProcureOrder);
public OdsProcureOutOrder selectmesPreparelike(OdsProcureOutOrder odsProcureOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUfc(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUfc(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> PurchaseOrderOutboundPdafc(OdsProcureOutOrder odsProcureOrder);
public List<OdsProcureOutOrder> PurchaseOrderOutboundPdafc(OdsProcureOutOrder odsProcureOrder);
public int insertOdsProcureOutOrderfc(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListByu1fc(List<OdsProcureOutOrder> orderList);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListByu1fc(List<OdsProcureOutOrder> orderList);
void updateOdsProcureOutOrderByidsfc(@Param("order") OdsProcureOutOrder order, @Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
public void updateOdsProcureOutOrderByidsfc(@Param("order") OdsProcureOutOrder order, @Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
OdsProcureOutOrder selectOdsProcureOutOrderListZUfcsy(OdsProcureOutOrder odsProcureOutOrder);
public OdsProcureOutOrder selectOdsProcureOutOrderListZUfcsy(OdsProcureOutOrder odsProcureOutOrder);
public OdsProcureOutOrder selectMesPrepareBC(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectMesPrepareDetailBC(OdsProcureOutOrder order);
public List<OdsProcureOutOrder> selectWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder);
public void insertWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder1);
public OdsProcureOutOrder selectWmsOdsProcureOutOrderByID(String id);
public void updateWmsOdsProcureOutOrder(OdsProcureOutOrder odsProcureOutOrder1);
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZC(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectWmsOdsProcureOutOrderByIDs(@Param("list") List<OdsProcureOutOrder> orderList);
public void updateWMSOdsProcureOutOrderByids(@Param("order") OdsProcureOutOrder order, @Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
public List<WmsOdsMateStorageNews> selectWmsRawMissionOutByPrdAndMa(OdsProcureOutOrder order1);
public List<OdsProcureOutOrder> selectPreDetailHzList(OdsProcureOutOrder odsProcureOutOrder);
public List<OdsProcureOutOrder> selectWmsOdsProcureOutOrderByOrderStatus(OdsProcureOutOrder order);
}

@ -28,6 +28,11 @@ public interface WmsFpStorageNewsMapper {
*/
public List<WmsFpStorageNews> selectWmsFpStorageNewsList(WmsFpStorageNews wmsFpStorageNews);
/*
*
* */
public List<WmsFpStorageNews> selectWmsFpStorageNewsList1(WmsFpStorageNews wmsFpStorageNews);
/**
*
*

@ -62,8 +62,10 @@ public interface WmsOdsMateStorageNewsMapper {
*/
public int deleteWmsOdsMateStorageNewsByStorageIds(String[] storageIds);
WmsOdsMateStorageNews selectByWhCodeAndMate(WmsOdsEmStorageNews wmsOdsEmStorageNews);
public WmsOdsMateStorageNews selectByWhCodeAndMate(WmsOdsEmStorageNews wmsOdsEmStorageNews);
WmsOdsMateStorageNews selectBaseProductByCode(WCSInventoryPlan wcsInventoryPlan);
public WmsOdsMateStorageNews selectBaseProductByCode(WCSInventoryPlan wcsInventoryPlan);
public void updateWmsOdsMateStorageNewsUpdateStorageAmount(WmsOdsMateStorageNews wmsOdsMateStorageNews);
}

@ -62,10 +62,20 @@ public interface WmsOdsMateStorageNewsSnMapper {
*/
public int deleteWmsOdsMateStorageNewsSnByMateOrderInSnIds(Long[] mateOrderInSnIds);
void updateAdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
public void updateAdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
void updatekdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
public void updatekdd(WmsOdsEmStorageNews wmsOdsEmStorageNews);
WmsOdsMateStorageNewsSn selectwmsRfidNotwo(WmsToWCSDTO wcsdto);
public WmsOdsMateStorageNewsSn selectwmsRfidNotwo(WmsToWCSDTO wcsdto);
public WmsOdsMateStorageNewsSn selectWmsOdsMateStorageNewsSnByWlCode(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn);
public WmsOdsMateStorageNewsSn selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(String mateOrderInSnId);
public void updateWmsOdsMateStorageNewsSnAddoutNumber(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn);
public WmsOdsMateStorageNewsSn selectWmsOdsMateStorageNewsSnByWlCodeTEM(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn);
void updatesub(WmsOdsMateStorageNews wmsOdsMateStorageNews);
}

@ -88,6 +88,10 @@ public interface WmsProductPutMapper {
void updateProOrderWorkorderBatchPallet(@Param("palletCode")String sn);
void updateWmsProductStatus(WmsProductPut wmsProductPut2);
List<WmsProductPut> selectWmsProductPutSAPByIds(@Param("id")String id);
// String selectProOrderWorkorder(WmsProductPut wmsProductPut1);

@ -65,4 +65,8 @@ public interface WmsRawOrderInMapper {
WmsToWCSDTO finishedProductRequestInbound(WmsToWCSDTO wcsdto);
List<String> finishedProductRequestInboundsn(WmsToWCSDTO wcsdto);
WmsRawOrderIn selectWmsRawOrderInByRawOrderInIdTWO(String rawOrderInId);
String selectQcCheckTask(WmsRawOrderIn wmsRawOrderIn1);
}

@ -119,4 +119,14 @@ public interface IOdsProcureOrderService {
OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder);
String addOrderCard(OdsProcureOrder odsProcureOrder);
String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrder);
List<OdsProcureOutOrder> ProductionMaterialRequisitionSC(OdsProcureOutOrder odsProcureOutOrder);
WmsOdsMateStorageNewsSn SweepMaterialCardSC(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn);
String NewConMaterialOutSC(List<OdsProcureOutOrder> odsProcureOutOrder);
void OutboundPostingzcSAP(List<OdsProcureOutOrder> orderList);
}

@ -64,4 +64,6 @@ public interface IOdsProcureOutOrderService {
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUTwo(OdsProcureOutOrder odsProcureOutOrder1);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUfc(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZC(OdsProcureOutOrder odsProcureOutOrder);
}

@ -83,6 +83,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private RemoteOpenService remoteOpenService;
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
@Value("${dayin.url1}")
private String dayinUrl1;
/**
@ -106,10 +108,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
@DS("#header.poolName")
public List<OdsProcureOrder> selectOdsProcureOrderList(OdsProcureOrder odsProcureOrder) {
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectOdsProcureOrderList(odsProcureOrder);
List<OdsProcureOrder> orderList= odsProcureOrderMapper.selectOdsProcureOrderList1(odsProcureOrder);
for (OdsProcureOrder order:
orderList) {
String name = odsProcureOrderMapper.selectBaseSupplier(order);
String name = odsProcureOrderMapper.selectBaseSupplier(order);
order.setSupplierName(name);
}
return orderList;
@ -857,6 +859,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNews1.setCreateBy(wmsRawOrderInSn.getCreateBy());
wmsOdsMateStorageNews1.setGmtCreate(new Date());
wmsOdsMateStorageNews1.setActiveFlag("1");
wmsOdsMateStorageNews1.setUserDefined2(formattedDate);
wmsOdsMateStorageNews1.setFactoryCode(wmsRawOrderInSn.getFactoryCode());
wmsOdsMateStorageNews1.setSapFactoryCode(wmsRawOrderInSn.getSapFactoryCode());
wmsOdsMateStorageNews1.setUserDefined1(wmsRawOrderInSn.getUserDefined4());//单位
@ -941,7 +944,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
List<Map<String, String>> mapList = new ArrayList<>();
if (result.get("code").equals(200)) {
mapList= (List<Map<String, String>>) result.get("data");
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
for (Map<String, String> sapPurchaseOrderQuery1 : mapList) {
OdsProcureOrder order = new OdsProcureOrder();
// 获取 mainId
Object mainIdObj = sapPurchaseOrderQuery1.get("mainId");
@ -969,7 +972,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//这个地方判断下是不是采购单已经被插入了,如果是的话,并且是走的送货单的路径,那就把送货单给她附上
continue;
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
Date date = new Date();
String formattedDate = dateFormat.format(date);
order.setUserDefined7(formattedDate+order.getUserDefined3());
@ -1173,6 +1176,10 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
}else{
dtos.addAll(dtos0);
}
// for (OdsProcureOrder order1:
// dtos ) {
//
// }
String msg= dayin(dtos);
return msg;
}
@ -1223,6 +1230,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//--receiptNoCode收货单号
OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//查询出对应的采购单
List<OdsProcureOrder> orderList= odsProcureOrder.getList();
//对应采购单的标识卡
@ -1230,51 +1238,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
BigDecimal Tme=new BigDecimal("0");
for (OdsProcureOrder order1:
orderList) {
//标识卡信息
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("2");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
wmsRawOrderInSn.setWlCode(order1.getSn());//库位设置为托盘
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
wmsRawOrderInSn.setMaterialCode(order1.getMaterialCode());
wmsRawOrderInSn.setMaterialDesc(order1.getMaterialDesc());
wmsRawOrderInSn.setAmount(order1.getPlanNumber());//实际输入数量
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(order1.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setUserDefined3(order.getID());
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
wmsRawOrderInSn.setUserDefined6(order1.getUserDefined6());//标识码绑定
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
//标识码绑定
if (order1.getUserDefined6()!=null){
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
wmsLogotypeTable.setLogotype(order1.getUserDefined6());
wmsLogotypeTable.setSn(order1.getSn());
wmsLogotypeTable.setActiveFlag("1");
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
}
//插入收货记录
//如果收货完成了的话,就插入信息收货完成
odsProcureOrder.setPlanNumber(order1.getPlanNumber());//操作数量
odsProcureOrder.setOrderStatus("1");
BigDecimal result = order.getRealityNumber().add(order1.getPlanNumber());
if (result.equals(order.getPlanNumber())) {
odsProcureOrder.setOrderStatus("2");//
}
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
odsProcureOrderMapper.updateodsProcureOrderCard(order1);
Tme= Tme.add(order1.getPlanNumber());
//单据修改完成
}
@ -1291,8 +1254,62 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
mapList.add(paramMap);
R result2 = remoteSapService.temporarilyCollected(mapList);
int code = result2.getCode();
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
if (code == 200){
//对应采购单的标识卡
for (OdsProcureOrder order1k:
orderList) {
//标识卡信息
//wms_raw_order_in_sn
WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn();
wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID());
wmsRawOrderInSn.setUserDefined1("1");//1是收货,2是入库
wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次
wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号
wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode());
wmsRawOrderInSn.setWlCode(order1k.getSn());//库位设置为托盘
wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号
wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目
wmsRawOrderInSn.setMaterialCode(order1k.getMaterialCode());
wmsRawOrderInSn.setMaterialDesc(order1k.getMaterialDesc());
wmsRawOrderInSn.setAmount(order1k.getPlanNumber());//实际输入数量
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderInSn.setGmtCreate(new Date());
wmsRawOrderInSn.setActiveFlag("1");
wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位
wmsRawOrderInSn.setSn(order1k.getSn());//托盘号
wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsRawOrderInSn.setUserDefined3(order.getID());
wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode());
wmsRawOrderInSn.setUserDefined6(order1k.getUserDefined6());//标识码绑定
wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn);
//标识码绑定
if (order1k.getUserDefined6()!=null){
WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable();
wmsLogotypeTable.setId(IdUtils.fastSimpleUUID());
wmsLogotypeTable.setLogotype(order1k.getUserDefined6());
wmsLogotypeTable.setSn(order1k.getSn());
wmsLogotypeTable.setActiveFlag("1");
wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable);
}
//插入收货记录
//如果收货完成了的话,就插入信息收货完成
odsProcureOrder.setPlanNumber(order1k.getPlanNumber());//操作数量
odsProcureOrder.setOrderStatus("1");
BigDecimal result = order.getRealityNumber().add(order1k.getPlanNumber());
System.out.println(result);
if (result.compareTo(order.getPlanNumber())== 0) {
odsProcureOrder.setOrderStatus("2");
}
odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
odsProcureOrderMapper.updateodsProcureOrderCard(order1k);
Tme= Tme.add(order1k.getPlanNumber());
//单据修改完成
}
//标识卡记录已经录入,订单已经修改完成
OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
Map map = new HashMap();
map = (Map) result2.getData();
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
@ -1322,9 +1339,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy());
wmsRawOrderIn.setGmtCreate(new Date());
wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn);
order1.setSapTempStatus("1");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order1);
for (OdsProcureOrder odsProcureOrder1:orderList){
//收货
@ -1340,6 +1355,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder.getCreateBy());
wmsOdsMateStorageNewsSn.setGmtCreate(new Date());
wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次
wmsOdsMateStorageNewsSn.setUserDefined1("RK");
wmsOdsMateStorageNewsSn.setUserDefined3("0");//0是暂收1是真收
wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder.getFactoryCode());
wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder.getFactoryCode());
wmsOdsMateStorageNewsSn.setActiveFlag("1");
@ -1379,15 +1396,503 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
// wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库
}
}else {////失败|
OdsProcureOrder order2 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
result1="暂收失败";
order.setSapTempInfor(result2.getMsg());
order.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order);
order2.setSapTempInfor(result2.getMsg());
order2.setSapTempStatus("0");//0是失败。1是成功
odsProcureOrderMapper.updateOdsProcureOrder(order2);
return result1;
}
return result1;
}
@Override
@DS("#header.poolName")
public String sap105temporarilyCollected(List<OdsProcureOrder> odsProcureOrders) {
OdsProcureOrder odsProcureOrder = odsProcureOrders.get(0);
WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdTWO(odsProcureOrder.getID());
Map paramMap=new HashMap<>();
List<Map> mapList = new ArrayList<>();
paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1());
paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2());
paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode());
paramMap.put("incomeBatchNo",wmsRawOrderIn.getReturnName()); //批次
paramMap.put("ebelp",wmsRawOrderIn.getPoLine());
mapList.add(paramMap);
R result2 = remoteSapService.sap105temporarilyCollected(mapList);
if (result2.getCode()==200){
//成功了--成功了,根据
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
wmsRawOrderInSn.setUserDefined1("1");//暂收
List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
for (WmsRawOrderInSn wmsRawOrderInSn1:
wmsRawOrderInSnList) {
WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn();
wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsRawOrderInNewsSn.setUserDefined3("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsRawOrderInNewsSn);
wmsRawOrderInSn1.setUserDefined1("2");
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews);
}
wmsRawOrderIn.setOrderStatus("1");
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
return result2.getMsg();
}
}
@Override
public List<OdsProcureOutOrder> ProductionMaterialRequisitionSC(OdsProcureOutOrder odsProcureOutOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOutOrder.getFactoryCode());
if (odsProcureOutOrder.getUserDefined4().length()<=10){
//二维码获取的信息查询对应的sap生产订单再用生产订单查询子单
List<OdsProcureOutOrder> orderLists=new ArrayList<>();
List<OdsProcureOutOrder> orderListone= odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder);
if (orderListone.size()>0){
for (OdsProcureOutOrder order:orderListone){
if (!"3".equals(order.getOrderStatus())){
orderLists.add(order);
}
}
return orderLists;
}
// OdsProcureOutOrder order = odsProcureOutOrderMapper.selectMesPrepareBC(odsProcureOutOrder);
List<OdsProcureOutOrder> orderList= odsProcureOutOrderMapper.selectPreDetailHzList(odsProcureOutOrder);
//根据订单号查询对应的最大批次号
Integer orderItem = 0;
for (OdsProcureOutOrder orderLine1 :
orderList) {
orderItem++;
orderLine1.setUserDefined2(String.format("%05d", orderItem));
}
List<OdsProcureOutOrder> orderList1=new ArrayList<>();
for (OdsProcureOutOrder order1:
orderList) {
OdsProcureOutOrder odsProcureOutOrder1 = new OdsProcureOutOrder();
odsProcureOutOrder1.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder1.setSiteCode(order1.getFactoryCode());
odsProcureOutOrder1.setProduceCode(odsProcureOutOrder.getUserDefined4());//反冲
odsProcureOutOrder1.setOutNumber(new BigDecimal("0"));
//odsProcureOutOrder1.setLocCode(order.getWarehouseNo());
odsProcureOutOrder1.setMaterialCode(order1.getMaterialCode());
odsProcureOutOrder1.setMaterialDesc(order1.getMaterialDesc());
odsProcureOutOrder1.setPlanDate(new Date());
odsProcureOutOrder1.setUnit(order1.getUnit());
odsProcureOutOrder1.setUserDefined5(odsProcureOutOrder.getUserDefined4());
//odsProcureOutOrder1.setProductionLineCode(order1.getStationNo());
//odsProcureOutOrder1.setUserDefined1(orderLine1.getBatchNo());
odsProcureOutOrder1.setActive("1");
odsProcureOutOrder1.setOrderStatus("1");//
odsProcureOutOrder1.setPlanNumber(order1.getPlanNumber());
odsProcureOutOrder1.setUserDefined2(order1.getUserDefined2());
odsProcureOutOrder1.setUserDefined3(order1.getUserDefined3());
odsProcureOutOrder1.setUserDefined4(odsProcureOutOrder.getUserDefined4());
odsProcureOutOrder1.setUserDefined10("1");
odsProcureOutOrder1.setCreateBy(odsProcureOutOrder.getCreateBy());
odsProcureOutOrder1.setCreateDate(new Date());
//odsProcureOutOrder1.setCreateDate(new Date());
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertWmsOdsProcureOutOrder(odsProcureOutOrder1);
orderList1.add(odsProcureOutOrder1);
}
return orderList1;
}else {
//二维码获取的信息查询对应的sap生产订单再用生产订单查询子单
List<OdsProcureOutOrder> orderLists=new ArrayList<>();
List<OdsProcureOutOrder> orderListone= odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder);
if (orderListone.size()>0){
for (OdsProcureOutOrder order:orderListone){
if (!"3".equals(order.getOrderStatus())){
orderLists.add(order);
}
}
return orderLists;
}
OdsProcureOutOrder order = odsProcureOutOrderMapper.selectMesPrepareBC(odsProcureOutOrder);
List<OdsProcureOutOrder> orderList= odsProcureOutOrderMapper.selectMesPrepareDetailBC(order);
//根据订单号查询对应的最大批次号
Integer orderItem = 0;
for (OdsProcureOutOrder orderLine1 :
orderList) {
orderItem++;
orderLine1.setUserDefined2(String.format("%05d", orderItem));
}
List<OdsProcureOutOrder> orderList1=new ArrayList<>();
for (OdsProcureOutOrder order1:
orderList) {
OdsProcureOutOrder odsProcureOutOrder1 = new OdsProcureOutOrder();
odsProcureOutOrder1.setID(IdUtils.fastSimpleUUID());
odsProcureOutOrder1.setSiteCode(order1.getFactoryCode());
odsProcureOutOrder1.setProduceCode(order.getProduceCode());
odsProcureOutOrder1.setOutNumber(new BigDecimal("0"));
//odsProcureOutOrder1.setLocCode(order.getWarehouseNo());
odsProcureOutOrder1.setMaterialCode(order1.getMaterialCode());
odsProcureOutOrder1.setMaterialDesc(order1.getMaterialDesc());
odsProcureOutOrder1.setPlanDate(new Date());
odsProcureOutOrder1.setUnit(order1.getUnit());
//odsProcureOutOrder1.setProductionLineCode(order1.getStationNo());
//odsProcureOutOrder1.setUserDefined1(orderLine1.getBatchNo());
odsProcureOutOrder1.setActive("1");
odsProcureOutOrder1.setOrderStatus("1");//
odsProcureOutOrder1.setPlanNumber(order1.getPlanNumber());
odsProcureOutOrder1.setUserDefined2(order1.getUserDefined2());
odsProcureOutOrder1.setUserDefined3(order1.getUserDefined3());
odsProcureOutOrder1.setUserDefined4(odsProcureOutOrder.getUserDefined4());
odsProcureOutOrder1.setUserDefined10("1");
odsProcureOutOrder1.setUserDefined5(order1.getNeedDate());
odsProcureOutOrder1.setCreateBy(odsProcureOutOrder.getCreateBy());
odsProcureOutOrder1.setCreateDate(new Date());
//odsProcureOutOrder1.setCreateDate(new Date());
//odsProcureOutOrder.set
odsProcureOutOrderMapper.insertWmsOdsProcureOutOrder(odsProcureOutOrder1);
orderList1.add(odsProcureOutOrder1);
}
return orderList1;
}
}
@Override
public WmsOdsMateStorageNewsSn SweepMaterialCardSC(WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn) {
DynamicDataSourceContextHolder.push("ds_" + wmsOdsMateStorageNewsSn.getFactoryCode());
wmsOdsMateStorageNewsSn.setUserDefined3("1");//1是入库
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSnk= wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByWlCodeTEM(wmsOdsMateStorageNewsSn);
return wmsOdsMateStorageNewsSnk;
}
/**
*
*
* ,
* ---
* @param orderList
* @return
*/
@Override
public String NewConMaterialOutSC(List<OdsProcureOutOrder> orderList) {
String result="操作成功";
String factoryCode = orderList.get(0).getFactoryCode();
DynamicDataSourceContextHolder.push("ds_" + factoryCode);
for (OdsProcureOutOrder odsProcureOutOrder :
orderList) {
//领料单,物料编号,领料单批次,物料名称,托盘号,出库数量,库位号,
String produceCode= odsProcureOutOrder.getProduceCode();//生产领料单号
String createBy= odsProcureOutOrder.getCreateBy();//操作人
String mateOrderInSnId= odsProcureOutOrder.getMateOrderInSnId();
String waCode= odsProcureOutOrder.getWaCode();
String whCode= odsProcureOutOrder.getWhCode();
String wlCode= odsProcureOutOrder.getWlCode();
String sn= odsProcureOutOrder.getSn();
String materialCode= odsProcureOutOrder.getMaterialCode();
String materialDesc= odsProcureOutOrder.getMaterialDesc();
BigDecimal amount= odsProcureOutOrder.getAmount();//数量
String userDefined1= odsProcureOutOrder.getUserDefined1();//单位
String userDefined2= odsProcureOutOrder.getUserDefined2();//批次
WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = wmsOdsMateStorageNewsSnMapper.selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk(mateOrderInSnId);
//wms_raw_mission_out--保存
//ods_procure_out_order--修改
WCSInventoryPlan wcsInventoryPlan = new WCSInventoryPlan();
wcsInventoryPlan.setSku(odsProcureOutOrder.getMaterialCode());
// WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectBaseProductByCode(wcsInventoryPlan);
OdsProcureOutOrder order = new OdsProcureOutOrder();
order.setProduceCode(produceCode);//领料单
order.setMaterialCode(materialCode);//
order.setMaterialDesc(materialDesc);
order.setUserDefined1(userDefined2);//批次
order.setUserDefined2(whCode);
order.setUserDefined3(wlCode);
order.setSn(sn);
order.setPlanNumber(amount);
order.setLocCode(waCode);//库区
order.setID(IdUtils.fastSimpleUUID());
order.setUnit(userDefined1);
order.setFactoryCode(factoryCode);
order.setActive("1");
order.setCreateBy(createBy);
order.setCreateDate(new Date());
order.setSiteCode(factoryCode);
odsProcureOutOrderMapper.insertWmsRawMissionOut(order);
OdsProcureOutOrder odsProcureOutOrder1=new OdsProcureOutOrder();
odsProcureOutOrder1.setProduceCode(produceCode);
odsProcureOutOrder1.setMaterialCode(materialCode);
List<OdsProcureOutOrder> odsProcureOutOrders = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrder(odsProcureOutOrder1);
OdsProcureOutOrder order1= odsProcureOutOrders.get(0);
BigDecimal realityNumber1 = order1.getOutNumber();//累出库数
BigDecimal realityNumber = order1.getPlanNumber();//计划
BigDecimal planNumber = amount;//本次实际数量
BigDecimal tem = realityNumber1.add(planNumber);
if (tem.compareTo(realityNumber)>= 0) {
order1.setOrderStatus("3");
} else {
order1.setOrderStatus("2");
}
order1.setOutNumber(tem);
odsProcureOutOrderMapper.updateWmsOdsProcureOutOrder(order1);//订单修改
//明细
// BigDecimal temk= wmsOdsMateStorageNewsSn.getAmount().subtract(amount);
wmsOdsMateStorageNewsSn.setOutNumber(amount);
wmsOdsMateStorageNewsSn.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnAddoutNumber(wmsOdsMateStorageNewsSn);//库存明细
WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews();
wmsOdsEmStorageNews.setWhCode(wmsOdsMateStorageNewsSn.getWhCode());//仓库编码
wmsOdsEmStorageNews.setWlCode(wmsOdsMateStorageNewsSn.getWlCode());//库位编码
wmsOdsEmStorageNews.setWaCode(wmsOdsMateStorageNewsSn.getWaCode());
wmsOdsEmStorageNews.setProductBatch(wmsOdsMateStorageNewsSn.getUserDefined2());
wmsOdsEmStorageNews.setMaterialCode(wmsOdsMateStorageNewsSn.getMaterialCode());
wmsOdsEmStorageNews.setAmount(odsProcureOutOrder.getPlanNumber());//库存
wmsOdsEmStorageNews.setLastModifiedBy(createBy);
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
}
//
OdsProcureOutOrder order=new OdsProcureOutOrder();
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByOrderStatus(order);
if (orderList1.size()>0){
OutboundPostingzcSAPGY(orderList1);
}
return result;
}
public void OutboundPostingzcSAPGY(List<OdsProcureOutOrder> orderList) {
//先根据出库单获取
// * 退料的移动类型为 262
// * 领料的移动类型为 261
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByIDs(orderList);
List<OdsProcureOutOrder> orderList2 = new ArrayList<>();//非反冲
List<Map<String, Object>> mapList = new ArrayList<>();//非反冲
List<SapBackflushMPQuery> sapMaterialPostingFCList = new ArrayList<>();//反冲
List<OdsProcureOutOrder> orderList2FC = new ArrayList<>();//反冲
for (OdsProcureOutOrder odsProcureOutOrder :
orderList1) {
if (!"X".equals(odsProcureOutOrder.getUserDefined3())){
Map<String, Object> map = new HashMap<>();
map.put("AUFNR", odsProcureOutOrder.getProduceCode());
map.put("PLANT", odsProcureOutOrder.getSiteCode());
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
map.put("LGORT", lgort);
map.put("MATNR", odsProcureOutOrder.getMaterialCode());
map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
map.put("MEINS", odsProcureOutOrder.getUnit());
mapList.add(map);
orderList2.add(odsProcureOutOrder);
}else {
SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery();
sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapBackflushMPQuery.setLgort(lgort);//库存地点
sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingFCList.add(sapBackflushMPQuery);
orderList2FC.add(odsProcureOutOrder);
}
}
if (mapList.size() > 0) {
//非反冲过账
SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
sapMaterialPosting.setPostingType("261");
sapMaterialPosting.setMapList(mapList);
R result = remoteSapService.sapMaterialPosting(sapMaterialPosting);
OdsProcureOutOrder order = new OdsProcureOutOrder();
int code = result.getCode();
String msg = result.getMsg();
//order.setSapMaterialPostingList(sapMaterialPostingList);
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
for (OdsProcureOutOrder order1:
orderList2) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {
//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
}
}
if (sapMaterialPostingFCList.size() > 0) {
//反冲过账
R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x
int code = result2.getCode();
OdsProcureOutOrder order = new OdsProcureOutOrder();
String msg = result2.getMsg();
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result2.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
for (OdsProcureOutOrder order1:
orderList2FC) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
}
}
}
/**
*
* @param orderList
*/
@Override
@DS("#header.poolName")
public void OutboundPostingzcSAP(List<OdsProcureOutOrder> orderList) {
//先根据出库单获取
// * 退料的移动类型为 262
// * 领料的移动类型为 261
List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderByIDs(orderList);
List<OdsProcureOutOrder> orderList2 = new ArrayList<>();//非反冲
List<Map<String, Object>> mapList = new ArrayList<>();//非反冲
List<SapBackflushMPQuery> sapMaterialPostingFCList = new ArrayList<>();//反冲
List<OdsProcureOutOrder> orderList2FC = new ArrayList<>();//反冲
for (OdsProcureOutOrder odsProcureOutOrder :
orderList1) {
if (!"X".equals(odsProcureOutOrder.getUserDefined3())){
Map<String, Object> map = new HashMap<>();
map.put("AUFNR", odsProcureOutOrder.getProduceCode());
map.put("PLANT", odsProcureOutOrder.getSiteCode());
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
map.put("LGORT", lgort);
map.put("MATNR", odsProcureOutOrder.getMaterialCode());
map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
map.put("MEINS", odsProcureOutOrder.getUnit());
mapList.add(map);
orderList2.add(odsProcureOutOrder);
}else {
SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery();
sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapBackflushMPQuery.setLgort(lgort);//库存地点
sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingFCList.add(sapBackflushMPQuery);
orderList2FC.add(odsProcureOutOrder);
}
}
if (mapList.size() > 0) {
//非反冲过账
SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
sapMaterialPosting.setPostingType("261");
sapMaterialPosting.setMapList(mapList);
R result = remoteSapService.sapMaterialPosting(sapMaterialPosting);
OdsProcureOutOrder order = new OdsProcureOutOrder();
int code = result.getCode();
String msg = result.getMsg();
//order.setSapMaterialPostingList(sapMaterialPostingList);
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
for (OdsProcureOutOrder order1:
orderList2) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {
//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
}
}
if (sapMaterialPostingFCList.size() > 0) {
//反冲过账
R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x
int code = result2.getCode();
OdsProcureOutOrder order = new OdsProcureOutOrder();
String msg = result2.getMsg();
order.setUserDefined11(msg);
if (code == 200) {
//过账成功
Map map = new HashMap();
map = (Map) result2.getData();
String userDefined9 = (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
for (OdsProcureOutOrder order1:
orderList2FC) {
//过账成功--减库存
List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
odsEmStorageNews) {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
}
}
} else {//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
}
}
}
public String dayin( List<OdsProcureOrder> orderList) {
// 定义请求的URL地址
String url = dayinUrl1;

@ -131,4 +131,11 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
List<OdsProcureOutOrder> orderList = odsProcureOutOrderMapper.selectOdsProcureOutOrderListZUfc(odsProcureOutOrder);
return orderList;
}
@Override
@DS("#header.poolName")
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZC(OdsProcureOutOrder odsProcureOutOrder) {
List<OdsProcureOutOrder> orderList = odsProcureOutOrderMapper.selectOdsProcureOutOrderListZC(odsProcureOutOrder);
return orderList;
}
}

@ -42,7 +42,7 @@ public class WmsFpStorageNewsServiceImpl implements IWmsFpStorageNewsService {
@Override
@DS("#header.poolName")
public List<WmsFpStorageNews> selectWmsFpStorageNewsList(WmsFpStorageNews wmsFpStorageNews) {
return wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews);
return wmsFpStorageNewsMapper.selectWmsFpStorageNewsList1(wmsFpStorageNews);
}
/**

@ -64,6 +64,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
private WmsSellOutEmbryoMapper wmsSellOutEmbryoMapper;
@Autowired
private WmsRuturnPutEmbryoMapper wmsRuturnPutEmbryoMapper;
@Autowired
private BaseWarehouseMapper baseWarehouseMapper;
/**
*
@ -280,15 +282,16 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
wmsProductPut) {
WmsProductPut wmsProductPutSAPById = wmsProductPutMapper.selectWmsProductPutSAPById(wmsProductPut1.getId());
if (wmsProductPutSAPById != null) {
List<WmsProductPut> wmsProductPut2 = wmsProductPutMapper.selectWmsProductPutSAPByProDuct(wmsProductPutSAPById.getProductOrder());
List<WmsProductPut> wmsProductPut2 = wmsProductPutMapper.selectWmsProductPutSAPByIds(wmsProductPutSAPById.getId());
if (wmsProductPut2.size() > 0) {
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
for (WmsProductPut wmsProductPut3 :
wmsProductPut2) {
String lgort = baseWarehouseMapper.selectByCode(wmsProductPut3.getWhCode());
map.put("AUFNR", wmsProductPut3.getProductOrder());
map.put("WERKS", wmsProductPut3.getFactoryCode());
map.put("LGORT", wmsProductPut3.getWhCode());
map.put("LGORT", lgort);
map.put("QUANTITY", wmsProductPut3.getPutQuantity());
map.put("ERFME", wmsProductPut3.getUnitOfMeasure());
map.put("BATCH", wmsProductPut3.getAttr4());
@ -1152,18 +1155,19 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
WmsProductPut wmsProductPut2= wmsProductPutLists.get(0);
BigDecimal planQuantity= wmsProductPut2.getPlanQuantity();
BigDecimal putQuantity= wmsProductPut2.getPutQuantity();
if (planQuantity.equals(putQuantity.add(new BigDecimal(wmsProductPut1.getNumber())))){
wmsProductPutk.setStatus("1");
}else {
wmsProductPutk.setStatus("2");
}
// if (planQuantity.equals(putQuantity.add(new BigDecimal(wmsProductPut1.getNumber())))){
// wmsProductPutk.setStatus("1");
// }else {
// wmsProductPutk.setStatus("2");
// }
BigDecimal putQuantityT=putQuantity.add(new BigDecimal(wmsProductPut1.getNumber()));//入库数量
wmsProductPut2.setPutQuantity(putQuantityT);
wmsProductPut2.setUpdateTime(new Date());
wmsProductPut2.setUpdateBy(wmsProductPut.getCreateBy());
wmsProductPutMapper.updateWmsProductPut(wmsProductPut2);
wmsProductPutMapper.updateWmsProductStatus(wmsProductPut2);//修改订单
}else {
wmsProductPutk.setStatus("2");
wmsProductPutk.setStatus("2");//
wmsProductPutk.setSapStatus("0");
wmsProductPutk.setAttr3(formattedDate);//
if (wmsProductPutk.getBatchNumber().length()==24){

@ -41,7 +41,13 @@ public class WmsRawOrderInServiceImpl implements IWmsRawOrderInService {
@Override
@DS("#header.poolName")
public List<WmsRawOrderIn> selectWmsRawOrderInList(WmsRawOrderIn wmsRawOrderIn) {
return wmsRawOrderInMapper.selectWmsRawOrderInList(wmsRawOrderIn);
List<WmsRawOrderIn> wmsRawOrderInList= wmsRawOrderInMapper.selectWmsRawOrderInList(wmsRawOrderIn);
for (WmsRawOrderIn wmsRawOrderIn1:
wmsRawOrderInList) {
String checkResult = wmsRawOrderInMapper.selectQcCheckTask(wmsRawOrderIn1);
wmsRawOrderIn1.setQualityStatus(checkResult);
}
return wmsRawOrderInList;
}
/**

@ -39,11 +39,45 @@
<result property="enterpriseCode" column="Enterprise_Code"/>
<result property="operationNumber" column="Operation_Number"/>
<result property="sn" column="sn"/>
<result property="palletNum" column="pallet_num"/>
</resultMap>
<sql id="selectOdsProcureOrderVo">
select Site_code, ID, Procure_Code, Material_Code, Material_Desc, Plan_Date, Plan_Number, Unit,COALESCE(Reality_Number, 0) Reality_Number, Order_Status, User_Defined1, User_Defined2, User_Defined3, User_Defined4, User_Defined5, User_Defined6, User_Defined7, User_Defined8, User_Defined9, User_Defined10, User_Defined11, Supplier_Code, Supplier_Name, Remark, Create_By, Create_Date, Last_Update_By, Last_Update_Date, Active, Enterprise_Id, Enterprise_Code, COALESCE(Operation_Number, 0) Operation_Number from ods_procure_order
</sql>
SELECT
Site_code,
ID,
Procure_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Reality_Number, 0 ) Reality_Number,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Remark,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code,
COALESCE ( Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order</sql>
<select id="selectOdsProcureOrderList" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
<include refid="selectOdsProcureOrderVo"/>
@ -82,6 +116,7 @@
<if test="Active != null and Active != ''">and Active = #{Active}</if>
<if test="enterpriseId != null and enterpriseId != ''">and Enterprise_Id = #{enterpriseId}</if>
<if test="enterpriseCode != null and enterpriseCode != ''">and Enterprise_Code = #{enterpriseCode}</if>
<if test="palletNum != null and palletNum != ''">and pallet_num = #{palletNum}</if>
</where>
order by Create_Date desc
</select>
@ -90,7 +125,11 @@
<include refid="selectOdsProcureOrderVo"/>
where ID = #{ID}
</select>
<select id="selectOdsProcureOrderByIDAndSap" parameterType="String" resultMap="OdsProcureOrderResult">
<include refid="selectOdsProcureOrderVo"/>
where ID = #{ID}
and ( Sap_Temp_Status!='1' OR Sap_Temp_Status is NULL)
</select>
<insert id="insertOdsProcureOrder" parameterType="OdsProcureOrder">
insert into ods_procure_order
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -454,6 +493,82 @@
WHERE
card.User_Defined1= #{userDefined1}
</select>
<select id="selectOdsProcureOrderList1" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
o.Site_code,
o.ID,
o.Procure_Code,
o.Material_Code,
o.Material_Desc,
o.Plan_Date,
o.Plan_Number,
o.Unit,
COALESCE ( Reality_Number, 0 ) Reality_Number,
o.Order_Status,
o.User_Defined1,
o.User_Defined2,
o.User_Defined3,
o.User_Defined4,
o.User_Defined5,
o.User_Defined6,
o.User_Defined7,
o.User_Defined8,
o.User_Defined9,
o.User_Defined10,
o.User_Defined11,
o.Supplier_Code,
o.Supplier_Name,
o.Remark,
o.Create_By,
o.Create_Date,
o.Last_Update_By,
o.Last_Update_Date,
o.Active,
o.Enterprise_Id,
o.Enterprise_Code,
base_product_attached.pallet_num, COALESCE ( Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order as o LEFT JOIN base_product_attached
on o.Material_Code = '0000000'+base_product_attached.product_code
<where>
<if test="siteCode != null and siteCode != ''">and o.Site_code = #{siteCode}</if>
<if test="ID != null and ID != ''">and o.ID = #{ID}</if>
<if test="procureCode != null and procureCode != ''">and o.Procure_Code = #{procureCode}</if>
<if test="materialCode != null and materialCode != ''">and o.Material_Code like concat('%', #{materialCode},
'%') </if>
<if test="materialDesc != null and materialDesc != ''">and o.Material_Desc = #{materialDesc}</if>
<if test="planDate != null ">and o.Plan_Date = #{planDate}</if>
<if test="planNumber != null ">and o.Plan_Number = #{planNumber}</if>
<if test="Unit != null and Unit != ''">and o.Unit = #{Unit}</if>
<if test="realityNumber != null ">and o.Reality_Number = #{realityNumber}</if>
<if test="orderStatus != null and orderStatus != ''">and o.Order_Status = #{orderStatus}</if>
<if test="userDefined1 != null and userDefined1 != ''">and o.User_Defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and o.User_Defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and o.User_Defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and o.User_Defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and o.User_Defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and o.User_Defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and o.User_Defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and o.User_Defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and o.User_Defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and o.User_Defined10 = #{userDefined10}</if>
<if test="userDefined11 != null and userDefined11 != ''">and o.User_Defined11 = #{userDefined11}</if>
<if test="supplierCode != null and supplierCode != ''">and o.Supplier_Code = #{supplierCode}</if>
<if test="supplierName != null and supplierName != ''">and o.Supplier_Name like concat('%', #{supplierName},
'%')
</if>
<if test="Remark != null and Remark != ''">and o.Remark = #{Remark}</if>
<if test="createBy != null and createBy != ''">and o.Create_By = #{createBy}</if>
<if test="createDate != null ">and o.Create_Date = #{createDate}</if>
<if test="lastUpdateBy != null and lastUpdateBy != ''">and o.Last_Update_By = #{lastUpdateBy}</if>
<if test="lastUpdateDate != null ">and o.Last_Update_Date = #{lastUpdateDate}</if>
<if test="Active != null and Active != ''">and o.Active = #{Active}</if>
<if test="enterpriseId != null and enterpriseId != ''">and o.Enterprise_Id = #{enterpriseId}</if>
<if test="enterpriseCode != null and enterpriseCode != ''">and o.Enterprise_Code = #{enterpriseCode}</if>
<if test="palletNum != null and palletNum != ''">and pallet_num = #{palletNum}</if>
</where>
order by Create_Date desc
</select>
<update id="updateodsProcureOrderCard">
update ods_procure_order_card
SET User_Defined10 = '1'

@ -41,6 +41,7 @@
<result property="enterpriseId" column="Enterprise_Id"/>
<result property="enterpriseCode" column="Enterprise_Code"/>
<result property="workorderCode" column="workorderCode"/>
<result property="needDate" column="needDate"/>
</resultMap>
<sql id="pagination_tail">
limit #{page.pageOffset} , #{page.rows}
@ -395,6 +396,8 @@
material_desc,
unit,
user_defined1,
user_defined2,
user_defined3,
sn,
amount,
origin_location,
@ -409,6 +412,8 @@
#{materialDesc},
#{Unit},
#{userDefined1},
#{userDefined2},
#{userDefined3},
#{sn},
#{planNumber},
#{locCode},
@ -435,6 +440,17 @@
#{item.ID}
</foreach>
</update>
<update id="updateWMSOdsProcureOutOrderByids">
update wms_ods_procure_out_order
set User_Defined10 = #{order.userDefined10},
User_Defined9 = #{order.userDefined9},
User_Defined11 = #{order.userDefined11}
where ID in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.ID}
</foreach>
</update>
<update id="updateOdsProcureOutOrderByidsfc">
update ods_procure_out_order_fc
set User_Defined10 = #{order.userDefined10},
@ -686,4 +702,429 @@
factory_code,
unit
</select>
<select id="selectMesPrepareBC" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
prepare_id ID,
workorder_name Produce_Code,
workorder_code workorderCode
FROM mes_prepare WHERE
workorder_code =#{userDefined4}
and del_flag='0'
</select>
<select id="selectMesPrepareDetailBC" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
material_code Material_Code,
material_name Material_Desc,
unit Unit,
quantity Plan_Number,
factory_code Site_code,
need_date needDate,
recoil User_Defined3
FROM
mes_prepare_detail
WHERE
parent_work_order=#{workorderCode} and
del_flag = '0' and recoil= ''
</select>
<select id="selectWmsOdsProcureOutOrderByID" parameterType="String" resultMap="OdsProcureOutOrderResult">
SELECT
Site_code,
ID,
Produce_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Out_Number, 0 ) AS Out_Number,
Loc_Code,
Loc_Desc,
Production_Line_Desc,
Production_Line_Code,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code
FROM
wms_ods_procure_out_order
where ID = #{ID}
</select>
<select id="selectWmsOdsProcureOutOrderByIDs" resultMap="OdsProcureOutOrderResult">
SELECT DISTINCT
wms_ods_procure_out_order.Site_code,
wms_ods_procure_out_order.ID,
wms_ods_procure_out_order.Produce_Code,
wms_ods_procure_out_order.Material_Code,
wms_ods_procure_out_order.Material_Desc,
wms_ods_procure_out_order.Plan_Date,
wms_ods_procure_out_order.Plan_Number,
wms_ods_procure_out_order.Unit,
COALESCE ( wms_ods_procure_out_order.Out_Number, 0 ) AS Out_Number,
wms_raw_mission_out.user_defined2 Loc_Code,
wms_ods_procure_out_order.Loc_Desc,
wms_ods_procure_out_order.Production_Line_Desc,
wms_ods_procure_out_order.Production_Line_Code,
wms_ods_procure_out_order.Order_Status,
wms_ods_procure_out_order.User_Defined1,
wms_ods_procure_out_order.User_Defined2,
wms_ods_procure_out_order.User_Defined3,
wms_ods_procure_out_order.User_Defined4,
wms_ods_procure_out_order.User_Defined5,
wms_ods_procure_out_order.User_Defined6,
wms_ods_procure_out_order.User_Defined7,
wms_ods_procure_out_order.User_Defined8,
wms_ods_procure_out_order.User_Defined9,
wms_ods_procure_out_order.User_Defined10,
wms_ods_procure_out_order.User_Defined11,
wms_ods_procure_out_order.Supplier_Code,
wms_ods_procure_out_order.Supplier_Name,
wms_ods_procure_out_order.Create_By,
wms_ods_procure_out_order.Create_Date,
wms_ods_procure_out_order.Last_Update_By,
wms_ods_procure_out_order.Last_Update_Date,
wms_ods_procure_out_order.Active,
wms_ods_procure_out_order.Enterprise_Id,
wms_ods_procure_out_order.Enterprise_Code
FROM
wms_ods_procure_out_order
LEFT JOIN wms_raw_mission_out ON wms_raw_mission_out.prd_order = wms_ods_procure_out_order.Produce_Code
AND wms_raw_mission_out.material_code = wms_ods_procure_out_order.Material_Code
where wms_ods_procure_out_order.ID
<foreach item="odsProcureOutOrder" collection="list" open="(" separator="," close=")">
#{odsProcureOutOrder.ID}
</foreach>
and wms_ods_procure_out_order.Order_Status='3'
</select>
<select id="selectWmsOdsProcureOutOrder" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
Site_code,
ID,
Produce_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Out_Number, 0 ) AS Out_Number,
Loc_Code,
Loc_Desc,
Production_Line_Desc,
Production_Line_Code,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code
FROM
wms_ods_procure_out_order
<where>
<if test="siteCode != null and siteCode != ''"> and Site_code = #{siteCode}</if>
<if test="produceCode != null and produceCode != ''"> and Produce_Code = #{produceCode}</if>
<if test="materialCode != null and materialCode != ''"> and Material_Code = #{materialCode}</if>
<if test="materialDesc != null and materialDesc != ''"> and Material_Desc = #{materialDesc}</if>
<if test="planDate != null "> and Plan_Date = #{planDate}</if>
<if test="planNumber != null "> and Plan_Number = #{planNumber}</if>
<if test="Unit != null and Unit != ''"> and Unit = #{Unit}</if>
<if test="outNumber != null "> and Out_Number = #{outNumber}</if>
<if test="locCode != null and locCode != ''"> and Loc_Code = #{locCode}</if>
<if test="locDesc != null and locDesc != ''"> and Loc_Desc = #{locDesc}</if>
<if test="productionLineDesc != null and productionLineDesc != ''"> and Production_Line_Desc = #{productionLineDesc}</if>
<if test="productionLineCode != null and productionLineCode != ''"> and Production_Line_Code = #{productionLineCode}</if>
<if test="orderStatus != null and orderStatus != ''"> and Order_Status = #{orderStatus}</if>
<if test="userDefined1 != null and userDefined1 != ''"> and User_Defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''"> and User_Defined2 = #{userDefined2}</if>
<!-- <if test="userDefined3 != null and userDefined3 != ''"> and User_Defined3 = #{userDefined3}</if>-->
<if test="userDefined4 != null and userDefined4 != ''"> and User_Defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''"> and User_Defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''"> and User_Defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''"> and User_Defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''"> and User_Defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''"> and User_Defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''"> and User_Defined10 = #{userDefined10}</if>
<if test="userDefined11 != null and userDefined11 != ''"> and User_Defined11 = #{userDefined11}</if>
<if test="supplierCode != null and supplierCode != ''"> and Supplier_Code = #{supplierCode}</if>
<if test="supplierName != null and supplierName != ''"> and Supplier_Name like concat('%', #{supplierName}, '%')</if>
<if test="createBy != null and createBy != ''"> and Create_By = #{createBy}</if>
<if test="createDate != null "> and Create_Date = #{createDate}</if>
<if test="lastUpdateBy != null and lastUpdateBy != ''"> and Last_Update_By = #{lastUpdateBy}</if>
<if test="lastUpdateDate != null "> and Last_Update_Date = #{lastUpdateDate}</if>
<if test="Active != null and Active != ''"> and Active = #{Active}</if>
<if test="enterpriseId != null and enterpriseId != ''"> and Enterprise_Id = #{enterpriseId}</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and Enterprise_Code = #{enterpriseCode}</if>
</where>
</select>
<insert id="insertWmsOdsProcureOutOrder" parameterType="OdsProcureOutOrder">
insert into wms_ods_procure_out_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="siteCode != null">Site_code,</if>
<if test="ID != null">ID,</if>
<if test="produceCode != null">Produce_Code,</if>
<if test="materialCode != null">Material_Code,</if>
<if test="materialDesc != null">Material_Desc,</if>
<if test="planDate != null">Plan_Date,</if>
<if test="planNumber != null">Plan_Number,</if>
<if test="Unit != null">Unit,</if>
<if test="outNumber != null">Out_Number,</if>
<if test="locCode != null">Loc_Code,</if>
<if test="locDesc != null">Loc_Desc,</if>
<if test="productionLineDesc != null">Production_Line_Desc,</if>
<if test="productionLineCode != null">Production_Line_Code,</if>
<if test="orderStatus != null">Order_Status,</if>
<if test="userDefined1 != null">User_Defined1,</if>
<if test="userDefined2 != null">User_Defined2,</if>
<if test="userDefined3 != null">User_Defined3,</if>
<if test="userDefined4 != null">User_Defined4,</if>
<if test="userDefined5 != null">User_Defined5,</if>
<if test="userDefined6 != null">User_Defined6,</if>
<if test="userDefined7 != null">User_Defined7,</if>
<if test="userDefined8 != null">User_Defined8,</if>
<if test="userDefined9 != null">User_Defined9,</if>
<if test="userDefined10 != null">User_Defined10,</if>
<if test="userDefined11 != null">User_Defined11,</if>
<if test="supplierCode != null">Supplier_Code,</if>
<if test="supplierName != null">Supplier_Name,</if>
<if test="createBy != null">Create_By,</if>
<if test="createDate != null">Create_Date,</if>
<if test="lastUpdateBy != null">Last_Update_By,</if>
<if test="lastUpdateDate != null">Last_Update_Date,</if>
<if test="Active != null">Active,</if>
<if test="enterpriseId != null">Enterprise_Id,</if>
<if test="enterpriseCode != null">Enterprise_Code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="siteCode != null">#{siteCode},</if>
<if test="ID != null">#{ID},</if>
<if test="produceCode != null">#{produceCode},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialDesc != null">#{materialDesc},</if>
<if test="planDate != null">#{planDate},</if>
<if test="planNumber != null">#{planNumber},</if>
<if test="Unit != null">#{Unit},</if>
<if test="outNumber != null">#{outNumber},</if>
<if test="locCode != null">#{locCode},</if>
<if test="locDesc != null">#{locDesc},</if>
<if test="productionLineDesc != null">#{productionLineDesc},</if>
<if test="productionLineCode != null">#{productionLineCode},</if>
<if test="orderStatus != null">#{orderStatus},</if>
<if test="userDefined1 != null">#{userDefined1},</if>
<if test="userDefined2 != null">#{userDefined2},</if>
<if test="userDefined3 != null">#{userDefined3},</if>
<if test="userDefined4 != null">#{userDefined4},</if>
<if test="userDefined5 != null">#{userDefined5},</if>
<if test="userDefined6 != null">#{userDefined6},</if>
<if test="userDefined7 != null">#{userDefined7},</if>
<if test="userDefined8 != null">#{userDefined8},</if>
<if test="userDefined9 != null">#{userDefined9},</if>
<if test="userDefined10 != null">#{userDefined10},</if>
<if test="userDefined11 != null">#{userDefined11},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createDate != null">#{createDate},</if>
<if test="lastUpdateBy != null">#{lastUpdateBy},</if>
<if test="lastUpdateDate != null">#{lastUpdateDate},</if>
<if test="Active != null">#{Active},</if>
<if test="enterpriseId != null">#{enterpriseId},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
</trim>
</insert>
<select id="updateWmsOdsProcureOutOrder" parameterType="OdsProcureOutOrder">
update wms_ods_procure_out_order
<trim prefix="SET" suffixOverrides=",">
<if test="siteCode != null">Site_code = #{siteCode},</if>
<if test="produceCode != null">Produce_Code = #{produceCode},</if>
<if test="materialCode != null">Material_Code = #{materialCode},</if>
<if test="materialDesc != null">Material_Desc = #{materialDesc},</if>
<if test="planDate != null">Plan_Date = #{planDate},</if>
<if test="planNumber != null">Plan_Number = #{planNumber},</if>
<if test="Unit != null">Unit = #{Unit},</if>
<if test="outNumber != null">Out_Number = #{outNumber},</if>
<if test="locCode != null">Loc_Code = #{locCode},</if>
<if test="locDesc != null">Loc_Desc = #{locDesc},</if>
<if test="productionLineDesc != null">Production_Line_Desc = #{productionLineDesc},</if>
<if test="productionLineCode != null">Production_Line_Code = #{productionLineCode},</if>
<if test="orderStatus != null">Order_Status = #{orderStatus},</if>
<if test="userDefined1 != null">User_Defined1 = #{userDefined1},</if>
<if test="userDefined2 != null">User_Defined2 = #{userDefined2},</if>
<if test="userDefined3 != null">User_Defined3 = #{userDefined3},</if>
<if test="userDefined4 != null">User_Defined4 = #{userDefined4},</if>
<if test="userDefined5 != null">User_Defined5 = #{userDefined5},</if>
<if test="userDefined6 != null">User_Defined6 = #{userDefined6},</if>
<if test="userDefined7 != null">User_Defined7 = #{userDefined7},</if>
<if test="userDefined8 != null">User_Defined8 = #{userDefined8},</if>
<if test="userDefined9 != null">User_Defined9 = #{userDefined9},</if>
<if test="userDefined10 != null">User_Defined10 = #{userDefined10},</if>
<if test="userDefined11 != null">User_Defined11 = #{userDefined11},</if>
<if test="supplierCode != null">Supplier_Code = #{supplierCode},</if>
<if test="supplierName != null">Supplier_Name = #{supplierName},</if>
<if test="createBy != null">Create_By = #{createBy},</if>
<if test="createDate != null">Create_Date = #{createDate},</if>
<if test="lastUpdateBy != null">Last_Update_By = #{lastUpdateBy},</if>
<if test="lastUpdateDate != null">Last_Update_Date = #{lastUpdateDate},</if>
<if test="Active != null">Active = #{Active},</if>
<if test="enterpriseId != null">Enterprise_Id = #{enterpriseId},</if>
<if test="enterpriseCode != null">Enterprise_Code = #{enterpriseCode},</if>
</trim>
where ID = #{ID}
</select>
<select id="selectOdsProcureOutOrderListZC" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
Site_code,
ID,
Produce_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Out_Number, 0 ) AS Out_Number,
Loc_Code,
Loc_Desc,
Production_Line_Desc,
Production_Line_Code,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code
FROM
wms_ods_procure_out_order
<where>
<if test="produceCode != null and produceCode != ''"> and Produce_Code like concat('%', #{produceCode}, '%')</if>
<if test="userDefined1 != null and userDefined1 != ''"> and User_Defined1 = #{userDefined1}</if>
<if test="Active != null and Active != ''"> and Active = #{Active}</if>
</where>
</select>
<select id="selectWmsRawMissionOutByPrdAndMa" resultType="com.op.wms.domain.WmsOdsMateStorageNews">
SELECT
material_code materialCode,
origin_location waCode,
amount amount,
user_defined1 userDefined1,
user_defined2 userDefined2,
user_defined3 userDefined3
FROM
wms_raw_mission_out
WHERE
prd_order=#{produceCode} AND
material_code=#{Material_Code}
</select>
<select id="selectPreDetailHzList" resultMap="OdsProcureOutOrderResult">
SELECT
mpd.material_code Material_Code,
mpd.material_name Material_Desc,
SUM ( mpd.quantity ) Plan_Number,
mpd.unit Unit,
-- SUM ( CONVERT ( DECIMAL ( 10, 3 ), mpd.fund_quanlity ) ) fundQuanlity,
mpd.factory_code Site_code,
mpd.recoil User_Defined3
FROM
pro_order_workorder ow
LEFT JOIN mes_prepare mp ON ow.workorder_code = mp.workorder_code
LEFT JOIN mes_prepare_detail mpd ON mp.prepare_id = mpd.prepare_id
WHERE
ow.product_date = #{userDefined4}
AND mpd.recoil = 'X'
AND mp.del_flag = '0'
AND mpd.del_flag = '0'
GROUP BY
mpd.material_code,
mpd.material_name,
mpd.unit,
mpd.factory_code,
mpd.recoil
ORDER BY
mpd.material_code
</select>
<select id="selectWmsOdsProcureOutOrderByOrderStatus" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
Site_code,
ID,
Produce_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Out_Number, 0 ) AS Out_Number,
Loc_Code,
Loc_Desc,
Production_Line_Desc,
Production_Line_Code,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code
FROM
wms_ods_procure_out_order
where Order_Status='3' and Active='1'
and User_Defined10='1'
</select>
</mapper>

@ -41,7 +41,11 @@
</resultMap>
<sql id="selectWmsFpStorageNewsVo">
select storage_id, wh_code, region_code, wa_code, storage_type, wl_code, product_code, product_name, amount, storage_amount, occupy_amount, lpn, product_batch, receive_date, product_date, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7, user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by, gmt_modified, active_flag, factory_code, sap_factory_code, wl_name from wms_fp_storage_news
select storage_id, wh_code, region_code, wa_code, storage_type, wl_code, product_code, product_name, amount,
storage_amount, occupy_amount, lpn, product_batch, receive_date, product_date, user_defined1,
user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7,
user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by,
gmt_modified, active_flag, factory_code, sap_factory_code, wl_name from wms_fp_storage_news
</sql>
<select id="selectWmsFpStorageNewsList" parameterType="WmsFpStorageNews" resultMap="WmsFpStorageNewsResult">
@ -53,7 +57,8 @@
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="storageType != null and storageType != ''">and storage_type = #{storageType}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="productCode != null and productCode != ''">and product_code = #{productCode}</if>
<if test="productCode != null and productCode != ''">and product_code like concat('%', #{productCode},
'%') </if>
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName},
'%')
</if>
@ -82,7 +87,130 @@
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
<if test="wlName != null and wlName != ''">and wl_name like concat('%', #{wlName}, '%')</if>
</where>
ORDER BY gmt_create DESC
</select>
<sql id="selectWmsFpStorageNewsVo1">
SELECT
storage_id,
wh_code,
region_code,
wa_code,
storage_type,
wl_code,
CASE
WHEN product_code = '0' THEN
'0' -- 单独的'0'
ELSE STUFF( product_code, 1, PATINDEX( '%[^0]%', product_code ) - 1, '' )
END AS product_code,
product_name,
amount,
storage_amount,
occupy_amount,
lpn,
product_batch,
receive_date,
product_date,
user_defined1,
user_defined2,
user_defined3,
user_defined4,
user_defined5,
user_defined6,
user_defined7,
user_defined8,
user_defined9,
user_defined10,
create_by,
gmt_create,
last_modified_by,
gmt_modified,
active_flag,
factory_code,
sap_factory_code,
wl_name
FROM
wms_fp_storage_news
</sql>
<select id="selectWmsFpStorageNewsList1" parameterType="WmsFpStorageNews" resultMap="WmsFpStorageNewsResult">
<include refid="selectWmsFpStorageNewsVo1"/>
<where>
<if test="storageId != null and storageId != ''">and storage_id = #{storageId}</if>
<if test="whCode != null and whCode != ''">and wh_code = #{whCode}</if>
<if test="regionCode != null and regionCode != ''">and region_code = #{regionCode}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="storageType != null and storageType != ''">and storage_type = #{storageType}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="productCode != null and productCode != ''">and product_code like concat('%', #{productCode},
'%') </if>
<if test="productName != null and productName != ''">and product_name like concat('%', #{productName},
'%')
</if>
<if test="amount != null ">and amount = #{amount}</if>
<if test="storageAmount != null ">and storage_amount = #{storageAmount}</if>
<if test="occupyAmount != null ">and occupy_amount = #{occupyAmount}</if>
<if test="lpn != null and lpn != ''">and lpn = #{lpn}</if>
<if test="productBatch != null and productBatch != ''">and product_batch = #{productBatch}</if>
<if test="receiveDate != null ">and receive_date = #{receiveDate}</if>
<if test="productDate != null ">and product_date = #{productDate}</if>
<if test="userDefined1 != null and userDefined1 != ''">and user_defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
<if test="wlName != null and wlName != ''">and wl_name like concat('%', #{wlName}, '%')</if>
</where>
ORDER BY gmt_create DESC
</select>
<select id="selectWmsFpStorageNewsByStorageId" parameterType="String" resultMap="WmsFpStorageNewsResult">
<include refid="selectWmsFpStorageNewsVo"/>

@ -220,4 +220,10 @@
select DISTINCT material_desc,user_defined1
from wms_ods_mate_storage_news where material_code=#{sku}
</select>
<update id="updateWmsOdsMateStorageNewsUpdateStorageAmount" >
update wms_ods_mate_storage_news
set storage_amount = ISNULL(storage_amount, 0) - #{storageAmount},
gmt_modified=GETDATE()
where wh_code=#{whCode} and wl_code=#{wlCode} and wa_code=#{waCode} and material_code=#{materialCode}
</update>
</mapper>

@ -79,7 +79,11 @@
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
where mate_order_in_sn_id = #{mateOrderInSnId}
</select>
<select id="selectWmsOdsMateStorageNewsSnByMateOrderInSnIdk"
resultMap="WmsOdsMateStorageNewsSnResult">
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
where mate_order_in_sn_id = #{mateOrderInSnId}
</select>
<insert id="insertWmsOdsMateStorageNewsSn" parameterType="WmsOdsMateStorageNewsSn" useGeneratedKeys="true"
keyProperty="mateOrderInSnId">
insert into wms_ods_mate_storage_news_sn
@ -201,10 +205,20 @@
</update>
<update id="updatekdd">
update wms_ods_mate_storage_news
set amount = ISNULL(amount, 0) - #{amount},
set occupy_amount =ISNULL(occupy_amount, 0) + #{amount},
last_modified_by=#{lastModifiedBy},
gmt_modified=GETDATE()
where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode}
</update>
where wh_code=#{whCode} and wa_code=#{waCode} and wl_code=#{wlCode} and material_code=#{materialCode}
</update>
<update id="updatesub">
update wms_ods_mate_storage_news
set occupy_amount =ISNULL(occupy_amount, 0) - #{amount},
amount = ISNULL(amount, 0) - #{amount},
last_modified_by=#{lastModifiedBy},
gmt_modified=GETDATE()
where wh_code=#{userDefined2} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode}
</update>
<select id="selectByWhCodeAndMate">
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
where mate_order_in_sn_id = #{mateOrderInSnId}
@ -216,4 +230,109 @@
AND active_flag = '1'
AND User_Defined1 IS NULL
</select>
<select id="selectWmsOdsMateStorageNewsSnByWlCode" parameterType="WmsOdsMateStorageNewsSn"
resultMap="WmsOdsMateStorageNewsSnResult">
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
<where>
<if test="whCode != null and whCode != ''">and wh_code = #{whCode}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="orderNo != null and orderNo != ''">and order_no = #{orderNo}</if>
<if test="poNo != null and poNo != ''">and po_no = #{poNo}</if>
<if test="poLine != null and poLine != ''">and po_line = #{poLine}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if>
<if test="sn != null and sn != ''">and sn = #{sn}</if>
<if test="barCode != null and barCode != ''">and bar_code = #{barCode}</if>
<if test="amount != null ">and amount = #{amount}</if>
<if test="userDefined1 != null and userDefined1 != ''">and user_defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
</where>
</select>
<update id="updateWmsOdsMateStorageNewsSnAddoutNumber" >
update wms_ods_mate_storage_news_sn
set out_number = ISNULL(out_number, 0) + #{outNumber},
last_modified_by = #{lastModifiedBy},
gmt_modified=GETDATE()
where mate_order_in_sn_id = #{mateOrderInSnId}
</update>
<select id="selectWmsOdsMateStorageNewsSnByWlCodeTEM" parameterType="WmsOdsMateStorageNewsSn"
resultMap="WmsOdsMateStorageNewsSnResult">
SELECT
mate_order_in_sn_id,
wh_code,
wa_code,
wl_code,
order_no,
po_no,
po_line,
material_code,
material_desc,
sn,
bar_code,
amount-ISNULL(out_number, 0) amount,
user_defined1,
user_defined2,
user_defined3,
user_defined4,
user_defined5,
user_defined6,
user_defined7,
user_defined8,
user_defined9,
user_defined10,
create_by,
gmt_create,
last_modified_by,
gmt_modified,
active_flag,
factory_code,
sap_factory_code
FROM
wms_ods_mate_storage_news_sn
<where>
<if test="whCode != null and whCode != ''">and wh_code = #{whCode}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="orderNo != null and orderNo != ''">and order_no = #{orderNo}</if>
<if test="poNo != null and poNo != ''">and po_no = #{poNo}</if>
<if test="poLine != null and poLine != ''">and po_line = #{poLine}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if>
<if test="sn != null and sn != ''">and sn = #{sn}</if>
<if test="barCode != null and barCode != ''">and bar_code = #{barCode}</if>
<if test="amount != null ">and amount = #{amount}</if>
<if test="userDefined1 != null and userDefined1 != ''">and user_defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
</where>
</select>
</mapper>

@ -294,7 +294,6 @@
wms_product_put
LEFT JOIN pro_order_workorder ON pro_order_workorder.order_code=wms_product_put.product_order
WHERE wms_product_put.id = #{id}
AND wms_product_put.status= '1'
AND wms_product_put.SAP_status IN ( 0, 2 )
</select>
<select id="getReportList" resultType="com.op.system.api.domain.wms.wmsReportWork">
@ -445,7 +444,7 @@
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{pallet}
AND del_flag = 0
</select>
<select id="selectProOrderWorkorderBatchPalletAtter" resultMap="WmsProductPutResult">
@ -458,7 +457,7 @@
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{attr1}
AND pro_order_workorder_batch_pallet.del_flag='0'
</select>
<!-- <select id="selectProOrderWorkorder" >-->
@ -469,4 +468,53 @@
SET attr1 = '1'
where pallet_code = #{palletCode}
</update>
<update id="updateWmsProductStatus" >
UPDATE wms_product_put
SET status = '1'
WHERE <![CDATA[ plan_quantity <= put_quantity ]]>
AND status != '1'
AND id = #{id}
</update>
<select id="selectWmsProductPutSAPByIds" parameterType="String" resultMap="WmsProductPutResult">
SELECT DISTINCT
wms_product_put.id,
wms_product_put.work_order,
wms_product_put.factory_code,
wms_product_put.product_order,
wms_product_put.wh_code,
wms_product_put.wa_code,
wms_product_put.wl_code,
wms_product_put.product_name,
wms_product_put.product_code,
wms_product_put.product_sort,
wms_product_put.specification,
wms_product_put.unit_of_measure,
wms_product_put.plan_quantity,
wms_product_put.put_quantity,
wms_product_put.status,
wms_product_put.SAP_status,
wms_product_put.SAP_proof,
wms_product_put.SAP_message,
wms_product_put.put_date,
wms_product_put.batch_number,
wms_product_put.attr3,
wms_product_put.attr4,
wms_product_put.attr5,
wms_product_put.attr6,
wms_product_put.attr7,
wms_product_put.attr8,
wms_product_put.attr9,
wms_product_put.attr10,
wms_product_put.create_by,
wms_product_put.create_time,
wms_product_put.update_by,
wms_product_put.update_time ,
pro_order_workorder.product_date
FROM
wms_product_put
LEFT JOIN pro_order_workorder ON pro_order_workorder.workorder_code_sap=wms_product_put.product_order
WHERE wms_product_put.id = #{id}
AND wms_product_put.SAP_status IN ( 0, 2 )
</select>
</mapper>

@ -57,6 +57,7 @@
<result property="lastModifiedBy" column="last_modified_by"/>
<result property="gmtModified" column="gmt_modified"/>
<result property="activeFlag" column="active_flag"/>
<result property="incomeBatchNo" column="incomeBatchNo"/>
</resultMap>
<sql id="selectWmsRawOrderInVo">
@ -76,8 +77,10 @@
<if test="poNo != null and poNo != ''">and po_no = #{poNo}</if>
<if test="poLine != null and poLine != ''">and po_line = #{poLine}</if>
<if test="poType != null and poType != ''">and po_type = #{poType}</if>
<if test="materialCode != null and materialCode != ''">and material_code = #{materialCode}</if>
<if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if>
<if test="materialCode != null and materialCode != ''">and material_code like concat('%', #{materialCode},
'%') </if>
<if test="materialDesc != null and materialDesc != ''">and material_desc like concat('%', #{materialDesc},
'%') </if>
<if test="unit != null and unit != ''">and unit = #{unit}</if>
<if test="buyerGroup != null and buyerGroup != ''">and buyer_group = #{buyerGroup}</if>
<if test="supplyCode != null and supplyCode != ''">and supply_code = #{supplyCode}</if>
@ -122,13 +125,75 @@
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
</where>
ORDER BY gmt_create DESC
</select>
<select id="selectWmsRawOrderInByRawOrderInId" parameterType="String" resultMap="WmsRawOrderInResult">
<include refid="selectWmsRawOrderInVo"/>
where raw_order_in_id = #{rawOrderInId}
</select>
<select id="selectWmsRawOrderInByRawOrderInIdTWO" parameterType="String" resultMap="WmsRawOrderInResult">
SELECT DISTINCT
wms_raw_order_in.raw_order_in_id,
wms_raw_order_in.factory_code,
wms_raw_order_in.wh_code,
wms_raw_order_in.wa_code,
wms_raw_order_in.wl_code,
wms_raw_order_in.order_in_type,
wms_raw_order_in.order_no,
wms_raw_order_in.dn_no,
wms_raw_order_in.po_no,
wms_raw_order_in.po_line,
wms_raw_order_in.po_type,
wms_raw_order_in.material_code,
wms_raw_order_in.material_desc,
wms_raw_order_in.unit,
wms_raw_order_in.buyer_group,
wms_raw_order_in.supply_code,
wms_raw_order_in.sap_factory_code,
wms_raw_order_in.send_spot,
wms_raw_order_in.request_amount,
wms_raw_order_in.receipt_amount,
wms_raw_order_in.shelves_amount,
wms_raw_order_in.location,
wms_raw_order_in.request_time,
wms_raw_order_in.quality_status,
wms_raw_order_in.order_status,
wms_raw_order_in.receipt_operator,
wms_raw_order_in.receipt_time,
wms_raw_order_in.shelves_operator,
wms_raw_order_in.return_amount,
wms_raw_order_in.return_name,
wms_raw_order_in.return_time,
wms_raw_order_in.return_status,
wms_raw_order_in.shelves_time,
wms_raw_order_in.return_message,
wms_raw_order_in.accounting_status,
wms_raw_order_in.accounting_time,
wms_raw_order_in.accounting_message,
wms_raw_order_in.user_defined1,
wms_raw_order_in.user_defined2,
wms_raw_order_in.user_defined3,
wms_raw_order_in.user_defined4,
wms_raw_order_in.user_defined5,
wms_raw_order_in.user_defined6,
wms_raw_order_in.user_defined7,
wms_raw_order_in.user_defined8,
wms_raw_order_in.user_defined9,
wms_raw_order_in.user_defined10,
wms_raw_order_in.create_by,
wms_raw_order_in.gmt_create,
wms_raw_order_in.last_modified_by,
wms_raw_order_in.gmt_modified,
wms_raw_order_in_sn.user_defined2 incomeBatchNo ,
wms_raw_order_in.active_flag
FROM
wms_raw_order_in
LEFT JOIN wms_raw_order_in_sn ON wms_raw_order_in.dn_no=wms_raw_order_in_sn.user_defined5
where wms_raw_order_in.raw_order_in_id = #{rawOrderInId}
and wms_raw_order_in.order_status='0'
</select>
<insert id="insertWmsRawOrderIn" parameterType="WmsRawOrderIn">
insert into wms_raw_order_in
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -349,4 +414,13 @@
and relat_status = '1'
</select>
<select id="selectQcCheckTask" resultType="java.lang.String" >
SELECT TOP
1 check_result
FROM
qc_check_task
WHERE
order_no = #{poNo}
AND material_code like concat('%', #{materialCode}, '%')
</select>
</mapper>

Loading…
Cancel
Save