增加 处罚

bgs_it_pm
wanghao 4 months ago
parent e8626f43fc
commit c3b9b7f3e1

@ -10,7 +10,7 @@ android {
applicationId "com.example.beijing_daxing" applicationId "com.example.beijing_daxing"
minSdk 24 minSdk 24
targetSdk 33 targetSdk 33
versionCode 5 versionCode 7
versionName "1.5" versionName "1.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

@ -11,7 +11,7 @@
"type": "SINGLE", "type": "SINGLE",
"filters": [], "filters": [],
"attributes": [], "attributes": [],
"versionCode": 5, "versionCode": 7,
"versionName": "1.5", "versionName": "1.5",
"outputFile": "app-release.apk" "outputFile": "app-release.apk"
} }

@ -53,14 +53,14 @@
android:name=".CheckListActivity" android:name=".CheckListActivity"
android:exported="false" /> android:exported="false" />
<receiver <!-- <receiver-->
android:name=".base.BaseActivity$MyReceiver" <!-- android:name=".base.BaseActivity.MyReceiver"-->
android:enabled="true" <!-- android:enabled="true"-->
android:exported="true"> <!-- android:exported="true">-->
<intent-filter> <!-- <intent-filter>-->
<action android:name="android.rfid.FUN_KEY" /> <!-- <action android:name="android.rfid.FUN_KEY" />-->
</intent-filter> <!-- </intent-filter>-->
</receiver> <!-- </receiver>-->
<activity <activity
android:name=".FpOutActivity" android:name=".FpOutActivity"

