|
@@ -120,54 +120,59 @@ public class PickingInfo {
|
|
|
/**
|
|
|
*
|
|
|
* @param pickingRequisitions //数据库中查到的数据
|
|
|
- * @param listPickingRequisition 读取表格得到的数据
|
|
|
+ * @param listPickingRequisition 读取表格去掉重复项目定义号以及重复领料单号的数据
|
|
|
* @return 确定保存到数据库中数据
|
|
|
*/
|
|
|
public static List<PickingRequisition> getSureSavePicking(List<PickingRequisition> pickingRequisitions,List<PickingRequisition> listPickingRequisition){
|
|
|
-// if (null==pickingRequisitions||pickingRequisitions.size()<=0){
|
|
|
-// return listPickingRequisition;
|
|
|
-// }
|
|
|
+ if (null==pickingRequisitions||pickingRequisitions.size()<=0){
|
|
|
+ return listPickingRequisition;
|
|
|
+ }
|
|
|
ArrayList<PickingRequisition> arrayList = new ArrayList<PickingRequisition>();
|
|
|
for (PickingRequisition pickingRequisition:listPickingRequisition){
|
|
|
arrayList.add(pickingRequisition);
|
|
|
}
|
|
|
String projectDefinition = "";//项目定义号
|
|
|
- String requisition = "";//领料单号
|
|
|
- String requisitionPicking = "";//表格中领料单号
|
|
|
boolean flag = false;
|
|
|
- boolean flag1 = false;
|
|
|
- for (PickingRequisition pickingRequisition:arrayList){
|
|
|
+ for (int i = 0; i < arrayList.size(); i++) {
|
|
|
flag = false;
|
|
|
- flag1 = false;
|
|
|
- requisitionPicking = pickingRequisition.getRequisition();//领料单号
|
|
|
+ projectDefinition = arrayList.get(i).getProjectDefinition();
|
|
|
for (PickingRequisition pickingRequisition1:pickingRequisitions){
|
|
|
- if (pickingRequisition.getProjectDefinition().equals(pickingRequisition1.getProjectDefinition())){
|
|
|
- requisition = pickingRequisition1.getRequisition();
|
|
|
- if (requisition.length()>0){
|
|
|
- String[] split = requisition.split(",");
|
|
|
- for (String str:split){
|
|
|
- if (requisitionPicking.equals(str)){
|
|
|
- flag1= true;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ if (projectDefinition.equals(pickingRequisition1.getProjectDefinition())){
|
|
|
flag = true;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
if (flag){
|
|
|
- if (!flag1){
|
|
|
- requisition=requisition+","+requisitionPicking;
|
|
|
- pickingRequisition.setRequisition(requisition);
|
|
|
- }
|
|
|
- }
|
|
|
- String strings = oneClear(pickingRequisition.getRequisition());//领料单号去重
|
|
|
- if (!"".equals(strings)){
|
|
|
- pickingRequisition.setRequisition(strings);
|
|
|
+ arrayList.remove(i);
|
|
|
+ i--;
|
|
|
}
|
|
|
}
|
|
|
+// for (PickingRequisition pickingRequisition:arrayList){
|
|
|
+// flag = false;
|
|
|
+// requisitionPicking = pickingRequisition.getRequisition();//领料单号
|
|
|
+// for (PickingRequisition pickingRequisition1:pickingRequisitions){
|
|
|
+// if (pickingRequisition.getProjectDefinition().equals(pickingRequisition1.getProjectDefinition())){
|
|
|
+// requisition = pickingRequisition1.getRequisition();
|
|
|
+// flag = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// String strings = oneClear(pickingRequisition.getRequisition());//领料单号去重
|
|
|
+// if (!"".equals(strings)){
|
|
|
+// pickingRequisition.setRequisition(strings);
|
|
|
+// }
|
|
|
+// }
|
|
|
return arrayList;
|
|
|
}
|
|
|
-
|
|
|
+ //去掉重复的领料单号
|
|
|
+ public static List<PickingRequisition> getRepeatRequisition(List<PickingRequisition> pickingRequisitions){
|
|
|
+ String s = "";
|
|
|
+ for (PickingRequisition pickingRequisition:pickingRequisitions){
|
|
|
+ s = oneClear(pickingRequisition.getRequisition());
|
|
|
+ pickingRequisition.setRequisition(s);
|
|
|
+ }
|
|
|
+ return pickingRequisitions;
|
|
|
+ }
|
|
|
+ //去掉重复的领料单号
|
|
|
public static String oneClear(String requisitionPicking){
|
|
|
if (requisitionPicking.length()>0){
|
|
|
String string = "";
|
|
@@ -188,15 +193,15 @@ public class PickingInfo {
|
|
|
return "";
|
|
|
}
|
|
|
/*
|
|
|
- 领料单号
|
|
|
+ 获取需求数量和已出库数量都一致领料单集合
|
|
|
*/
|
|
|
public static List<PickingRequisition> getChangePicking(List<PickingRequisition> pickingRequisitions){
|
|
|
- List<PickingRequisition> pickingRequisitionList = getJudgePicking(pickingRequisitions);//获取是否领料状态
|
|
|
+// List<PickingRequisition> pickingRequisitionList = getJudgePicking(pickingRequisitions);//获取是否领料状态
|
|
|
List<PickingRequisition> pickingRequisitionList1 = new ArrayList<PickingRequisition>();
|
|
|
Integer status = 0;
|
|
|
- for (PickingRequisition pickingRequisition:pickingRequisitionList){
|
|
|
+ for (PickingRequisition pickingRequisition:pickingRequisitions){
|
|
|
status = pickingRequisition.getStatus();//获取是否允许领料状态
|
|
|
- if (status<=0){//如果状态大于0.说明 一致。
|
|
|
+ if (status<1){//如果状态小于0.说明 一致。
|
|
|
pickingRequisitionList1.add(pickingRequisition);
|
|
|
}
|
|
|
}
|
|
@@ -213,12 +218,14 @@ public class PickingInfo {
|
|
|
PickingRequisition pickingRequisition2 = null;
|
|
|
boolean flag = true;
|
|
|
int status = 0;
|
|
|
+ Double d = 0.0;
|
|
|
for (PickingRequisition pickingRequisition:pickingRequisitions){
|
|
|
status = 0;
|
|
|
flag = true;
|
|
|
projectDefinition = pickingRequisition.getProjectDefinition();//获取项目定义号
|
|
|
//如果需求数量等于已经出库数量
|
|
|
- if (pickingRequisition.getQuantityDemanded() != pickingRequisition.getQuantityDelivered()){
|
|
|
+ d = pickingRequisition.getQuantityDemanded()-pickingRequisition.getQuantityDelivered();
|
|
|
+ if (d>0||d<0){
|
|
|
status = 1;
|
|
|
pickingRequisition.setStatus(status);//0-已完成首次领料 1-未完成首次领料
|
|
|
}
|
|
@@ -244,11 +251,11 @@ public class PickingInfo {
|
|
|
统一项目定义号状态编码.获得该项目是否允许领料是否允许领料状态的项目:返回不一致集合
|
|
|
*/
|
|
|
public static List<PickingRequisition> getUnifiedPicking(List<PickingRequisition> pickingRequisitions){
|
|
|
- List<PickingRequisition> pickingRequisitionList = getJudgePicking(pickingRequisitions);//获取是否领料状态
|
|
|
+// List<PickingRequisition> pickingRequisitionList = getJudgePicking(pickingRequisitions);//获取是否领料状态
|
|
|
ArrayList<PickingRequisition> pickingRequisitionArrayList = new ArrayList<PickingRequisition>();//不一致的集合
|
|
|
String projectDefinition = "";//项目定义号
|
|
|
Integer status = 0;
|
|
|
- for (PickingRequisition pickingRequisition:pickingRequisitionList){
|
|
|
+ for (PickingRequisition pickingRequisition:pickingRequisitions){
|
|
|
status = pickingRequisition.getStatus();//获取是否允许领料状态
|
|
|
projectDefinition = pickingRequisition.getProjectDefinition();//获得项目定义号
|
|
|
if (status>0){//如果状态大于0.说明 不一致。
|
|
@@ -312,6 +319,42 @@ public class PickingInfo {
|
|
|
}
|
|
|
return projectAcquisitions;
|
|
|
}
|
|
|
+ //得到最后一次项目中心领导审核时间:去重
|
|
|
+ public static List<Acquisition> getSureFindListDate(List<Acquisition> findListDate){
|
|
|
+ List<Acquisition> projectAcquisitions = new ArrayList<Acquisition>();
|
|
|
+ Acquisition acquisition1 = null;
|
|
|
+ boolean flag = false;
|
|
|
+ for (Acquisition acquisition:findListDate){
|
|
|
+ flag =true;
|
|
|
+ for (Acquisition acquisition2:projectAcquisitions){
|
|
|
+ if (acquisition2.getProjectId().equals(acquisition.getProjectId())){
|
|
|
+ if(null!=acquisition.getManagerTime()&&null!=acquisition2.getManagerTime()){
|
|
|
+ long days1 = acquisition.getManagerTime().getTime();//项目领导审核时间
|
|
|
+ long days2 = acquisition2.getManagerTime().getTime();
|
|
|
+ if (days1>days2){
|
|
|
+ acquisition2.setManagerTime(acquisition.getManagerTime());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if (null!=acquisition.getManagerTime()){
|
|
|
+ acquisition2.setManagerTime(acquisition.getManagerTime());
|
|
|
+ }
|
|
|
+ if (null!=acquisition2.getManagerTime()){
|
|
|
+ acquisition2.setManagerTime(acquisition2.getManagerTime());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ flag = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (flag){
|
|
|
+ acquisition1 = new Acquisition();
|
|
|
+ acquisition1.setId(acquisition.getId());
|
|
|
+ acquisition1.setProjectId(acquisition.getProjectId());
|
|
|
+ acquisition1.setManagerTime(acquisition.getManagerTime());
|
|
|
+ projectAcquisitions.add(acquisition1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return projectAcquisitions;
|
|
|
+ }
|
|
|
// /*
|
|
|
// 与时间进行对比得到list集合 得到存在项目(不一致且超过三天的)
|
|
|
// */
|