|
@@ -22,6 +22,7 @@ import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
@@ -46,31 +47,47 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
|
private ExpenseSheetMapper expenseSheetMapper;
|
|
|
@Resource
|
|
|
private ExpenseItemService expenseItemService;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private ExpenseItemMapper expenseItemMapper;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public HttpRespMsg add(ExpenseSheet sheet, String items, String userId) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
|
- //检查code不能重复
|
|
|
- Integer num = expenseSheetMapper.selectCount(new QueryWrapper<ExpenseSheet>().eq("code", sheet.getCode()));
|
|
|
- if (num > 0) {
|
|
|
- msg.setError("票据编号已存在");
|
|
|
- return msg;
|
|
|
+ boolean isNew = false;
|
|
|
+ if (sheet.getId() == null) {
|
|
|
+ isNew = true;
|
|
|
+ //检查code不能重复
|
|
|
+ Integer num = expenseSheetMapper.selectCount(new QueryWrapper<ExpenseSheet>().eq("code", sheet.getCode()));
|
|
|
+ if (num > 0) {
|
|
|
+ msg.setError("票据编号已存在");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|
|
|
JSONArray array = JSONArray.parseArray(items);
|
|
|
sheet.setOwnerId(userId);
|
|
|
User user = userMapper.selectById(userId);
|
|
|
sheet.setOwnerName(user.getName());
|
|
|
sheet.setCompanyId(user.getCompanyId());
|
|
|
- expenseSheetMapper.insert(sheet);
|
|
|
+ if (isNew) {
|
|
|
+ expenseSheetMapper.insert(sheet);
|
|
|
+ } else {
|
|
|
+ expenseSheetMapper.updateById(sheet);
|
|
|
+ }
|
|
|
+
|
|
|
List<ExpenseItem> itemList = new ArrayList<ExpenseItem>();
|
|
|
+ if (array != null) {
|
|
|
+ for (int i=0;i<array.size(); i++) {
|
|
|
+ JSONObject obj = array.getJSONObject(i);
|
|
|
+ ExpenseItem expenseItem = JSONObject.toJavaObject(obj, ExpenseItem.class);
|
|
|
+ expenseItem.setExpenseId(sheet.getId());
|
|
|
+ itemList.add(expenseItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- for (int i=0;i<array.size(); i++) {
|
|
|
- JSONObject obj = array.getJSONObject(i);
|
|
|
- ExpenseItem expenseItem = JSONObject.toJavaObject(obj, ExpenseItem.class);
|
|
|
- expenseItem.setExpenseId(sheet.getId());
|
|
|
- itemList.add(expenseItem);
|
|
|
+ //对于修改的情况,要删除之前的
|
|
|
+ if (!isNew) {
|
|
|
+ expenseItemService.remove(new QueryWrapper<ExpenseItem>().eq("expense_id", sheet.getId()));
|
|
|
}
|
|
|
expenseItemService.saveBatch(itemList);
|
|
|
|
|
@@ -134,4 +151,14 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
|
msg.data = format+start;
|
|
|
return msg;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg getDetail(Integer id) {
|
|
|
+ ExpenseSheet expenseSheet = expenseSheetMapper.selectById(id);
|
|
|
+ List<ExpenseItem> list = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().eq("expense_id", id));
|
|
|
+ expenseSheet.setInvoiceList(list);
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ msg.data = expenseSheet;
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|