@ -42,7 +42,7 @@ public class HomePageActivity extends AppCompatActivity {
try { try {
MyApplication.getApplication().setUhfrManager(instance); MyApplication.getApplication().setUhfrManager(instance);
instance.setRegion(Reader.Region_Conf.RG_PRC); instance.setRegion(Reader.Region_Conf.RG_PRC);
instance.setPower(33,33); // instance.setPower(33,33);
instance.setGen2session(false); instance.setGen2session(false);
String epcConfig = getIntent().getStringExtra("epcConfig"); String epcConfig = getIntent().getStringExtra("epcConfig");
boolean b = instance.setInventoryFilter(Tools.HexString2Bytes(epcConfig), 1, 2, true); boolean b = instance.setInventoryFilter(Tools.HexString2Bytes(epcConfig), 1, 2, true);

@ -25,7 +25,7 @@ public class MainActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
loginVm = new LoginVm(); loginVm = new LoginVm();
String ipConfig = SharedPreferencesUtils.getstring("ipConfig", ""); String ipConfig = SharedPreferencesUtils.getstring("ipConfig", "119.45.202.115:8091");
loginVm.setIpConfig(ipConfig); loginVm.setIpConfig(ipConfig);
String epcConfig = SharedPreferencesUtils.getstring("epcConfig", ""); String epcConfig = SharedPreferencesUtils.getstring("epcConfig", "");
loginVm.setEpcConfig(epcConfig); loginVm.setEpcConfig(epcConfig);

@ -3,9 +3,11 @@ package com.example.beijing_daxing;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast; import android.widget.Toast;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ObservableBoolean;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder; import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener; import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
@ -19,16 +21,20 @@ import com.example.beijing_daxing.been.PmBasePersonInfo;
import com.example.beijing_daxing.been.PmRecordPenalty; import com.example.beijing_daxing.been.PmRecordPenalty;
import com.example.beijing_daxing.databinding.ActivitySelectPersonInfoBinding; import com.example.beijing_daxing.databinding.ActivitySelectPersonInfoBinding;
import com.example.beijing_daxing.dialog.LookPictureDialog; import com.example.beijing_daxing.dialog.LookPictureDialog;
import com.example.beijing_daxing.dialog.PersonPenaltyDialog;
import com.example.beijing_daxing.dialog.TipsDialog;
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;
import com.lzy.okgo.model.Response; import com.lzy.okgo.model.Response;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import okhttp3.RequestBody; import okhttp3.RequestBody;
@ -40,17 +46,37 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
private List<List<String>> list2; private List<List<String>> list2;
private OptionsPickerView opv; private OptionsPickerView opv;
private List<PmBasePenaltyType> list; private List<PmBasePenaltyType> list;
private ObservableBoolean state = new ObservableBoolean(false);
private PmRecordPenalty recordPenalty; private PmRecordPenalty recordPenalty;
private TipsDialog tipsDialog;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private PersonPenaltyDialog personPenaltyDialog;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_select_person_info); binding = DataBindingUtil.setContentView(this, R.layout.activity_select_person_info);
tipsDialog = new TipsDialog(this);
initSan();
pictureDialog = new LookPictureDialog(this); pictureDialog = new LookPictureDialog(this);
opv= new OptionsPickerBuilder(this, this).build(); opv = new OptionsPickerBuilder(this, this).build();
initCheckList(); initCheckList();
recordPenalty=new PmRecordPenalty(); recordPenalty = new PmRecordPenalty();
recordPenalty.setCreateBy(SharedPreferencesUtils.getstring("user","")); recordPenalty.setCreateBy(SharedPreferencesUtils.getstring("user", ""));
binding.setState(state);
binding.checkState.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
state.set(position == 1);
recordPenalty.setCheckState(position + "");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
personPenaltyDialog = new PersonPenaltyDialog(this);
} }
private void initCheckList() { private void initCheckList() {
@ -61,7 +87,8 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
super.onSuccess(response); super.onSuccess(response);
MyResult body = response.body(); MyResult body = response.body();
if (body.getCode() == 0) { if (body.getCode() == 0) {
list = gson.fromJson(body.getJson(), new TypeToken<List<PmBasePenaltyType>>() { list =
gson.fromJson(body.getJson(), new TypeToken<List<PmBasePenaltyType>>() {
}.getType()); }.getType());
list1 = new ArrayList<>(); list1 = new ArrayList<>();
list2 = new ArrayList<>(); list2 = new ArrayList<>();
@ -80,7 +107,7 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
String tag = map.get(parentId); String tag = map.get(parentId);
int i = list1.indexOf(tag); int i = list1.indexOf(tag);
String penaltyTypeCode = penaltyType.getPenaltyTypeCode(); String penaltyTypeCode = penaltyType.getPenaltyTypeCode();
list2.get(i).add(penaltyTypeCode+"-"+penaltyInfo); list2.get(i).add(penaltyTypeCode + "-" + penaltyInfo);
} }
}); });
opv.setPicker(list1, list2, null); opv.setPicker(list1, list2, null);
@ -104,14 +131,42 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
super.onSuccess(response); super.onSuccess(response);
MyResult body = response.body(); MyResult body = response.body();
if (body.getCode() == 0) { if (body.getCode() == 0) {
personInfo = gson.fromJson(body.getJson(), PmBasePersonInfo.class); personInfo = gson.fromJson(body.getJson(), PmBasePersonInfo.class);
String joinDate = personInfo.getJoinDate();
if (joinDate != null) {
Date currentDate = new Date();
String nowDate = sdf.format(currentDate);
Date date = null;
try {
date = sdf.parse(joinDate);
} catch (ParseException e) {
throw new RuntimeException(e);
}
// 优化后的日期判断逻辑
if (currentDate.after(date) && !nowDate.equals(joinDate)) {
tipsDialog.showImage(false, "人员已过期");
} else {
tipsDialog.showImage(true, "人员有效");
}
}
recordPenalty.setBasePersonId(personInfo.getBasePersonId()); recordPenalty.setBasePersonId(personInfo.getBasePersonId());
recordPenalty.setEpc(bytes2HexString);
binding.setPersonInfo(personInfo); binding.setPersonInfo(personInfo);
Glide.with(SelectPersonInfoActivity.this).load(url.replace("/api", "") + personInfo.getPhotoPath()).into(binding.selectInfoPhoto); Glide.with(SelectPersonInfoActivity.this).load(url.replace("/api", "") + personInfo.getPhotoPath()).into(binding.selectInfoPhoto);
return;
personPenaltyDialog.setList(personInfo.getPmRecordPenalties());
} else {
tipsDialog.showImage(false, "后台管理员未录入信息");
if (personInfo != null) {
personInfo.clearUi();
} }
Toast.makeText(SelectPersonInfoActivity.this, body.getMsg(), Toast.LENGTH_SHORT).show(); recordPenalty.setBasePersonId(null);
personInfo = null;
}
} }
}); });
} }
@ -134,6 +189,10 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
} }
public void selectInfoSubmit(View view) { public void selectInfoSubmit(View view) {
if (recordPenalty.getBasePersonId() ==null){
Toast.makeText(this, "请先查询人员信息", Toast.LENGTH_SHORT).show();
return;
}
OkGo.<MyResult>post(url + "/insertRrecordPenalty") OkGo.<MyResult>post(url + "/insertRrecordPenalty")
.upRequestBody(RequestBody.create(JSON, gson.toJson(recordPenalty))) .upRequestBody(RequestBody.create(JSON, gson.toJson(recordPenalty)))
.execute(new MyRecultCall(dialog, this) { .execute(new MyRecultCall(dialog, this) {
@ -155,7 +214,7 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
String type = list1.get(options1); String type = list1.get(options1);
String s = list2.get(options1).get(options2); String s = list2.get(options1).get(options2);
binding.selectPenalty.setText(s); binding.selectPenalty.setText(s);
s = s.substring(s.indexOf("-")+1,s.length()); s = s.substring(s.indexOf("-") + 1, s.length());
Log.e("TAG", "onOptionsSelect:" + type + ", " + s); Log.e("TAG", "onOptionsSelect:" + type + ", " + s);
PmBasePenaltyType penaltyType = new PmBasePenaltyType(); PmBasePenaltyType penaltyType = new PmBasePenaltyType();
penaltyType.setPenaltyInfo(s); penaltyType.setPenaltyInfo(s);
@ -168,4 +227,16 @@ public class SelectPersonInfoActivity extends BaseActivity implements OnOptionsS
recordPenalty.setPenaltyAmount(penaltyType1.getPenaltyAmount()); recordPenalty.setPenaltyAmount(penaltyType1.getPenaltyAmount());
} }
public void checkPenalty(View view) {
if (personInfo == null) {
Toast.makeText(this, "请先查询人员信息", Toast.LENGTH_SHORT).show();
return;
}
if (personInfo.getPenaltyCount() == 0){
Toast.makeText(this, "该人员暂无处罚记录", Toast.LENGTH_SHORT).show();
return;
}
personPenaltyDialog.show();
}
} }

@ -0,0 +1,69 @@
package com.example.beijing_daxing.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.example.beijing_daxing.BR;
import com.example.beijing_daxing.R;
import com.example.beijing_daxing.base.AdapterClickCall;
import com.example.beijing_daxing.been.PmRecordPenalty;
import com.example.beijing_daxing.been.Stock;
import com.example.beijing_daxing.databinding.ItemCheckBinding;
import com.example.beijing_daxing.databinding.ItemPPBinding;
import java.util.List;
/**
* @author wanghao
* @date 2024/1/19 14:32
*/
public class PersonPenaltyAdapter extends RecyclerView.Adapter<PersonPenaltyAdapter.MyViewHoder> {
private Context context;
private List<PmRecordPenalty> list;
private LayoutInflater inflater;
public PersonPenaltyAdapter(Context context, AdapterClickCall call) {
this.context = context;
inflater = LayoutInflater.from(context);
}
public void setList(List<PmRecordPenalty> list) {
this.list = list;
}
@Override
public MyViewHoder onCreateViewHolder(ViewGroup parent, int viewType) {
ItemPPBinding binding = DataBindingUtil.inflate(inflater, R.layout.item_p_p, parent, false);
return new MyViewHoder(binding);
}
@Override
public void onBindViewHolder(MyViewHoder holder, int position) {
var binding = holder.getBinding();
binding.setVariable(BR.item,list.get(position));
}
@Override
public int getItemCount() {
return list==null?0:list.size();
}
public class MyViewHoder extends RecyclerView.ViewHolder {
private ItemPPBinding binding;
public MyViewHoder( ItemPPBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
public ItemPPBinding getBinding() {
return binding;
}
}
}

@ -28,6 +28,7 @@ import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import com.example.beijing_daxing.R; import com.example.beijing_daxing.R;
import com.example.beijing_daxing.uitls.SharedPreferencesUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.handheld.uhfr.UHFRManager; import com.handheld.uhfr.UHFRManager;
import com.uhf.api.cls.Reader; import com.uhf.api.cls.Reader;
@ -76,13 +77,15 @@ public class BaseActivity extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
gson = new Gson(); gson = new Gson();
initDialog(); initDialog();
initSan();
broadcastIntent = new Intent("android.rfid.FUN_KEY"); broadcastIntent = new Intent("android.rfid.FUN_KEY");
broadcastIntent.putExtra("keydown", false); broadcastIntent.putExtra("keydown", false);
} }
private void initSan() { public void initSan() {
uhfLongerManager = MyApplication.getApplication().getUhfrManager(); uhfLongerManager = MyApplication.getApplication().getUhfrManager();
int powerIn = SharedPreferencesUtils.getInt("powerIn", 33);
uhfLongerManager.setPower(powerIn, powerIn);
myReceiver = new MyReceiver(); myReceiver = new MyReceiver();
IntentFilter intentFilter = new IntentFilter(); IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.rfid.FUN_KEY"); intentFilter.addAction("android.rfid.FUN_KEY");
@ -92,7 +95,6 @@ public class BaseActivity extends AppCompatActivity {
} }
// 1- 读取EPC // 1- 读取EPC
public void readEPC(int lenth) { public void readEPC(int lenth) {
byte[] rdata = new byte[lenth]; byte[] rdata = new byte[lenth];
@ -143,9 +145,12 @@ public class BaseActivity extends AppCompatActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (myReceiver != null) {
unregisterReceiver(myReceiver); unregisterReceiver(myReceiver);
} }
}
public void sanRfid(List<Reader.TAGINFO> epcs) { public void sanRfid(List<Reader.TAGINFO> epcs) {
} }
@ -243,7 +248,7 @@ public class BaseActivity extends AppCompatActivity {
var keydown = intent.getBooleanExtra("keydown", false); var keydown = intent.getBooleanExtra("keydown", false);
Log.e("TAG", "接收到广播:" + keydown); Log.e("TAG", "接收到广播:" + keydown);
if (!keydown) { if (!keydown) {
readEPC(6); readEPC(12);
} }
} }
} }

