修改 巡检

master
wanghao 5 months ago
parent 51444dd042
commit 2fb4d31109

@ -89,7 +89,7 @@ public class BFActivity extends BaseActivity implements TakePictureDialog.dialog
} }
public void bfTackPhoto(View view) { public void bfTackPhoto(View view) {
takePhoto(); takePhoto(false,"");
} }
public void bfShowPhoto(View view) { public void bfShowPhoto(View view) {

@ -43,6 +43,7 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
private ActivityCheckBinding binding; private ActivityCheckBinding binding;
private CheckAdapter adapter; private CheckAdapter adapter;
private List<Stock> list; private List<Stock> list;
private List<Stock> list1;
private List<String> selectList; private List<String> selectList;
private ObservableBoolean state; private ObservableBoolean state;
private ObservableBoolean checkState; private ObservableBoolean checkState;
@ -51,7 +52,7 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
private long id; private long id;
private long inspectionId; private long inspectionId;
private int backIndex; private int backIndex;
private String code;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -76,10 +77,11 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
} }
});*/ });*/
Intent intent = getIntent(); Intent intent = getIntent();
id = intent.getLongExtra("id", 0); id = intent.getLongExtra("id", 0);
backIndex = intent.getIntExtra("backIndex", 0); backIndex = intent.getIntExtra("backIndex", 0);
inspectionId = intent.getLongExtra("inspectionId", 0); inspectionId = intent.getLongExtra("inspectionId", 0);
String code = intent.getStringExtra("code");
code = intent.getStringExtra("code");
initRequest(code); initRequest(code);
inputDialog = new InPutDialog(this); inputDialog = new InPutDialog(this);
inputDialog.setInPutDialogCall(this); inputDialog.setInPutDialogCall(this);
@ -99,12 +101,13 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
if (body.getCode() == 0) { if (body.getCode() == 0) {
list = gson.fromJson(body.getData().toString(), new TypeToken<List<Stock>>() { list = gson.fromJson(body.getData().toString(), new TypeToken<List<Stock>>() {
}.getType()); }.getType());
if (list == null || list.isEmpty()) { /* if (list == null || list.isEmpty()) {
Toast.makeText(CheckActivity.this, "没有维护巡检区域", Toast.LENGTH_SHORT).show(); Toast.makeText(CheckActivity.this, "没有维护巡检区域", Toast.LENGTH_SHORT).show();
return; return;
} }*/
adapter.setList(list); list1 = new ArrayList<>();
adapter.notifyDataSetChanged(); adapter.setList(list1);
// adapter.notifyDataSetChanged();
return; return;
} }
Toast.makeText(CheckActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(CheckActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show();
@ -121,17 +124,29 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
public void sanRfid(List<Reader.TAGINFO> epcs) { public void sanRfid(List<Reader.TAGINFO> epcs) {
epcs.forEach(t -> { epcs.forEach(t -> {
var epc = Tools.Bytes2HexString(t.EpcId, t.EpcId.length); var epc = Tools.Bytes2HexString(t.EpcId, t.EpcId.length);
if (tagList.contains(t)) { try {
if (!epc.substring(0,8).equals("53574C44")) return;
}catch (Exception e){
return; return;
} }
tagList.add(epc);
var stock = new Stock(); if (tagList.contains(epc)) {
stock.setEpcCode(HexAscii.hex2Str(epc)); return;
var index = list.indexOf(stock);
if (index != -1) {
list.get(index).setState("正常");
} }
tagList.add(epc);
String s = HexAscii.hex2Str(epc);
var stock = new Stock();
stock.setEpcCode(s);
stock.setLocationCode(code);
stock.setState("正常");
list1.add(stock);
// var stock = new Stock();
// stock.setEpcCode(HexAscii.hex2Str(epc));
// var index = list.indexOf(stock);
// if (index != -1) {
// list.get(index).setState("正常");
// }
}); });
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
@ -139,18 +154,17 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
// 完成巡检,提交数据 // 完成巡检,提交数据
public void check_submit(View view) { public void check_submit(View view) {
var type = list.stream().anyMatch(t -> t.getState().equals("未检")); // var type = list.stream().anyMatch(t -> t.getState().equals("未检"));
if (type) { // if (type) {
if (list.size()>list1.size()) {
Toast.makeText(this, "未检完全部轮挡,不允许提交", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "未检完全部轮挡,不允许提交", Toast.LENGTH_SHORT).show();
return; return;
} }
OkGo.<MyResult>post(url + "/xj/submit").tag(this) OkGo.<MyResult>post(url + "/xj/submit").tag(this).params("tableId", id)
.params("tableId", id) .params("json", gson.toJson(list1))
.params("json", gson.toJson(list)) .params("inspectionId", inspectionId)
.params("inspectionId",inspectionId) .params("user", SharedPreferencesUtils.getstring("user", ""))
.params("user", SharedPreferencesUtils.getstring("user","")) .addFileParams("files", files).execute(new MyRecultCall(dialog, this) {
.addFileParams("files",files)
.execute(new MyRecultCall(dialog, this) {
@Override @Override
public void onSuccess(Response<MyResult> response) { public void onSuccess(Response<MyResult> response) {
super.onSuccess(response); super.onSuccess(response);
@ -227,7 +241,7 @@ public class CheckActivity extends BaseActivity implements AdapterClickCall, InP
// 拍照 // 拍照
public void check_tackPhoto(View view) { public void check_tackPhoto(View view) {
takePhoto(); takePhoto(true, code);
} }
// 显示拍的照片 // 显示拍的照片

@ -21,6 +21,7 @@ import com.example.beijing_daxing.base.MyResult;
import com.example.beijing_daxing.been.CheckTaskInfo; import com.example.beijing_daxing.been.CheckTaskInfo;
import com.example.beijing_daxing.been.Stock; import com.example.beijing_daxing.been.Stock;
import com.example.beijing_daxing.databinding.ActivityCheckListBinding; import com.example.beijing_daxing.databinding.ActivityCheckListBinding;
import com.example.beijing_daxing.dialog.InPutDialog;
import com.example.beijing_daxing.uitls.SharedPreferencesUtils; import com.example.beijing_daxing.uitls.SharedPreferencesUtils;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import com.lzy.okgo.OkGo; import com.lzy.okgo.OkGo;
@ -29,11 +30,13 @@ import com.uhf.api.cls.Reader;
import java.util.List; import java.util.List;
public class CheckListActivity extends BaseActivity implements AdapterClickCall { public class CheckListActivity extends BaseActivity implements CheckListAdapter.AdapterClickCall, InPutDialog.InPutDialogCall {
private CheckListAdapter adapter; private CheckListAdapter adapter;
private List<CheckTaskInfo> list; private List<CheckTaskInfo> list;
private ObservableBoolean createState; private ObservableBoolean createState;
private String[] stateList; private String[] stateList;
private InPutDialog inputDialog;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -43,18 +46,28 @@ public class CheckListActivity extends BaseActivity implements AdapterClickCall
createState = new ObservableBoolean(); createState = new ObservableBoolean();
createState.set(false); createState.set(false);
binding.setState(createState); binding.setState(createState);
stateList = getResources().getStringArray(R.array.checkState); inputDialog = new InPutDialog(this);
binding.checkListState.setOnItemClickListener((parent, view, position, id) -> { inputDialog.setInPutDialogCall(this);
initRequest(stateList[position]); stateList = getResources().getStringArray(R.array.checkState);
binding.checkListState.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String state = stateList[position];
Log.e("TAG", "onItemSelected:" + state);
initRequest(state);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}); });
} }
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
private void initRequest(String state) { private void initRequest(String state) {
OkGo.<MyResult>post(url + "/inspection/selectTask") OkGo.<MyResult>post(url + "/inspection/selectTask")
.params("state", SharedPreferencesUtils.getstring("user", "")) .params("state", state)
.execute(new MyRecultCall(dialog, this) { .execute(new MyRecultCall(dialog, this) {
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
@Override @Override
@ -76,7 +89,6 @@ public class CheckListActivity extends BaseActivity implements AdapterClickCall
} }
public void check_start(View view) { public void check_start(View view) {
OkGo.<MyResult>post(url + "/xj/createTask") OkGo.<MyResult>post(url + "/xj/createTask")
.params("user", SharedPreferencesUtils.getstring("user", "")) .params("user", SharedPreferencesUtils.getstring("user", ""))
@ -97,7 +109,6 @@ public class CheckListActivity extends BaseActivity implements AdapterClickCall
@Override @Override
public void clickItem(int index) { public void clickItem(int index) {
Intent intent = new Intent(this, CheckActivity.class); Intent intent = new Intent(this, CheckActivity.class);
CheckTaskInfo checkTaskInfo = list.get(index); CheckTaskInfo checkTaskInfo = list.get(index);
intent.putExtra("id", checkTaskInfo.getId()); intent.putExtra("id", checkTaskInfo.getId());
intent.putExtra("inspectionId", checkTaskInfo.getInspectionId()); intent.putExtra("inspectionId", checkTaskInfo.getInspectionId());
@ -105,6 +116,12 @@ public class CheckListActivity extends BaseActivity implements AdapterClickCall
intent.putExtra("backIndex", index); intent.putExtra("backIndex", index);
startActivityForResult(intent, 1); startActivityForResult(intent, 1);
} }
private int skipIndex;
@Override
public void clickItemSkip(int index) {
skipIndex=index;
inputDialog.show();
}
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
@Override @Override
@ -114,9 +131,31 @@ public class CheckListActivity extends BaseActivity implements AdapterClickCall
if (requestCode == 1 && data != null) { if (requestCode == 1 && data != null) {
int index = data.getIntExtra("backIndex", 0); int index = data.getIntExtra("backIndex", 0);
Log.e("TAG", "onActivityResult:" + index); Log.e("TAG", "onActivityResult:" + index);
list.get(index).setTaskState("完成"); list.get(index).setTaskState("完成");
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
} }
} }
@Override
public void inPutDialogReculi(String name) {
CheckTaskInfo checkTaskInfo = list.get(skipIndex);
OkGo.<MyResult>post(url + "/inspection/skipTask")
.params("remark", name)
.params("tableId", checkTaskInfo.getId())
.execute(new MyRecultCall(dialog, this) {
@SuppressLint("NotifyDataSetChanged")
@Override
public void onSuccess(Response<MyResult> response) {
super.onSuccess(response);
MyResult body = response.body();
if (body.getCode() == 0) {
checkTaskInfo.setTaskState("跳过");
adapter.notifyDataSetChanged();
}
}
});
inputDialog.dismiss();
}
} }

@ -75,11 +75,11 @@ public class HomePageActivity extends AppCompatActivity {
List<HomeIcon> list = new ArrayList<>(); List<HomeIcon> list = new ArrayList<>();
list.add(new HomeIcon(R.mipmap.home_in1, "轮挡入库", InActivity.class)); list.add(new HomeIcon(R.mipmap.home_in1, "轮挡入库", InActivity.class));
list.add(new HomeIcon(R.mipmap.home_out1, "轮挡领用出库", OutActivity.class)); list.add(new HomeIcon(R.mipmap.home_out1, "轮挡领用出库", OutActivity.class));
list.add(new HomeIcon(R.mipmap.home_store_check, "仓库盘点", StoreCheckActivity.class)); // list.add(new HomeIcon(R.mipmap.home_store_check, "仓库盘点", StoreCheckActivity.class));
list.add(new HomeIcon(R.mipmap.home_check, "轮挡巡检", CheckListActivity.class)); list.add(new HomeIcon(R.mipmap.home_check, "轮挡巡检", CheckListActivity.class));
list.add(new HomeIcon(R.mipmap.home_bf, "轮挡报废", BFActivity.class)); list.add(new HomeIcon(R.mipmap.home_bf, "轮挡报废", BFActivity.class));
list.add(new HomeIcon(R.mipmap.home_in, "废品入库", FpInActivity.class)); list.add(new HomeIcon(R.mipmap.home_in, "废品入库", FpInActivity.class));
list.add(new HomeIcon(R.mipmap.home_out, "废品出库", FpOutActivity.class)); // list.add(new HomeIcon(R.mipmap.home_out, "废品出库", FpOutActivity.class));
list.add(new HomeIcon(R.mipmap.home_out, "功率设置", SetingPowerActivity.class)); list.add(new HomeIcon(R.mipmap.home_out, "功率设置", SetingPowerActivity.class));
var intent = getIntent(); var intent = getIntent();
try { try {

@ -9,15 +9,10 @@ import android.widget.TextView;
import androidx.databinding.BindingAdapter; import androidx.databinding.BindingAdapter;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.example.beijing_daxing.BR; import com.example.beijing_daxing.BR;
import com.example.beijing_daxing.R; import com.example.beijing_daxing.R;
import com.example.beijing_daxing.base.AdapterClickCall;
import com.example.beijing_daxing.been.CheckTaskInfo; import com.example.beijing_daxing.been.CheckTaskInfo;
import com.example.beijing_daxing.been.Stock;
import com.example.beijing_daxing.databinding.ItemCheckBinding;
import com.example.beijing_daxing.databinding.ItemCheckListBinding; import com.example.beijing_daxing.databinding.ItemCheckListBinding;
import java.util.List; import java.util.List;
/** /**
@ -50,6 +45,7 @@ public class CheckListAdapter extends RecyclerView.Adapter<CheckListAdapter.MyVi
var binding = holder.getBinding(); var binding = holder.getBinding();
binding.setVariable(BR.vm, list.get(position)); binding.setVariable(BR.vm, list.get(position));
binding.checkListStart.setOnClickListener(v -> call.clickItem(position)); binding.checkListStart.setOnClickListener(v -> call.clickItem(position));
binding.checkListSkip.setOnClickListener(v -> call.clickItemSkip(position));
binding.executePendingBindings(); binding.executePendingBindings();
} }
@ -78,8 +74,15 @@ public class CheckListAdapter extends RecyclerView.Adapter<CheckListAdapter.MyVi
public static void setCustomBackground(TextView textView, String taskState) { public static void setCustomBackground(TextView textView, String taskState) {
if ("待完成".equals(taskState)) { if ("待完成".equals(taskState)) {
textView.setBackgroundResource(R.drawable.state_n_bg); textView.setBackgroundResource(R.drawable.state_n_bg);
} else { } else if ("已完成".equals(taskState)) {
textView.setBackgroundResource(R.drawable.state_y_bg); textView.setBackgroundResource(R.drawable.state_y_bg);
} else {
textView.setBackgroundResource(R.drawable.state_j_bg);
} }
} }
public interface AdapterClickCall {
void clickItem(int index);
void clickItemSkip(int index);
}
} }

@ -134,9 +134,12 @@ public class BaseActivity extends AppCompatActivity {
public Uri img_uri; public Uri img_uri;
public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); public SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); public SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private boolean addWatermarkType;
private String addWatermarkLocation;
// 拍照 // 拍照
public void takePhoto() { public void takePhoto(boolean type,String location) {
this.addWatermarkType=type;
addWatermarkLocation=location;
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1); ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
} }
@ -177,8 +180,10 @@ public class BaseActivity extends AppCompatActivity {
try { try {
Log.e("TAG", "onActivityResult:" + img_uri.getPath()); Log.e("TAG", "onActivityResult:" + img_uri.getPath());
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(img_uri)); bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(img_uri));
// 添加水印 if (addWatermarkType){
bitmap = addWatermark(bitmap); // 添加水印
bitmap = addWatermark(bitmap);
}
FileOutputStream outputStream = new FileOutputStream(outputImage); FileOutputStream outputStream = new FileOutputStream(outputImage);
bitmap.compress(Bitmap.CompressFormat.JPEG, 50, outputStream); bitmap.compress(Bitmap.CompressFormat.JPEG, 50, outputStream);
takePhotoCall(outputImage, bitmap); takePhotoCall(outputImage, bitmap);
@ -208,7 +213,7 @@ public class BaseActivity extends AppCompatActivity {
LocalDate today = LocalDate.now(ZoneId.systemDefault()); LocalDate today = LocalDate.now(ZoneId.systemDefault());
// 获取当前日期是周几 // 获取当前日期是周几
DayOfWeek dayOfWeek = today.getDayOfWeek(); DayOfWeek dayOfWeek = today.getDayOfWeek();
canvas.drawText("机位:101", 10, h - 400, paint); canvas.drawText("机位:"+addWatermarkLocation, 10, h - 400, paint);
canvas.drawText(dateFormat.format(new Date()), 10, h - 200, paint); canvas.drawText(dateFormat.format(new Date()), 10, h - 200, paint);
canvas.drawText(strings[dayOfWeek.getValue()], 10, h - 20, paint); canvas.drawText(strings[dayOfWeek.getValue()], 10, h - 20, paint);
return result; return result;

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="50dp"/>
<solid android:color="#03A9F4"/>
</shape>

@ -158,7 +158,22 @@
android:background="@color/white" android:background="@color/white"
android:padding="5dp" android:padding="5dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="35dp">
<TextView
android:layout_width="50dp"
android:layout_height="match_parent"
android:text="总数:"
android:gravity="center"/>
<TextView
android:layout_width="100dp"
android:layout_height="match_parent"
android:text=""
android:textColor="@color/blue"
android:gravity="center"/>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"

@ -43,10 +43,10 @@
android:background="@color/white" /> android:background="@color/white" />
<TextView <TextView
android:id="@+id/check_list_start"
style="@style/item_text_style" style="@style/item_text_style"
android:layout_width="115dp" android:layout_width="115dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@{vm.locationCode}" android:text="@{vm.locationCode}"
/> />
@ -70,12 +70,11 @@
android:background="@color/white" /> android:background="@color/white" />
<ImageView <ImageView
android:id="@+id/check_list_start" android:id="@+id/check_list_skip"
style="@style/item_text_style" style="@style/item_text_style"
android:layout_width="63dp" android:layout_width="63dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:src="@mipmap/ic_start" android:src="@mipmap/ic_jump"
android:visibility='@{vm.taskState.equals("待完成")?View.VISIBLE:View.GONE}' android:visibility='@{vm.taskState.equals("待完成")?View.VISIBLE:View.GONE}'
android:padding="5dp"/> android:padding="5dp"/>
</LinearLayout> </LinearLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

@ -25,6 +25,7 @@
<item>全部</item> <item>全部</item>
<item>待完成</item> <item>待完成</item>
<item>已完成</item> <item>已完成</item>
<item>跳过</item>
</string-array> </string-array>
</resources> </resources>
Loading…
Cancel
Save