@ -1,12 +1,16 @@
package com.example.beijing_daxing.been; package com.example.beijing_daxing.been;
import androidx.databinding.BaseObservable;
import java.util.List;
/** /**
* pm_base_person_info * pm_base_person_info
* *
* @author ruoyi * @author ruoyi
* @date 2025-11-26 * @date 2025-11-26
*/ */
public class PmBasePersonInfo { public class PmBasePersonInfo extends BaseObservable {
/** /**
* *
@ -62,6 +66,18 @@ public class PmBasePersonInfo {
*/ */
private String academicQualification; private String academicQualification;
private List<PmRecordPenalty> pmRecordPenalties;
private int penaltyCount;
public int getPenaltyCount() {
penaltyCount = pmRecordPenalties==null || pmRecordPenalties.isEmpty() ? 0 : pmRecordPenalties.size();
return penaltyCount;
}
// public void setPenaltyCount(int penaltyCount) {
// this.penaltyCount = penaltyCount;
// }
public Long getBasePersonId() { public Long getBasePersonId() {
return basePersonId; return basePersonId;
} }
@ -141,5 +157,21 @@ public class PmBasePersonInfo {
public void setAcademicQualification(String academicQualification) { public void setAcademicQualification(String academicQualification) {
this.academicQualification = academicQualification; this.academicQualification = academicQualification;
} }
public List<PmRecordPenalty> getPmRecordPenalties() {
return pmRecordPenalties;
}
public void setPmRecordPenalties(List<PmRecordPenalty> pmRecordPenalties) {
this.pmRecordPenalties = pmRecordPenalties;
notifyChange();
}
public void clearUi() {
setEmployeeId(null);
setPeopleName(null);
setDriverCode(null);
setJoinDate(null);
setPhotoPath(null);
notifyChange();
}
} }

@ -51,6 +51,30 @@ public class PmRecordPenalty {
private String processState; private String processState;
private String createBy; private String createBy;
private String createTime;
private String checkState;
private String epc;
public String getCreateTime() {
return createTime;
}
public String getEpc() {
return epc;
}
public void setEpc(String epc) {
this.epc = epc;
}
public String getCheckState() {
return checkState;
}
public void setCheckState(String checkState) {
this.checkState = checkState;
}
public String getCreateBy() { public String getCreateBy() {
return createBy; return createBy;

@ -0,0 +1,45 @@
package com.example.beijing_daxing.dialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import androidx.databinding.DataBindingUtil;
import com.example.beijing_daxing.R;
import com.example.beijing_daxing.adapter.PersonPenaltyAdapter;
import com.example.beijing_daxing.been.PmRecordPenalty;
import com.example.beijing_daxing.databinding.DialogPersonPenaltyBinding;
import java.util.List;
public class PersonPenaltyDialog extends Dialog {
private Context context;
private DialogPersonPenaltyBinding binding;
private PersonPenaltyAdapter adapter;
private List<PmRecordPenalty> list;
public void setList(List<PmRecordPenalty> list) {
this.list = list;
adapter.setList(list);
adapter.notifyDataSetChanged();
}
public PersonPenaltyDialog(Context context) {
super(context, R.style.dialog);
this.context = context;
adapter = new PersonPenaltyAdapter(context, null);
binding =
DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.dialog_person_penalty, null, false);
setContentView(binding.getRoot());
binding.setAdapter(adapter);
binding.dialogDismiss.setOnClickListener(v -> dismiss());
}
}

@ -0,0 +1,48 @@
package com.example.beijing_daxing.dialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.example.beijing_daxing.R;
/**
* Created by wangh on 2020/10/10-14:57
*/
public class TipsDialog extends Dialog {
public TextView textView, button;
private ImageView imageView;
public TipsDialog(@NonNull Context context) {
super(context, R.style.dialog);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_tip);
imageView = findViewById(R.id.tip_image);
textView = findViewById(R.id.tip_tip);
findViewById(R.id.dialog_no).setOnClickListener(v -> dismiss());
}
public void showImage(boolean imageState, String tip) {
show();
if (imageState) {
imageView.setImageResource(R.mipmap.dialog_success);
} else {
imageView.setImageResource(R.mipmap.dialog_failure);
}
textView.setText(tip);
}
}

@ -10,8 +10,7 @@ public class LoginVm extends BaseObservable {
private String name; private String name;
private String pass; private String pass;
private boolean remember; private boolean remember;
private String ipConfig ;
private String ipConfig;
private String epcConfig; private String epcConfig;
public String getIpConfig() { public String getIpConfig() {

@ -104,7 +104,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:gravity="center" android:gravity="center"
android:hint="输入RFID 8位前缀" android:hint="输入RFID过滤前缀"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:text="@={user.epcConfig}" /> android:text="@={user.epcConfig}" />

@ -7,6 +7,10 @@
<variable <variable
name="personInfo" name="personInfo"
type="com.example.beijing_daxing.been.PmBasePersonInfo" /> type="com.example.beijing_daxing.been.PmBasePersonInfo" />
<variable
name="state"
type="androidx.databinding.ObservableBoolean" />
<import type="android.view.View"/>
</data> </data>
<LinearLayout <LinearLayout
@ -153,8 +157,32 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
android:background="@color/white"
android:layout_marginEnd="8dp"
android:layout_marginTop="10dp"> android:layout_marginTop="10dp">
<TextView
style="@style/info_text"
android:layout_width="110dp"
android:layout_height="45dp"
android:layout_gravity="center"
android:background="@color/bg1"
android:text="查询结果:" />
<Spinner
android:id="@+id/check_state"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textAlignment="center"
android:entries="@array/checkState1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="10dp"
android:visibility="@{state ? View.VISIBLE:View.GONE}">
<TextView <TextView
style="@style/info_text" style="@style/info_text"
android:layout_width="110dp" android:layout_width="110dp"
@ -169,15 +197,44 @@
android:layout_height="45dp" android:layout_height="45dp"
android:layout_gravity="center" android:layout_gravity="center"
android:drawableEnd="@mipmap/icon_select" android:drawableEnd="@mipmap/icon_select"
android:drawablePadding="12dp"
android:onClick="checkSelect" android:onClick="checkSelect"
android:paddingEnd="8dp"/> android:paddingEnd="16dp" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<Button
style="@style/button_style1"
android:layout_width="match_parent"
android:layout_height="55dp"
android:onClick="checkPenalty"
android:backgroundTint="@color/yellow"
android:layout_margin="5dp"
android:text="查看" />
<TextView
android:layout_width="38dp"
android:layout_height="wrap_content"
android:text='@{String.valueOf(personInfo.penaltyCount)}'
android:textSize="20sp"
android:textColor="@color/white"
android:gravity="center"
android:background="@drawable/state_y_bg"
android:padding="5dp" />
</FrameLayout>
<Button <Button
style="@style/button_style" style="@style/button_style"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="55dp" android:layout_height="55dp"
android:layout_margin="20dp"
android:onClick="selectInfoSubmit" android:onClick="selectInfoSubmit"
android:text="处罚提交" /> android:text="提交" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<variable <variable
name="vm" name="vm"
type="com.example.beijing_daxing.vm.PowerData" /> type="com.example.beijing_daxing.vm.PowerData" />
@ -32,7 +32,7 @@
android:layout_width="110dp" android:layout_width="110dp"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_gravity="center" android:layout_gravity="center"
android:text="入库功率:" /> android:text="功率:" />
<EditText <EditText
style="@style/san_text" style="@style/san_text"
@ -46,7 +46,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:orientation="horizontal"> android:orientation="horizontal"
android:visibility="gone">
<TextView <TextView
style="@style/info_text" style="@style/info_text"
@ -64,32 +65,33 @@
</LinearLayout> </LinearLayout>
<!-- <LinearLayout--> <!-- <LinearLayout-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
<!-- android:layout_height="45dp"--> <!-- android:layout_height="45dp"-->
<!-- android:layout_marginTop="10dp"--> <!-- android:layout_marginTop="10dp"-->
<!-- android:orientation="horizontal">--> <!-- android:orientation="horizontal">-->
<!-- <TextView--> <!-- <TextView-->
<!-- style="@style/info_text"--> <!-- style="@style/info_text"-->
<!-- android:layout_width="110dp"--> <!-- android:layout_width="110dp"-->
<!-- android:layout_height="45dp"--> <!-- android:layout_height="45dp"-->
<!-- android:layout_gravity="center"--> <!-- android:layout_gravity="center"-->
<!-- android:text="盘点功率:" />--> <!-- android:text="盘点功率:" />-->
<!-- <EditText--> <!-- <EditText-->
<!-- style="@style/san_text"--> <!-- style="@style/san_text"-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"--> <!-- android:layout_height="match_parent"-->
<!-- android:layout_gravity="center"--> <!-- android:layout_gravity="center"-->
<!-- android:text='@={vm.powerStockCheck+""}' />--> <!-- android:text='@={vm.powerStockCheck+""}' />-->
<!-- </LinearLayout>--> <!-- </LinearLayout>-->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:orientation="horizontal"> android:orientation="horizontal"
android:visibility="gone">
<TextView <TextView
style="@style/info_text" style="@style/info_text"
@ -109,7 +111,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_marginTop="10dp"> android:layout_marginTop="10dp"
android:visibility="gone">
<TextView <TextView
style="@style/info_text" style="@style/info_text"
@ -129,7 +132,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_marginTop="10dp"> android:layout_marginTop="10dp"
android:visibility="gone">
<TextView <TextView
style="@style/info_text" style="@style/info_text"
@ -147,25 +151,25 @@
</LinearLayout> </LinearLayout>
<!-- <LinearLayout--> <!-- <LinearLayout-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
<!-- android:layout_height="45dp"--> <!-- android:layout_height="45dp"-->
<!-- android:layout_marginTop="10dp">--> <!-- android:layout_marginTop="10dp">-->
<!-- <TextView--> <!-- <TextView-->
<!-- style="@style/info_text"--> <!-- style="@style/info_text"-->
<!-- android:layout_width="110dp"--> <!-- android:layout_width="110dp"-->
<!-- android:layout_height="45dp"--> <!-- android:layout_height="45dp"-->
<!-- android:layout_gravity="center"--> <!-- android:layout_gravity="center"-->
<!-- android:text="废品出库:" />--> <!-- android:text="废品出库:" />-->
<!-- <EditText--> <!-- <EditText-->
<!-- style="@style/san_text"--> <!-- style="@style/san_text"-->
<!-- android:layout_width="match_parent"--> <!-- android:layout_width="match_parent"-->
<!-- android:layout_height="45dp"--> <!-- android:layout_height="45dp"-->
<!-- android:layout_gravity="center"--> <!-- android:layout_gravity="center"-->
<!-- android:text='@={vm.powerScrapOut+""}' />--> <!-- android:text='@={vm.powerScrapOut+""}' />-->
<!-- </LinearLayout>--> <!-- </LinearLayout>-->
<Button <Button

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="adapter"
type="com.example.beijing_daxing.adapter.PersonPenaltyAdapter" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/info_text_bg"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/picture_recyclerview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:padding="12dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:adapter="@{adapter}" />
<Button
android:id="@+id/dialogDismiss"
style="@style/button_style2"
android:layout_width="150dp"
android:layout_height="48dp"
android:layout_margin="10dp"
android:layout_gravity="center"
android:text="关闭" />
</LinearLayout>
</layout>

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:layout_height="230dp"
android:background="@drawable/san_text_bg"
android:orientation="vertical">
<ImageView
android:id="@+id/tip_image"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginTop="10dp"/>
<TextView
android:id="@+id/tip_tip"
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_marginTop="13dp"
android:gravity="center"
android:text="提示"
android:textColor="@color/black"
android:textSize="18sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="10dp"
android:background="#e1e1e1" />
<TextView
android:id="@+id/dialog_no"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="我知道了"
android:textColor="@color/blue"
android:textSize="20sp" />
</LinearLayout>

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="item"
type="com.example.beijing_daxing.been.PmRecordPenalty" />
<import type="android.view.View" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="#EAEDFD"
android:orientation="vertical"
android:padding="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<TextView
style="@style/item_text_style"
android:layout_width="80dp"
android:layout_height="match_parent"
android:text="出发类型:" />
<TextView
style="@style/item_text_style"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@{item.penaltyType}" />
<TextView
style="@style/item_text_style"
android:layout_width="80dp"
android:layout_height="match_parent"
android:text="处罚说明:" />
<TextView
style="@style/item_text_style"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@{item.penaltyInfo}" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/white"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginTop="2dp"
android:orientation="horizontal">
<TextView
style="@style/item_text_style"
android:layout_width="80dp"
android:layout_height="match_parent"
android:text="处罚时间:" />
<TextView
style="@style/item_text_style"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="@{item.createTime}" />
</LinearLayout>
</LinearLayout>
</layout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -21,6 +21,13 @@
<item>橡胶损坏</item> <item>橡胶损坏</item>
<item>其他</item> <item>其他</item>
</string-array> </string-array>
<string-array name="checkState1">
<item>通过</item>
<item>处罚</item>
</string-array>
<string-array name="checkState"> <string-array name="checkState">
<item>全部</item> <item>全部</item>
<item>待完成</item> <item>待完成</item>

Loading…
Cancel
Save